.login-page[data-v-c3b4b210]{background:#f5f6f8;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card[data-v-c3b4b210]{background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:360px;padding:32px;display:flex;box-shadow:0 4px 20px #00000014}.tabs[data-v-c3b4b210]{border-bottom:1px solid #e5e7eb;display:flex}.tab[data-v-c3b4b210]{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 0;font-size:14px}.tab.active[data-v-c3b4b210]{color:#2563eb;border-bottom-color:#2563eb}.hint[data-v-c3b4b210]{color:#888;font-size:13px}.code-field[data-v-c3b4b210]{grid-template-columns:minmax(0,1fr) 108px;gap:8px;display:grid}.send-code[data-v-c3b4b210]{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #2563eb;border-radius:8px}.send-code[data-v-c3b4b210]:disabled{color:#9ca3af;cursor:not-allowed;border-color:#d1d5db}.login-card label[data-v-c3b4b210]{flex-direction:column;gap:6px;font-size:14px;display:flex}.login-card input[data-v-c3b4b210]{border:1px solid #ddd;border-radius:8px;padding:10px 12px}.login-card button[type=submit][data-v-c3b4b210]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:12px;font-size:15px}.login-card button[type=submit][data-v-c3b4b210]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-c3b4b210]{color:#dc2626;font-size:13px}.platform-link[data-v-c3b4b210]{text-align:center;color:#2563eb;font-size:13px;text-decoration:none}*{box-sizing:border-box}body{color:#1f2937;background:#f3f4f6;margin:0;font-family:Microsoft YaHei,Segoe UI,sans-serif}.admin-layout{min-height:100vh;display:flex}.sidebar{color:#d1d5db;background:#111827;flex-direction:column;gap:8px;width:200px;padding:20px 12px;display:flex}.sidebar h1{color:#fff;margin:0 0 16px;padding:0 8px;font-size:16px}.nav-item{color:#d1d5db;border-radius:8px;padding:10px 12px;font-size:14px;text-decoration:none;display:block}.nav-item:hover{background:#1f2937}.nav-item.active{color:#fff;background:#2563eb}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:56px;padding:0 24px;font-weight:600;display:flex}.content{flex-direction:column;gap:16px;padding:24px;display:flex}.card{background:#fff;border-radius:12px;padding:20px;overflow-x:auto;box-shadow:0 1px 3px #0000000f}.card h2{margin:0 0 16px;font-size:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.stat{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 3px #0000000f}.stat .label{color:#6b7280;font-size:13px}.stat .value{margin-top:6px;font-size:26px;font-weight:700}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid #eef0f2;padding:10px 12px}th{color:#6b7280;background:#fafafa;font-weight:500}.btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:8px 16px;font-size:14px}.btn:hover{opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{color:#374151;background:0 0;border:1px solid #d1d5db}.btn.danger{background:#dc2626}.btn.sm{padding:5px 10px;font-size:13px}.input,.select{border:1px solid #d1d5db;border-radius:8px;outline:none;padding:8px 12px;font-size:14px}.input:focus,.select:focus{border-color:#2563eb}.form-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;display:grid}.form-grid label{color:#4b5563;flex-direction:column;gap:6px;font-size:13px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tag{color:#374151;background:#e5e7eb;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.tag.green{color:#15803d;background:#dcfce7}.tag.red{color:#b91c1c;background:#fee2e2}.tag.blue{color:#1d4ed8;background:#dbeafe}.msg{border-radius:8px;padding:10px 14px;font-size:14px}.msg.ok{color:#15803d;background:#dcfce7}.msg.err{color:#b91c1c;background:#fee2e2}@media (width<=768px){.admin-layout{flex-direction:column}.sidebar{flex-direction:row;align-items:center;width:100%;padding:10px 12px;overflow-x:auto}.sidebar h1,.nav-item{flex:none;margin:0}.topbar{height:auto;min-height:56px;padding:8px 12px}.content{padding:12px}th,td{white-space:nowrap}}
