.app-wrapper[data-v-cb0d511e]{min-height:100vh;background:var(--bg-page)}.fade-enter-active[data-v-cb0d511e],.fade-leave-active[data-v-cb0d511e]{transition:opacity .2s ease}.fade-enter-from[data-v-cb0d511e],.fade-leave-to[data-v-cb0d511e]{opacity:0}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%;width:100%}html{font-size:14px}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Helvetica,Microsoft YaHei,Arial,sans-serif;color:#1a1a1a;background-color:#f5f7fb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;background:none;cursor:pointer;outline:none}input,select{font-family:inherit;border:none;outline:none;background:transparent;color:inherit}ul,ol{list-style:none}img{display:block;max-width:100%}:root{--primary: #2563ff;--primary-deep: #1640c9;--primary-soft: #eaf0ff;--primary-grad: linear-gradient(135deg, #3772ff 0%, #1a4df5 60%, #1640c9 100%);--primary-grad-soft: linear-gradient(135deg, #eef3ff 0%, #dee8ff 100%);--accent: #ff8a1f;--accent-soft: #fff4e5;--success: #16c784;--success-soft: #e7f9f1;--danger: #f5384e;--warn: #f5a623;--text-main: #0d1b3d;--text-sub: #5a6482;--text-weak: #98a0b6;--text-on-primary: #ffffff;--bg-page: #f3f5fb;--bg-card: #ffffff;--border: #e8ebf4;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-card: 0 4px 16px rgba(20, 30, 70, .06);--shadow-card-lg: 0 10px 32px rgba(26, 77, 245, .14);--shadow-btn: 0 8px 20px rgba(26, 77, 245, .35)}body{background:var(--bg-page);color:var(--text-main)}.tabular{font-feature-settings:"tnum" 1,"lnum" 1;font-variant-numeric:tabular-nums lining-nums}.page{min-height:100vh;background:var(--bg-page);display:flex;flex-direction:column;padding-bottom:calc(32px + env(safe-area-inset-bottom));position:relative}.navbar{position:sticky;top:0;z-index:20;height:48px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;color:var(--text-main);box-shadow:0 1px #00000008}.navbar.transparent{background:transparent;color:#fff;box-shadow:none;text-shadow:0 1px 2px rgba(0,0,0,.08)}.navbar .back{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:22px;color:inherit}.container{flex:1;padding:16px}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.btn{width:100%;height:50px;border-radius:28px;background:var(--primary-grad);color:#fff;font-size:16px;font-weight:600;letter-spacing:1px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-btn);transition:opacity .2s,transform .2s}.btn:active{transform:scale(.98)}.btn:disabled,.btn.disabled{background:#c9d1e3;color:#fff;box-shadow:none;cursor:not-allowed}.btn.btn-outline{background:#fff;color:var(--primary);border:1px solid var(--primary);box-shadow:none}.btn-bar{position:sticky;bottom:0;left:0;right:0;padding:12px 16px calc(14px + env(safe-area-inset-bottom));z-index:10}.form-group{margin-bottom:18px}.form-label{font-size:13px;color:var(--text-sub);margin-bottom:10px;font-weight:500;display:flex;align-items:center;gap:6px}.form-label .required{color:var(--danger)}.form-field{height:52px;background:#f5f7fc;border:1px solid transparent;border-radius:12px;padding:0 16px;display:flex;align-items:center;font-size:15px;color:var(--text-main);transition:border-color .2s,background .2s}.form-field:focus-within{border-color:var(--primary);background:#fff}.form-field.readonly{background:#f0f2f8;color:var(--text-sub)}.form-field input{width:100%;height:100%;font-size:15px;letter-spacing:.5px}.form-field input::placeholder{color:#b0b7c8}.chip{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:600;letter-spacing:.3px}.chip.warn{background:var(--accent-soft);color:var(--accent)}.chip.success{background:var(--success-soft);color:var(--success)}.grad-text{background:var(--primary-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.divider{height:1px;background:var(--border)}.divider.dashed{background:none;border-top:1px dashed var(--border);height:0}
