.fade-enter-active[data-v-f90a0ef1],.fade-leave-active[data-v-f90a0ef1]{transition:opacity .18s ease}.fade-enter-from[data-v-f90a0ef1],.fade-leave-to[data-v-f90a0ef1]{opacity:0}:root{--brand-deep: #0018c8;--brand: #0b36e8;--brand-mid: #1e6bff;--brand-cyan: #00d5ff;--bg: #ffffff;--bg-soft: #f4f7fd;--surface: #ffffff;--border: #e2e8f2;--border-strong: #cfd8e8;--text: #1b2434;--text-soft: #4a5567;--text-muted: #7a8699;--danger: #e5484d;--success: #12a56a;--radius: 14px;--page-max: 640px;--shadow-sm: 0 1px 2px rgba(20, 35, 70, .05);--shadow-md: 0 4px 18px rgba(20, 40, 90, .07)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}a{color:var(--brand);text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:16px;color:var(--text)}.page{max-width:var(--page-max);margin:0 auto;padding:0 14px 40px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 16px;box-shadow:var(--shadow-sm)}.section-title{margin:0 0 14px;font-size:16px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:3px;height:15px;border-radius:2px;background:linear-gradient(180deg,var(--brand-cyan),var(--brand-deep))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-strong);background:#fff;color:var(--text-soft);border-radius:10px;padding:9px 16px;font-size:14px;white-space:nowrap;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover:not(:disabled){border-color:var(--brand-mid);color:var(--brand)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--brand-deep),var(--brand-mid));border-color:transparent;color:#fff;font-weight:600;box-shadow:0 3px 12px #0b36e83d}.btn-primary:hover:not(:disabled){opacity:.92;color:#fff;border-color:transparent}.text-muted{color:var(--text-muted)}.empty-state{padding:56px 16px;text-align:center;color:var(--text-muted)}
