.login-page[data-v-9a5b0499]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background);padding:16px}.login-card[data-v-9a5b0499]{width:100%;max-width:380px}.login-logo[data-v-9a5b0499]{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:28px}.login-logo h1[data-v-9a5b0499]{font-size:22px;font-weight:600;color:var(--color-text)}.form-group[data-v-9a5b0499]{margin-bottom:16px}.error-msg[data-v-9a5b0499]{color:var(--color-danger);font-size:13px;margin-bottom:14px;padding:8px 12px;background:#ffebee;border-radius:var(--radius)}.login-btn[data-v-9a5b0499]{width:100%;justify-content:center;padding:11px;font-size:15px;gap:8px}.breadcrumb[data-v-866cff47]{display:flex;align-items:center;gap:2px;overflow:hidden;flex:1;min-width:0}.breadcrumb-item[data-v-866cff47]{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:4px;color:var(--color-text-secondary);font-size:14px;font-family:var(--font);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;transition:background var(--transition),color var(--transition);display:flex;align-items:center}.breadcrumb-item[data-v-866cff47]:hover{background:var(--color-border);color:var(--color-text)}.breadcrumb-item.active[data-v-866cff47]{color:var(--color-text);font-weight:500}.breadcrumb-sep[data-v-866cff47]{color:var(--color-border);-webkit-user-select:none;user-select:none;font-size:14px}.toolbar[data-v-9bea5b8b]{display:flex;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 480px){.toolbar-label[data-v-9bea5b8b]{display:none}}.file-list[data-v-bcb00c9d]{display:flex;flex-direction:column;gap:2px}.file-row[data-v-bcb00c9d]{display:grid;grid-template-columns:28px 1fr 80px 110px 108px;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);background:var(--color-surface)}.file-row[data-v-bcb00c9d]:hover{background:var(--color-primary-light)}.file-icon[data-v-bcb00c9d]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-name[data-v-bcb00c9d]{overflow:hidden;min-width:0}.file-name-text[data-v-bcb00c9d]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file-size[data-v-bcb00c9d],.file-date[data-v-bcb00c9d]{color:var(--color-text-secondary);font-size:13px;white-space:nowrap}.file-actions[data-v-bcb00c9d]{display:flex;gap:2px;justify-content:flex-end;opacity:0;transition:opacity var(--transition)}.file-row:hover .file-actions[data-v-bcb00c9d]{opacity:1}.action-btn[data-v-bcb00c9d]{background:none;border:none;cursor:pointer;padding:5px;border-radius:4px;color:var(--color-text-secondary);display:flex;align-items:center;transition:background var(--transition),color var(--transition)}.action-btn[data-v-bcb00c9d]:hover{background:#00000014;color:var(--color-text)}.action-btn--danger[data-v-bcb00c9d]:hover{background:#ffebee;color:var(--color-danger)}.progress-bar[data-v-bcb00c9d]{height:3px;background:var(--color-border);border-radius:2px;margin-top:4px;overflow:hidden}.progress-fill[data-v-bcb00c9d]{height:100%;background:var(--color-primary);transition:width .2s linear}@media (max-width: 600px){.file-row[data-v-bcb00c9d]{grid-template-columns:28px 1fr 80px}.file-size[data-v-bcb00c9d],.file-date[data-v-bcb00c9d]{display:none}.file-actions[data-v-bcb00c9d]{opacity:1}}.upload-zone[data-v-2ed55cc5]{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.drop-overlay[data-v-2ed55cc5]{position:absolute;top:0;right:0;bottom:0;left:0;background:#2196f3e0;display:flex;align-items:center;justify-content:center;z-index:50;border:3px dashed rgba(255,255,255,.8);border-radius:var(--radius);pointer-events:none}.drop-message[data-v-2ed55cc5]{display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff;text-align:center}.drop-message p[data-v-2ed55cc5]{font-size:18px;font-weight:600;margin:0}.drop-path[data-v-2ed55cc5]{font-size:14px!important;font-weight:400!important;font-family:monospace;opacity:.85}.fade-enter-active[data-v-2ed55cc5],.fade-leave-active[data-v-2ed55cc5]{transition:opacity .12s ease}.fade-enter-from[data-v-2ed55cc5],.fade-leave-to[data-v-2ed55cc5]{opacity:0}.files-view[data-v-8236643c]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.files-header[data-v-8236643c]{display:flex;align-items:center;padding:0 12px;height:56px;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow);z-index:10;gap:8px;flex-shrink:0}.logout-btn[data-v-8236643c]{padding:6px 8px;flex-shrink:0;color:var(--color-text-secondary)}.files-main[data-v-8236643c]{flex:1;overflow-y:auto;padding:12px 16px}.state-view[data-v-8236643c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:240px;color:var(--color-text-secondary);text-align:center}.error-msg[data-v-8236643c]{color:var(--color-danger);font-size:13px;margin-top:12px;padding:8px 12px;background:#ffebee;border-radius:var(--radius)}.dialog-backdrop[data-v-8236643c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.dialog[data-v-8236643c]{width:100%;max-width:360px}.dialog h3[data-v-8236643c]{font-size:17px;font-weight:600}.dialog-actions[data-v-8236643c]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}:root{--color-primary: #2196F3;--color-primary-dark: #1565C0;--color-primary-light: #BBDEFB;--color-surface: #ffffff;--color-background: #f5f5f5;--color-text: #212121;--color-text-secondary: #757575;--color-border: #e0e0e0;--color-danger: #f44336;--color-success: #4CAF50;--radius: 8px;--shadow: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .16);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition: .15s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);font-size:14px;color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased}#app{height:100%}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;transition:background var(--transition),opacity var(--transition);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-ghost{background:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background:var(--color-border)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#c62828}input[type=text],input[type=password]{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:var(--font);outline:none;transition:border-color var(--transition),box-shadow var(--transition);background:var(--color-surface);color:var(--color-text)}input[type=text]:focus,input[type=password]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}label{display:block;margin-bottom:6px;font-weight:500;color:var(--color-text-secondary);font-size:13px}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}
