.login-page[data-v-fe520312]{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card[data-v-fe520312]{width:100%;max-width:400px;padding:40px 32px}.login-title[data-v-fe520312]{letter-spacing:-.5px;color:var(--primary);margin-bottom:4px;font-size:24px;font-weight:800}.login-desc[data-v-fe520312]{color:var(--text-dim);margin-bottom:28px;font-size:14px}.login-btn[data-v-fe520312]{justify-content:center;width:100%;padding:12px;font-size:15px}.login-error[data-v-fe520312]{color:var(--danger);margin-bottom:12px;font-size:13px}.apps-grid[data-v-8cee59e3]{flex-direction:column;gap:8px;display:flex}.app-card[data-v-8cee59e3]{align-items:center;padding:18px 20px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.app-card-link[data-v-8cee59e3]{color:inherit;flex:1;align-items:center;gap:16px;text-decoration:none;display:flex}.app-card[data-v-8cee59e3]:hover{border-color:var(--primary);box-shadow:0 2px 8px #3b5bdb14}.delete-btn[data-v-8cee59e3]{color:#fa5252;opacity:0;border-color:#fa5252;margin-left:16px;transition:opacity .2s}.delete-btn[data-v-8cee59e3]:hover{color:#fff;background:#fa5252}.app-card:hover .delete-btn[data-v-8cee59e3]{opacity:1}.app-icon[data-v-8cee59e3]{background:linear-gradient(135deg, var(--primary), #5c7cfa);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:700;display:flex}.app-info[data-v-8cee59e3]{flex:1;min-width:0}.app-name[data-v-8cee59e3]{font-size:16px;font-weight:600}.app-meta[data-v-8cee59e3]{color:var(--text-dim);margin-top:2px;font-size:13px}.app-arrow[data-v-8cee59e3]{color:var(--text-dim);flex-shrink:0;font-size:18px}.new-app-bar[data-v-8cee59e3]{align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;display:flex}.new-app-bar input[data-v-8cee59e3]{flex:1}.upload-card[data-v-71367164]{margin-bottom:24px;padding:24px}.upload-title[data-v-71367164]{margin-bottom:20px;font-size:16px;font-weight:700}.form-row[data-v-71367164]{gap:16px;display:flex}.upload-actions[data-v-71367164]{gap:10px;display:flex}.changelog-cell[data-v-71367164]{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.action-btns[data-v-71367164]{justify-content:flex-end;gap:6px;display:flex}@media (width<=640px){.form-row[data-v-71367164]{flex-direction:column;gap:0}}:root{--bg:#f5f6fa;--card:#fff;--border:#e2e5ed;--text:#1a1d26;--text-dim:#6b7085;--primary:#3b5bdb;--primary-hover:#2b4bc8;--danger:#e03131;--danger-hover:#c92a2a;--success:#2f9e44;--radius:10px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans SC,sans-serif;line-height:1.6}.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-bar{background:var(--card);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.brand{color:var(--primary);letter-spacing:-.3px;font-size:16px;font-weight:700;text-decoration:none}.nav-links{align-items:center;gap:16px;display:flex}.nav-links a{color:var(--text-dim);font-size:14px;text-decoration:none;transition:color .15s}.nav-links a:hover,.nav-links a.router-link-active{color:var(--primary)}.main-content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:32px 24px}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-size:14px;font-weight:500;transition:background .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-outline{border:1px solid var(--border);color:var(--text);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-text{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:14px}.btn-text:hover{color:var(--danger);background:#e031310f}.btn-sm{padding:4px 12px;font-size:13px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}input[type=text],input[type=password],textarea,select{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b5bdb1a}label{color:var(--text-dim);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group{margin-bottom:18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}tr:last-child td{border-bottom:none}.tag{border-radius:99px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.tag-platform{color:var(--primary);background:#3b5bdb14}.tag-force{color:var(--danger);background:#e0313114}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-dim);cursor:pointer;padding:32px;transition:border-color .15s,background .15s}.upload-zone:hover,.upload-zone.dragover{border-color:var(--primary);background:#3b5bdb08}.upload-zone .file-name{color:var(--text);margin-top:8px;font-size:14px;font-weight:600}.page-title{letter-spacing:-.3px;margin-bottom:24px;font-size:22px;font-weight:700}.empty{text-align:center;color:var(--text-dim);padding:48px 24px}.toast{color:#fff;z-index:999;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:500;animation:.25s slideIn;position:fixed;bottom:24px;right:24px}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.flex-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mb-16{margin-bottom:16px}.back-link{color:var(--text-dim);align-items:center;gap:4px;margin-bottom:16px;font-size:14px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--primary)}.file-size{font-variant-numeric:tabular-nums}
