.app-layout[data-v-13906792]{display:flex;flex-direction:column;min-height:100vh}.topbar[data-v-13906792]{position:sticky;top:0;z-index:100;padding-top:var(--safe-top);background:#ffffffd1;border-bottom:1px solid rgba(15,23,42,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 6px 24px #0f172a14}.topbar[data-v-13906792]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--grad);opacity:.6}.topbar-inner[data-v-13906792]{height:52px;display:flex;align-items:center;justify-content:space-between}.logo[data-v-13906792]{display:flex;align-items:center;gap:8px;color:var(--text);cursor:pointer}.logo-img[data-v-13906792]{width:28px;height:28px;display:block;filter:drop-shadow(0 0 6px rgba(220,38,38,.35))}.logo-text[data-v-13906792]{font-size:18px;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,#4338ca,#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent}.topbar-actions[data-v-13906792]{display:flex;align-items:center;gap:12px}.login-btn[data-v-13906792]{color:var(--text);font-size:14px;font-weight:600;border:1px solid rgba(79,70,229,.35);padding:5px 14px;border-radius:9px;background:#4f46e50f;transition:background .2s,box-shadow .2s}.login-btn[data-v-13906792]:hover{background:#4f46e51f;box-shadow:0 0 14px #4f46e533}.manage-btn[data-v-13906792]{color:var(--text-secondary);display:flex;align-items:center;padding:6px;transition:color .2s}.manage-btn[data-v-13906792]:hover{color:var(--primary)}.user-chip[data-v-13906792]{display:flex;align-items:center;gap:6px;color:var(--text)}.user-avatar[data-v-13906792]{width:26px;height:26px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;box-shadow:0 0 12px #6366f159}.user-name[data-v-13906792]{font-size:14px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-btn[data-v-13906792]{color:var(--text-secondary);display:flex;align-items:center;padding:6px;transition:color .2s}.scan-btn[data-v-13906792]:hover{color:var(--primary)}.main-content[data-v-13906792]{flex:1;padding-bottom:70px}.main-content.no-tabbar[data-v-13906792]{padding-bottom:20px}.renew-banner[data-v-13906792]{position:sticky;top:calc(52px + var(--safe-top));z-index:90;display:flex;align-items:center;gap:10px;max-width:720px;margin:12px auto 0;padding:10px 12px 10px 14px;border-radius:var(--r-m);background:linear-gradient(135deg,#fffbebf5,#fef3c7eb);border:1px solid rgba(245,158,11,.32);box-shadow:var(--sh-2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:bannerIn-13906792 .28s ease}@keyframes bannerIn-13906792{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.rb-ico[data-v-13906792]{font-size:15px}.rb-text[data-v-13906792]{flex:1;font-size:13px;color:#92400e}.rb-text b[data-v-13906792]{font-weight:800;font-variant-numeric:tabular-nums}.rb-btn[data-v-13906792]{padding:5px 14px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #d977064d;transition:transform .12s,box-shadow .18s}.rb-btn[data-v-13906792]:hover{box-shadow:0 6px 16px #d9770666}.rb-btn[data-v-13906792]:active{transform:scale(.95)}.rb-close[data-v-13906792]{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:#b45309;transition:background .18s}.rb-close[data-v-13906792]:hover{background:#f59e0b2e}.tabbar[data-v-13906792]{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;background:#ffffffd9;border-top:1px solid rgba(15,23,42,.07);padding-bottom:var(--safe-bottom);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -8px 28px #0f172a14}.tab-item[data-v-13906792]{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0;color:var(--text-secondary);font-size:11px;position:relative;transition:color .2s}.tab-item.active[data-v-13906792]{color:var(--primary)}.tab-item.active[data-v-13906792]:before{content:"";position:absolute;top:5px;left:50%;transform:translate(-50%);width:30px;height:28px;border-radius:10px;background:#4f46e51a;box-shadow:0 0 16px #4f46e52e}.tab-item svg[data-v-13906792]{width:22px;height:22px;position:relative;z-index:1}:root{--primary: #4f46e5;--primary-dark: #4338ca;--primary-light: #eef2ff;--accent: #06b6d4;--accent-2: #8b5cf6;--bg: #eaeef8;--card-bg: rgba(255, 255, 255, .72);--card-solid: #ffffff;--card-border: rgba(15, 23, 42, .07);--text: #0f172a;--text-secondary: #64748b;--border: rgba(15, 23, 42, .08);--danger: #ef4444;--success: #10b981;--warning: #f59e0b;--radius: 16px;--radius-sm: 10px;--shadow: 0 12px 32px rgba(30, 41, 59, .1);--shadow-soft: 0 4px 16px rgba(30, 41, 59, .06);--glow: 0 8px 24px rgba(79, 70, 229, .25);--grad: linear-gradient(135deg, #6366f1 0%, #3b82f6 50%, #8b5cf6 100%);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--sh-1: 0 2px 8px rgba(15, 23, 42, .04);--sh-2: 0 8px 24px rgba(15, 23, 42, .07);--sh-3: 0 16px 44px rgba(15, 23, 42, .14);--r-s: 10px;--r-m: 14px;--r-l: 20px;--wx-green: #07c160}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,#f4f6fc,#e9eef8);background-attachment:fixed;color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:radial-gradient(900px 600px at 10% -5%,rgba(99,102,241,.13),transparent 60%),radial-gradient(820px 560px at 100% 0%,rgba(139,92,246,.11),transparent 55%),radial-gradient(700px 520px at 50% 110%,rgba(6,182,212,.09),transparent 60%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(15,23,42,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.03) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 50% 25%,#000,transparent 80%);mask-image:radial-gradient(circle at 50% 25%,#000,transparent 80%)}#app{min-height:100%;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit;font-size:15px}.pressable{transition:transform .14s ease,box-shadow .18s ease,background .18s ease}.pressable:active{transform:scale(.985)}mark{background:linear-gradient(180deg,#facc1573,#facc1547);color:inherit;border-radius:3px;padding:0 2px}.skeleton{position:relative;overflow:hidden;background:#94a3b82e;border-radius:8px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.btn-wx{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 28px;border-radius:13px;font-size:16px;font-weight:700;letter-spacing:1px;color:#fff;background:linear-gradient(135deg,#07c160,#06ad56);box-shadow:0 10px 26px #07c16052;transition:transform .12s,box-shadow .2s,filter .2s}.btn-wx:hover{box-shadow:0 12px 32px #07c1606b}.btn-wx:active{transform:translateY(1px) scale(.99)}.btn-wx:disabled{opacity:.6;filter:grayscale(.2)}.sec-bar{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}.sec-bar-t{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:var(--text);letter-spacing:.5px}.sec-bar-t:before{content:"";width:4px;height:20px;border-radius:4px;background:var(--grad);box-shadow:0 0 12px #6366f173}.sec-bar-x{font-size:13px;color:var(--text-secondary)}.chip{padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-secondary);background:#ffffffb3;border:1px solid var(--card-border);white-space:nowrap;transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .12s}.chip:hover{color:var(--primary);border-color:#4f46e54d}.chip:active{transform:scale(.96)}.chip.active{color:#fff;background:var(--grad);border-color:transparent;box-shadow:0 6px 16px #4f46e547}.container{max-width:720px;margin:0 auto;padding:0 16px;width:100%}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tag{display:inline-block;padding:2px 9px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid transparent}.tag-intention{background:#ede9fe;color:#7c3aed;border-color:#7c3aed2e}.tag-tender{background:#dbeafe;color:#2563eb;border-color:#2563eb2e}.tag-result{background:#dcfce7;color:#16a34a;border-color:#16a34a2e}.tag-change{background:#fef3c7;color:#d97706;border-color:#d977062e}.tag-clarify{background:#ccfbf1;color:#0d9488;border-color:#0d94882e}.tag-openrecord{background:#e0e7ff;color:#4f46e5;border-color:#4f46e52e}.tag-contract{background:#ffe4e6;color:#be123c;border-color:#be123c2e}.tag-other{background:#f1f5f9;color:#64748b;border-color:#64748b29}.tag-preq{background:#fae8ff;color:#a21caf;border-color:#a21caf2e}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(99,102,241,.3);border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(28px + var(--safe-top)) 18px calc(28px + var(--safe-bottom));overflow:hidden;background:radial-gradient(900px 620px at 15% -10%,rgba(99,102,241,.18),transparent 55%),radial-gradient(820px 560px at 100% 5%,rgba(139,92,246,.15),transparent 55%),radial-gradient(700px 500px at 50% 120%,rgba(6,182,212,.13),transparent 60%),linear-gradient(180deg,#f4f6fc,#e8eef8)}.auth-page:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(79,70,229,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(79,70,229,.06) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at 50% 42%,#000 0%,transparent 72%);mask-image:radial-gradient(circle at 50% 42%,#000 0%,transparent 72%);animation:gridShift 18s linear infinite}@keyframes gridShift{0%{background-position:0 0}to{background-position:42px 42px}}.auth-page>*{position:relative;z-index:1}.auth-card{width:100%;max-width:400px;padding:36px 26px 30px;border-radius:22px;background:#ffffffd1;border:1px solid rgba(255,255,255,.7);box-shadow:0 24px 60px #1e293b2e,inset 0 1px #ffffffe6;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad);box-shadow:0 0 18px #6366f180}.auth-logo{text-align:center;margin-bottom:26px}.logo-badge{width:64px;height:64px;margin:0 auto 14px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#06b6d41f,#8b5cf624);border:1px solid rgba(99,102,241,.25);box-shadow:0 8px 24px #4f46e540}.logo-icon{font-size:30px;line-height:1}.logo-svg{display:block;filter:drop-shadow(0 0 6px rgba(99,102,241,.45))}.logo-img{width:44px;height:44px;display:block;filter:drop-shadow(0 0 6px rgba(220,38,38,.35))}.auth-title{font-size:24px;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,#4338ca,#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-sub{color:var(--text-secondary);font-size:13px;margin-top:8px}.field{display:block;margin-bottom:16px}.field-label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:7px}.field input{width:100%;height:48px;padding:0 15px;color:var(--text);border:1px solid var(--card-border);border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s,background .2s}.field input::placeholder{color:#94a3b8}.field input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #4f46e524}.auth-error{color:var(--danger);font-size:13px;margin-bottom:12px;text-align:center}.auth-submit{width:100%;height:50px;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:1px;color:#fff;border-radius:13px;position:relative;overflow:hidden;background:var(--grad);background-size:200% 200%;box-shadow:0 10px 26px #4f46e559;transition:transform .12s,box-shadow .2s,filter .2s}.auth-submit:hover{background-position:100% 0;box-shadow:0 12px 32px #8b5cf66b}.auth-submit:active{transform:translateY(1px) scale(.99)}.auth-submit:disabled{opacity:.6;filter:grayscale(.2)}.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.link{color:#4f46e5;font-weight:600}.link:hover{color:#6366f1}.result-box{text-align:center}.result-msg{color:var(--text);font-size:14px;margin-bottom:14px}.token-box{background:#f1f5f9;border:1px dashed var(--card-border);border-radius:12px;padding:12px;margin-bottom:14px;text-align:left}.token-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:6px}.token-value{font-family:monospace;font-size:12px;word-break:break-all;color:#4338ca;display:block}.copy-btn{margin-top:8px;color:#4f46e5;font-size:13px;font-weight:600}.auth-switch-link{display:block;margin-top:14px;color:#4f46e5;font-weight:600;font-size:14px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
