:root{--primary:#6d5efc;--primary-2:#8b7bff;--primary-deep:#4b3fd6;--accent:#ff7a59;--gold:#ffb020;--money:#10b981;--money-2:#34d399;--danger:#ef4444;--bg:#f4f5fb;--card:#fff;--text:#1f2233;--text-2:#6b6f82;--text-3:#9aa0b4;--line:#eef0f6;--radius:18px;--radius-sm:12px;--shadow:0 8px 30px #5046a01a;--shadow-sm:0 4px 16px #5046a014;--shadow-lg:0 16px 48px #5046a02e;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{max-width:100vw;margin:0;padding:0;overflow-x:hidden}@supports (overflow-x:clip){html,body{overflow-x:clip}}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55}#root{min-height:100vh}.app-shell{background:var(--bg);max-width:480px;min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden;box-shadow:0 0 60px #0000000d}.page{padding:16px 16px calc(88px + var(--safe-bottom));animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);background:#ffffffe6;align-items:center;gap:10px;height:52px;padding:0 14px;display:flex;position:sticky;top:0}.topbar .title{flex:1;font-size:17px;font-weight:700}.topbar .back{background:var(--bg);cursor:pointer;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:16px}.card-title{align-items:center;gap:8px;margin:0 0 12px;font-size:16px;font-weight:700;display:flex}.card-title .bar{background:linear-gradient(var(--primary), var(--primary-2));border-radius:3px;width:4px;height:16px}.section-sub{color:var(--text-3);font-size:14px;font-weight:400}.btn{cursor:pointer;background:var(--bg);height:46px;color:var(--text);border:none;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 20px;font-size:15px;font-weight:600;transition:transform .1s,opacity .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#fff;box-shadow:0 8px 20px #6d5efc59}.btn-money{background:linear-gradient(135deg, var(--money), var(--money-2));color:#fff;box-shadow:0 8px 20px #10b98152}.btn-accent{background:linear-gradient(135deg, var(--accent), #ff9a76);color:#fff}.btn-danger{color:var(--danger);background:#fff0f0}.btn-ghost{background:var(--bg);color:var(--text-2)}.btn-block{width:100%;display:flex}.btn-sm{border-radius:10px;height:36px;padding:0 14px;font-size:14px}.btn:disabled{opacity:.5;pointer-events:none}.field{margin-bottom:14px}.field label{color:var(--text-2);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.field label .req{color:var(--danger);margin-left:2px}.field label .opt{color:var(--text-3);margin-left:4px;font-weight:400}.input,.textarea,select.input{border:1.5px solid var(--line);width:100%;color:var(--text);background:#fafbff;border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s,background .2s}.input:focus,.textarea:focus{border-color:var(--primary);background:#fff}.textarea{resize:vertical;min-height:96px}.input-hint{color:var(--text-3);margin-top:5px;font-size:14px}.input-ok{color:var(--money)}.input-err{color:var(--danger)}.field.is-missing{border:1.5px solid var(--danger);background:#fff6f6;border-radius:12px;padding:10px 10px 6px}.field.is-missing>label{color:var(--danger)}.field.is-missing>label:after{content:"未填";vertical-align:1px;color:#fff;background:var(--danger);border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:800}.field.is-missing .input,.field.is-missing .textarea,.field.is-missing select.input{border-color:var(--danger);background:#fff}.card.is-missing{box-shadow:inset 0 0 0 1.5px var(--danger);background:#fff9f9}@media (prefers-reduced-motion:no-preference){.field.is-missing,.card.is-missing{animation:1.5s ease-in-out infinite req-breathe}@keyframes req-breathe{0%,to{box-shadow:0 0 #ef3f3200}55%{box-shadow:0 0 0 5px #ef3f3224}}}.req-jump{z-index:2;outline-offset:4px;border-radius:14px;position:relative;outline:3px solid #ef3f328c!important}@media (prefers-reduced-motion:no-preference){.req-jump{animation:.62s ease-in-out 3 req-jump-shake!important}@keyframes req-jump-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}}.birth-year-trigger{text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;width:100%;min-height:52px;display:flex}.birth-year-trigger>span{color:#29263a;font-size:16px;font-weight:750}.birth-year-trigger>small{color:#726b86;font-size:12px;font-weight:650}.birth-year-help{color:#716a80;text-align:center;margin:0 0 10px;font-size:13px}.birth-year-grid{overscroll-behavior:contain;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:min(56vh,480px);padding:2px 2px 18px;display:grid;overflow-y:auto}.birth-year-grid button{color:#302b3b;cursor:pointer;background:#faf9fc;border:1px solid #e2ddeb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:54px;display:flex}.birth-year-grid button b{font-size:15px}.birth-year-grid button small{color:#7d758b;font-size:11px}.birth-year-grid button.is-selected{color:#087461;background:#eaf9f4;border-color:#0f947b;box-shadow:0 0 0 2px #0f947b24}.birth-year-grid button.is-selected small{color:#087461}@media (width<=360px){.birth-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer;background:var(--bg);color:var(--text-2);border:1.5px solid #0000;border-radius:999px;padding:7px 14px;font-size:14px;transition:all .15s}.chip.active{color:var(--primary);border-color:var(--primary);background:linear-gradient(135deg,#6d5efc1f,#8b7bff1f);font-weight:600}.chip-badge{color:#fff;border-radius:999px;align-items:center;gap:3px;padding:4px 10px;font-size:14px;font-weight:600;display:inline-flex}.link-danger{color:#ef4444}.rv-imgs{flex-wrap:wrap;gap:6px;display:flex}.rv-imgs img{object-fit:cover;cursor:pointer;border-radius:10px;width:78px;height:78px}.rv-upload{flex-wrap:wrap;gap:8px;display:flex}.rv-up-item{width:72px;height:72px;position:relative}.rv-up-item img{object-fit:cover;border-radius:10px;width:100%;height:100%}.rv-up-del{color:#fff;text-align:center;cursor:pointer;background:#0009;border-radius:50%;width:20px;height:20px;font-size:14px;line-height:20px;position:absolute;top:-6px;right:-6px}.rv-up-add{border:1.5px dashed var(--line,#e2e4ee);width:72px;height:72px;color:var(--text-3);cursor:pointer;background:#fafbff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:20px;display:flex}.rv-up-add .small{font-size:13px}.seg{background:#f0eefe;border-radius:12px;margin-bottom:14px;padding:4px;display:flex}.seg>span{text-align:center;cursor:pointer;color:var(--text-3);border-radius:9px;flex:1;padding:9px 0;font-size:14px;font-weight:600;transition:all .2s}.seg>span.active{color:var(--primary-deep,#5a4bd6);background:#fff;box-shadow:0 2px 8px #0000000f}.order-tabs{-webkit-overflow-scrolling:touch;gap:8px;margin:14px 0 4px;padding:4px 0;display:flex;overflow-x:auto}.order-tabs::-webkit-scrollbar{display:none}.order-tabs .ot{color:var(--text-3);cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e8eaf2;border-radius:999px;flex:none;padding:6px 13px;font-size:14px;font-weight:600}.order-tabs .ot.active{color:var(--primary,#6d5efc);border-color:var(--primary,#6d5efc);background:#f5f3ff}.order-card{padding:16px}.order-status-sel{cursor:pointer;background:#fff;border:1.5px solid;border-radius:999px;outline:none;padding:3px 10px;font-size:14px;font-weight:700}.order-info{color:var(--text-2);flex-wrap:wrap;gap:6px 14px;font-size:14px;display:flex}.order-actions{flex-wrap:wrap;gap:8px;display:flex}.order-actions .btn{padding:6px 12px;font-size:14px}.contract-preview{border:1px solid #eceaf6}.quote-table{border-collapse:collapse;width:100%}.quote-table td{border:1px solid #eef0f6;padding:10px 12px;font-size:14px}.quote-table td.k{color:var(--text-3);background:#fafbff;width:34%}.quote-table td.v{font-weight:600}.tabbar{width:100%;max-width:480px;height:calc(64px + var(--safe-bottom));padding-bottom:var(--safe-bottom);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);border-top:1px solid var(--line);z-index:60;background:#fffffff0;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar .tab{color:var(--text-3);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:13px;display:flex}.tabbar .tab .ico{font-size:21px;line-height:1}.tabbar .tab.center .ico{background:linear-gradient(135deg, var(--primary), var(--primary-2));color:#fff;border-radius:50%;place-items:center;width:46px;height:46px;margin-top:-18px;font-size:24px;display:grid;box-shadow:0 8px 20px #6d5efc66}.tabbar .tab .ico{place-items:center;display:grid}.tabbar .tab .ico svg{display:block}.tabbar .tab.active{color:#d9551a;font-weight:800}.tabbar .tab.active .ico{color:#d9551a;background:#fff0e7;border-radius:11px 11px 5px;width:34px;height:30px}.tabbar .tab-badge{color:#fff;text-align:center;background:#dc3f2f;border:2px solid #fff;border-radius:10px;min-width:17px;height:17px;padding:0 4px;font-size:12px;font-weight:900;line-height:13px;position:absolute;top:-5px;right:-10px;box-shadow:0 2px 7px #97231942}.row{align-items:center;display:flex}.row-between{justify-content:space-between;align-items:center;display:flex}.gap8{gap:8px}.gap12{gap:12px}.gap6{gap:6px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.muted{color:var(--text-3)}.sub{color:var(--text-2);font-size:14px}.center{text-align:center}.flex1{flex:1}.bold{font-weight:700}.small{font-size:14px}@media (width<=640px){input,textarea,select{font-size:16px}}.hidden{display:none}.empty{text-align:center;color:var(--text-3);padding:40px 20px}.empty .emoji{margin-bottom:12px;font-size:48px}.stars{color:var(--gold);letter-spacing:2px}.badge-row{flex-wrap:wrap;gap:6px;display:flex}.loading{min-height:60vh;color:var(--text-3);place-items:center;display:grid}.spinner{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;margin-bottom:10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast-wrap{z-index:9999;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:20%;left:50%;transform:translate(-50%)}.toast{color:#fff;max-width:80vw;box-shadow:var(--shadow-lg);background:#1e2030eb;border-radius:12px;padding:12px 20px;font-size:14px;animation:.25s toastIn}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1}}.mask{z-index:200;background:#0f101e8c;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.mask.center-mask{align-items:center}.sheet{width:100%;max-width:480px;padding:20px 18px calc(20px + var(--safe-bottom));background:#fff;border-radius:22px 22px 0 0;max-height:86vh;animation:.28s cubic-bezier(.2,.8,.2,1) sheetUp;overflow-y:auto}.dialog{background:#fff;border-radius:20px;width:86%;max-width:360px;padding:22px;animation:.28s cubic-bezier(.2,.8,.2,1) sheetUp}@keyframes sheetUp{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.sheet-title{text-align:center;margin-bottom:14px;font-size:17px;font-weight:700}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.photo-item{aspect-ratio:1;background:var(--bg);border-radius:12px;position:relative;overflow:hidden}.photo-item img{object-fit:cover;width:100%;height:100%}.photo-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:5px}.photo-card .photo-item{border-radius:10px}.photo-item-footer{padding-top:7px}.photo-item-footer label{color:var(--text-3);margin-bottom:4px;font-size:14px;display:block}.photo-item-footer select{border:1px solid var(--line);width:100%;min-width:0;height:36px;color:var(--text);background:#fafbff;border-radius:9px;padding:0 26px 0 8px;font-size:14px;font-weight:600}.photo-item .del{color:#fff;cursor:pointer;background:#00000080;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;display:grid;position:absolute;top:4px;right:4px}.photo-add{aspect-ratio:1;border:2px dashed var(--line);color:var(--text-3);cursor:pointer;text-align:center;background:#fafbff;border-radius:12px;place-items:center;font-size:14px;display:grid}.photo-add .plus{font-size:26px;line-height:1}.watermark-tip{color:#fff;text-align:center;background:#00000040;place-items:center;padding:4px;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.signature-writing-rule{color:#5a3020;background:#fff7f0;border:1px solid #edc7ae;border-radius:14px 14px 5px;align-items:flex-start;gap:11px;margin-bottom:12px;padding:12px 13px;display:flex}.signature-writing-rule>span{color:#fff;background:#c85727;border-radius:10px 10px 3px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid}.signature-writing-rule b{font-size:14px;line-height:1.2;display:block}.signature-writing-rule p{color:#7a5140;margin:4px 0 0;font-size:14px;line-height:1.6}.identity-agent-page .btn-primary{box-shadow:none;background:#20283a}.identity-agent-page .card-title .bar{background:#bf744a}.photo-full-tip{color:#a3611a;text-align:center;background:#fff7e6;border-radius:10px;justify-content:center;align-items:center;padding:10px 12px;font-size:14px;display:flex}.gallery-more,.cert-scroll-more{border:1px solid var(--line,#eee);color:var(--text-2,#666);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;display:inline-flex}.gallery-more:hover,.cert-scroll-more:hover{border-color:var(--brand,#6d5efc);color:var(--brand,#6d5efc)}.agent-aunt-auth-page,.store-auth-confirm{padding-bottom:36px}.agent-aunt-auth-page h2,.store-auth-confirm h2{font-size:20px}.agent-aunt-auth-page h3{margin:0 0 8px;font-size:18px}.agent-aunt-auth-page p,.store-auth-confirm p{color:#655f6a;font-size:16px;line-height:1.65}.agent-aunt-auth-page .btn{min-height:48px;font-size:15px}.agent-aunt-auth-tabs{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.agent-aunt-auth-tabs button{background:#fff;border:1px solid #e0d9ec;border-radius:12px;min-height:48px;font-size:15px;font-weight:800}.agent-aunt-auth-tabs button.active{color:#fff;background:#6d5efc;border-color:#6d5efc}.agent-aunt-auth-qr{border-radius:12px;width:220px;max-width:100%;margin:16px auto;display:block}.agent-aunt-auth-url{overflow-wrap:anywhere;background:#f7f4fb;border-radius:10px;margin-bottom:12px;padding:12px;font-size:14px;line-height:1.5}.agent-aunt-auth-code{letter-spacing:8px;text-align:center;height:52px;margin:12px 0;font-size:24px;font-weight:900}.agent-aunt-auth-preview{background:#f0faf6;border:1px solid #b9dfd1;border-radius:12px;margin-top:12px;padding:14px}.agent-aunt-auth-preview b,.agent-aunt-auth-preview span{font-size:16px;display:block}.agent-aunt-auth-preview span{color:#686170;margin:5px 0 12px}.agent-aunt-auth-group{margin-top:16px}.agent-aunt-auth-group h4{margin:0 0 8px;font-size:16px}.agent-aunt-auth-group>button{text-align:left;background:#fff;border:1px solid #eee9f2;border-radius:10px;justify-content:space-between;align-items:flex-start;width:100%;min-height:54px;margin-bottom:7px;padding:10px 12px;font-size:15px;display:flex}.agent-aunt-auth-group>button span,.agent-aunt-auth-group>p{color:#817989;font-size:14px}.ag-btn-authorized-aunt{color:#fff;background:#18866c;width:100%;margin-top:10px}.store-auth-confirm>.row .btn{min-height:48px;font-size:15px}.t036-focus{outline-offset:4px;border-radius:14px;outline:3px solid #ef8a45;animation:.7s ease-in-out 2 t036FocusPulse}@keyframes t036FocusPulse{50%{background:#fff4ea;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.t036-focus{animation:none}}
