:root{--bg:#0d0f14;--bg-elevated:#14171f;--border:#23273350;--text:#e6e8ec;--text-dim:#9aa0ac;--primary:#7c5cff;--primary-hover:#6a4ae8;--danger:#ff5c7c;--success:#4ade80;--radius:10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--primary);text-decoration:none}.page{min-height:100vh;display:flex;flex-direction:column}.navbar{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;border-bottom:1px solid var(--border)}.navbar .brand{font-weight:700;font-size:18px;color:var(--text)}.navbar .brand span{color:var(--primary)}.center-wrap{flex:1 1;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:100%;max-width:400px}.card h1{font-size:20px;margin:0 0 8px}.card p.subtitle{color:var(--text-dim);font-size:14px;margin:0 0 24px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:6px}.field input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px}.field input:focus{outline:none;border-color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.btn:hover{background:var(--primary-hover)}.btn.secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.btn.danger{background:var(--danger)}.btn.small{width:auto;padding:6px 12px;font-size:13px}.msg{font-size:13px;padding:10px 12px;border-radius:8px;margin-bottom:16px}.msg.error{background:#ff5c7c1a;color:var(--danger);border:1px solid #ff5c7c40}.msg.success{background:#4ade801a;color:var(--success);border:1px solid #4ade8040}.footer-link{text-align:center;margin-top:16px;font-size:13px;color:var(--text-dim)}.container{max-width:960px;margin:0 auto;padding:32px;width:100%}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--text-dim);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.badge,th{font-size:12px}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-weight:600}.badge.pending{background:#f5a52320;color:#f5a523}.badge.active{background:#4ade8020;color:var(--success)}.upload-zone{border:1px dashed var(--border);border-radius:var(--radius);padding:32px;text-align:center;color:var(--text-dim);margin-bottom:24px}.upload-progress{width:100%}.upload-progress-bar-track{width:100%;height:10px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden;margin-bottom:12px}.upload-progress-bar-fill{height:100%;background:var(--primary);transition:width .15s ease}.upload-progress-info{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-dim)}.upload-progress-info strong{color:var(--text)}.actions{display:flex;gap:8px}