.app-nav[data-v-523fa371]{background:color-mix(in srgb, var(--nav-bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);z-index:100;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 20px;display:flex;position:sticky;top:0}.app-nav a[data-v-523fa371]{color:#ffffffbf;border-radius:16px;padding:6px 14px;font-size:13px;transition:all .2s}.app-nav a[data-v-523fa371]:hover,.app-nav a.active[data-v-523fa371]{color:#fff;background:#ffffff26}.dark-toggle[data-v-523fa371]{cursor:pointer;color:#ffffffbf;background:0 0;border:none;border-radius:50%;padding:4px 8px;font-size:16px;transition:background .2s}.dark-toggle[data-v-523fa371]:hover{background:#ffffff1a}.user-badge[data-v-523fa371]{color:#ffffffd9;padding:4px 10px;font-size:13px;font-weight:600}.logout-btn[data-v-523fa371]{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:12px;padding:4px 12px;font-size:12px;transition:all .2s}.logout-btn[data-v-523fa371]:hover{color:#fff;background:#ffffff1a}.login-btn[data-v-523fa371]{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:16px;padding:4px 14px;font-size:13px;transition:all .2s}.login-btn[data-v-523fa371]:hover{color:#fff;background:#ffffff26}.install-btn[data-v-523fa371]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:16px;padding:6px 16px;font-size:13px;transition:background .2s}.install-btn[data-v-523fa371]:hover{background:var(--primary-dark)}.bottom-nav[data-v-523fa371]{display:none}.desktop-only[data-v-523fa371]{display:flex}@media (width<=768px){.desktop-only[data-v-523fa371]{display:none!important}.bottom-nav[data-v-523fa371]{background:var(--card-bg);border-top:1px solid var(--border);height:56px;padding-bottom:env(safe-area-inset-bottom,0);z-index:100;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item[data-v-523fa371]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:56px;padding:4px 10px;font-size:11px;text-decoration:none;transition:color .15s;display:flex}.tab-item.active[data-v-523fa371]{color:var(--primary)}.tab-item.active .tab-icon[data-v-523fa371]{transform:scale(1.15)}.tab-icon[data-v-523fa371]{font-size:20px;transition:transform .15s}.tab-label[data-v-523fa371]{font-size:10px}}.modal-overlay[data-v-523fa371]{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.login-panel[data-v-523fa371]{background:var(--card-bg,#1a1a2e);border-radius:12px;width:100%;max-width:380px;padding:28px 24px 24px;position:relative;box-shadow:0 4px 24px #0000004d}.close-btn[data-v-523fa371]{color:var(--text-muted,#888);cursor:pointer;background:0 0;border:none;padding:0;font-size:22px;line-height:1;position:absolute;top:10px;right:12px}.close-btn[data-v-523fa371]:hover{color:var(--text-color,#e0e0e0)}.tabs[data-v-523fa371]{background:var(--bg,#0d1117);border-radius:8px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.tab[data-v-523fa371]{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;flex:1;padding:10px;font-size:14px;font-weight:600;transition:all .2s}.tab.active[data-v-523fa371]{background:var(--card-bg,#1a1a2e);color:var(--text-color,#e0e0e0);box-shadow:0 1px 3px #0000001a}.error-msg[data-v-523fa371]{color:#ef4444;text-align:center;background:#c628281a;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.auth-form[data-v-523fa371]{flex-direction:column;gap:14px;display:flex}.field[data-v-523fa371]{flex-direction:column;gap:6px;display:flex}.field label[data-v-523fa371]{color:var(--text-secondary,#888);font-size:13px;font-weight:600}.field input[data-v-523fa371]{border:1px solid var(--border-color,#2a2a4e);background:var(--input-bg,#0d1117);color:var(--text-color,#e0e0e0);border-radius:8px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.field input[data-v-523fa371]:focus{border-color:#0af}.form-actions[data-v-523fa371]{gap:10px;margin-top:4px;display:flex}.btn-cancel[data-v-523fa371]{border:1px solid var(--border-color,#2a2a4e);color:var(--text-muted,#888);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:10px;font-size:14px;transition:all .2s}.btn-cancel[data-v-523fa371]:hover{color:var(--text-color,#e0e0e0);border-color:#555}.btn-submit[data-v-523fa371]{color:#000;cursor:pointer;background:#0af;border:none;border-radius:8px;flex:2;padding:10px;font-size:14px;font-weight:600;transition:background .2s}.btn-submit[data-v-523fa371]:hover{background:#0bf}.btn-submit[data-v-523fa371]:disabled{opacity:.6;cursor:not-allowed}.toast-container[data-v-38351453]{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast-item[data-v-38351453]{border-radius:20px;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:500;animation:.3s toast-in-38351453;display:flex}.toast-icon[data-v-38351453]{font-weight:700}.toast-success[data-v-38351453]{background:var(--down);color:#fff}.toast-error[data-v-38351453]{background:var(--up);color:#fff}.toast-info[data-v-38351453]{color:#fff;background:#333}@keyframes toast-in-38351453{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:root{--bg:#f0f2f5;--card-bg:#fff;--text:#333;--text-secondary:#888;--border:#e0e0e0;--up:#c62828;--down:#2e7d32;--primary:#1976d2;--primary-dark:#1565c0;--nav-bg:linear-gradient(135deg, #1a2b4c, #2c3e6b);--shadow:0 1px 3px #00000014;--radius:10px}:root.dark{--bg:#0f0f1a;--card-bg:#1a1a2e;--text:#e0e0e0;--text-secondary:#888;--border:#2a2a4a;--up:#ef5350;--down:#66bb6a;--primary:#42a5f5;--primary-dark:#1e88e5;--shadow:0 1px 3px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}.container{max-width:960px;margin:0 auto;padding:16px}.section-title{border-left:3px solid var(--primary);color:var(--text);margin:20px 0 10px;padding-left:8px;font-size:16px;font-weight:700}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px;padding:14px 16px;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.stat-card{background:var(--card-bg);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:16px}.stat-card .value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.stat-card .label{color:var(--text-secondary);margin-top:4px;font-size:12px}table{border-collapse:collapse;background:var(--card-bg);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:13px}th{background:var(--bg);color:var(--text-secondary);font-size:12px;font-weight:600;position:sticky;top:0}.up{color:var(--up)}.down,.green{color:var(--down)}.red{color:var(--up)}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:600;transition:background .2s;display:inline-block}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{background:var(--up);color:#fff}.btn-danger:hover{background:#b71c1c}.btn-sm{border-radius:4px;padding:4px 12px;font-size:12px}input,select{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:6px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s}input:focus,select:focus{border-color:var(--primary)}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton{background:var(--border);border-radius:4px;animation:1.5s ease-in-out infinite shimmer}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.empty-state .icon{margin-bottom:12px;font-size:48px}@media (width<=768px){body{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}}@media (width<=600px){.container{padding:10px}th,td{padding:8px;font-size:11px}.stat-card .value{font-size:22px}}
