@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.app-layout[data-v-2ec2b8a0]{flex-direction:column;min-height:100vh;display:flex}.navbar[data-v-2ec2b8a0]{height:var(--navbar-height);background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:0 var(--space-6);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.navbar-brand h2[data-v-2ec2b8a0]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.navbar-user[data-v-2ec2b8a0]{align-items:center;gap:var(--space-3);display:flex}.navbar-username[data-v-2ec2b8a0]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.app-body[data-v-2ec2b8a0]{flex:1;display:flex}.sidebar[data-v-2ec2b8a0]{width:var(--sidebar-width);background-color:var(--color-bg-sidebar);min-height:calc(100vh - var(--navbar-height));padding:var(--space-4) 0;flex-shrink:0}.sidebar-nav[data-v-2ec2b8a0]{gap:var(--space-1);flex-direction:column;display:flex}.sidebar-link[data-v-2ec2b8a0]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);text-decoration:none;display:flex}.sidebar-link[data-v-2ec2b8a0]:hover{color:var(--color-text-inverse);background-color:#ffffff14}.sidebar-link.active[data-v-2ec2b8a0]{color:var(--color-text-inverse);border-left:3px solid var(--color-primary);background-color:#ffffff1f}.main-content[data-v-2ec2b8a0]{padding:var(--space-8);flex:1;overflow-y:auto}.auth-layout[data-v-4c11d0be]{min-height:100vh;padding:var(--space-4);background-color:#0f172a;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-bg[data-v-4c11d0be]{object-fit:cover;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.auth-layout[data-v-4c11d0be]:before{content:"";z-index:0;pointer-events:none;background-color:#0f172a73;position:absolute;inset:0}.auth-container[data-v-4c11d0be]{z-index:1;width:100%;max-width:420px;position:relative}.auth-container[data-v-4c11d0be] .card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f1f5f9;background-color:#1e293bcc;border-color:#33415599}.auth-container[data-v-4c11d0be] .card .input{color:#f1f5f9;background-color:#0f172a99;border-color:#334155cc}.auth-container[data-v-4c11d0be] .card .input::placeholder{color:#64748b}.auth-container[data-v-4c11d0be] .card label{color:#cbd5e1}.auth-container[data-v-4c11d0be] .auth-footer{color:#94a3b8}.auth-brand[data-v-4c11d0be]{text-align:center;margin-bottom:var(--space-8)}.auth-logo[data-v-4c11d0be]{border-radius:var(--border-radius-xl);color:#fff;width:72px;height:72px;margin-bottom:var(--space-4);background:linear-gradient(135deg,#2563eb,#3b82f6);justify-content:center;align-items:center;display:inline-flex;box-shadow:0 8px 32px #2563eb4d}.auth-logo svg[data-v-4c11d0be]{display:inline}.auth-brand h1[data-v-4c11d0be]{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:#fff;text-shadow:0 2px 8px #000000b3,0 0 20px #00000080}.auth-brand p[data-v-4c11d0be]{font-size:var(--font-size-sm);color:#e2e8f0;margin-top:var(--space-2);text-shadow:0 1px 6px #000000b3}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-secondary:#64748b;--color-success:#16a34a;--color-success-light:#dcfce7;--color-danger:#dc2626;--color-danger-light:#fee2e2;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-bg-page:#f8fafc;--color-bg-card:#fff;--color-bg-sidebar:#1e293b;--color-bg-input:#fff;--color-bg-hover:#f1f5f9;--color-text-primary:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-border:#e2e8f0;--color-border-focus:#2563eb;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--border-radius-sm:.25rem;--border-radius-md:.375rem;--border-radius-lg:.5rem;--border-radius-xl:.75rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--transition-fast:.15s ease;--transition-normal:.25s ease;--sidebar-width:240px;--navbar-height:60px}[data-theme=dark]{--color-primary:#3b82f6;--color-primary-hover:#60a5fa;--color-primary-light:#1e3a5f;--color-secondary:#94a3b8;--color-success:#22c55e;--color-success-light:#14332a;--color-danger:#ef4444;--color-danger-light:#3b1515;--color-warning:#f59e0b;--color-warning-light:#3b2f0a;--color-bg-page:#0f172a;--color-bg-card:#1e293b;--color-bg-sidebar:#0f172a;--color-bg-input:#334155;--color-bg-hover:#334155;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-text-inverse:#f8fafc;--color-border:#334155;--color-border-focus:#3b82f6;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-page)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}img,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover)}.btn-danger{background-color:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-success{background-color:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background-color:#15803d}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn-block{width:100%}.input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-bg-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.input::placeholder{color:var(--color-text-muted)}.input-group{gap:var(--space-1);flex-direction:column;display:flex}.input-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.input-group .error-text{font-size:var(--font-size-xs);color:var(--color-danger)}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.card-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.card-body{padding:var(--space-4) var(--space-6)}.table{border-collapse:collapse;width:100%}.table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-bg-page);border-bottom:1px solid var(--color-border)}.table td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tr:hover td{background-color:var(--color-bg-hover)}.badge{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;border-radius:9999px;align-items:center;display:inline-flex}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-light);color:#92400e}.badge-danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.page-content{gap:var(--space-6);flex-direction:column;display:flex}.progress{background-color:var(--color-border);border-radius:9999px;height:8px;overflow:hidden}.progress-bar{background-color:var(--color-primary);height:100%;transition:width var(--transition-normal);border-radius:9999px}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.alert-success{background-color:var(--color-success-light);color:#166534;border:1px solid #bbf7d0}.alert-danger{background-color:var(--color-danger-light);color:#991b1b;border:1px solid #fecaca}.alert-warning{background-color:var(--color-warning-light);color:#92400e;border:1px solid #fde68a}.alert-info{background-color:var(--color-primary-light);color:#1e40af;border:1px solid #bfdbfe}.search-bar{position:relative}.search-bar .input{padding-left:var(--space-10)}.search-bar .search-icon{left:var(--space-3);color:var(--color-text-muted);position:absolute;top:50%;transform:translateY(-50%)}.pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-4);display:flex}.pagination .btn{min-width:36px}.pagination .page-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:0 var(--space-4)}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.empty-state{text-align:center;padding:var(--space-12) var(--space-4);color:var(--color-text-muted)}.empty-state .empty-icon{margin-bottom:var(--space-4);font-size:3rem}.empty-state p{font-size:var(--font-size-sm)}.transfer-info{align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-2);display:flex}.transfer-info .separator{color:var(--color-text-muted)}.transfer-file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.download-banner{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--shadow-md)}.download-banner-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.theme-toggle{border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-bg-card);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}
