:root{--bg: #0d0d0d;--bg-elevated: #1a1a1a;--fg: #e8e8e8;--fg-muted: #888;--accent: #5865f2;--accent-hover: #4752c4;--border: #2a2a2a;--danger: #ed4245;--success: #3ba55c;--radius: 8px;--shadow: 0 4px 12px rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:960px;margin:0 auto;padding:24px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border)}.btn-secondary:hover{background:#252525}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#c0392b}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);font-size:14px}.input:focus{outline:none;border-color:var(--accent)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.progress-bar{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .2s}.file-list{display:grid;gap:12px}.file-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.file-icon{width:40px;height:40px;background:var(--accent);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:18px}.file-info{flex:1;min-width:0}.file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:12px;color:var(--fg-muted);margin-top:2px}.file-actions{display:flex;gap:8px}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:48px;text-align:center;transition:all .2s;cursor:pointer}.drop-zone:hover,.drop-zone.active{border-color:var(--accent);background:#5865f21a}.drop-zone p{color:var(--fg-muted)}.auth-form{max-width:400px;margin:60px auto}.auth-form h1{text-align:center;margin-bottom:24px}.auth-form .form-group{margin-bottom:16px}.auth-form label{display:block;margin-bottom:6px;font-size:14px}.auth-form .btn{width:100%;margin-top:8px}.navbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-elevated);position:sticky;top:0;z-index:100}.navbar-brand{font-weight:700;font-size:20px;color:var(--fg)}.navbar-actions{display:flex;gap:12px;align-items:center}.user-menu{display:flex;align-items:center;gap:12px}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.upload-progress{margin-top:16px}.upload-progress-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border-radius:var(--radius);margin-bottom:8px}.upload-progress-info{flex:1;min-width:0}.upload-progress-name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-progress-bar{flex:1;max-width:200px}
