:root{color-scheme:light;--bg: #f8fafc;--panel: #ffffff;--ink: #1e293b;--muted: #64748b;--soft: #f1f5f9;--line: #e2e8f0;--teal: #14b8a6;--teal-dark: #0d9488;--teal-soft: #f0fdfa;--amber: #fbbf24;--green: #16a34a;--red: #dc2626;--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;letter-spacing:0;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}.desktop-shell{width:100vw;height:100vh;margin:0;display:flex;flex-direction:column;overflow:visible;background:#fff;box-shadow:none}.desktop-header{z-index:20;height:56px;padding:0 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}.brand,.header-actions,.quota-pill,.header-login,.user-menu,.panel-head,.ready-tag,.action-row,.file-result,.desktop-footer,.desktop-footer span,.group-title,.upload-box div,.upload-box button,.compliance,.template-request,.template-request button{display:flex;align-items:center}.brand{gap:12px}.brand strong{font-size:18px;font-weight:800}.brand span{color:var(--muted);font-size:14px}.brand .divider{width:1px;height:16px;background:#cbd5e1}.brand-mark{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;color:var(--teal)}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.brand-mark.small{width:28px;height:28px}.header-actions{gap:24px}.quota-pill{gap:12px;padding:6px 12px;border:1px solid #ccfbf1;border-radius:999px;background:var(--teal-soft);color:#0f766e;font-size:12px;font-weight:600}.quota-pill strong{font-size:15px}.quota-pill button{border:0;border-radius:999px;padding:3px 12px;background:var(--teal);color:#fff;font-size:12px;transition:background .16s ease}.quota-pill button:hover,.header-login:hover,.primary-action:hover,.file-result button:hover,.mobile-generate:hover,.mobile-hero button:first-child:hover{background:var(--teal-dark)}.header-login{gap:6px;padding:7px 14px;border-radius:999px;background:var(--teal);color:#fff;font-size:13px;font-weight:700}.user-menu{position:relative;gap:8px;z-index:100}.user-menu-trigger{border:0;padding:0;display:flex;align-items:center;gap:8px;background:transparent;color:var(--muted)}.user-menu img,.mobile-avatar img{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);object-fit:cover}.avatar-fallback{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#f8fafc;color:#64748b}.menu-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:200;width:192px;padding:8px 0;border:1px solid var(--line);border-radius:8px;display:none;background:#fff;box-shadow:0 20px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a1a}.user-menu.open .menu-popover,.user-menu:focus-within .menu-popover{display:block}.menu-popover a,.menu-popover button{display:flex;gap:8px;align-items:center;width:100%;padding:9px 16px;border:0;background:transparent;color:#334155;font-size:13px;cursor:pointer;text-align:left}.menu-popover a:hover,.menu-popover button:hover{background:#f8fafc}.menu-popover .danger{color:var(--red)}.desktop-body{min-height:0;display:flex;flex:1;overflow:hidden}.sidebar{width:280px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#f8fafc;overflow-y:auto}.template-group{padding:18px 14px 8px}.template-group.muted{opacity:.78}.group-title{gap:8px;padding:0 12px;margin-bottom:12px;color:var(--teal-dark)}.group-title h2{margin:0;color:#334155;font-size:13px;text-transform:uppercase}.template-list{display:grid;gap:8px}.template-item{width:100%;min-height:62px;padding:10px 12px;border:0;border-left:4px solid transparent;border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;row-gap:6px;background:transparent;color:var(--muted);text-align:left;transition:background .16s ease,color .16s ease}.template-item-main{min-width:0;padding:0;border:0;display:grid;grid-template-rows:auto auto;gap:6px;background:transparent;text-align:left}.template-item-main>span:first-child{min-width:0;overflow:hidden;color:#64748b;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.template-item:hover{background:#e2e8f0}.template-item.active{border-left-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.template-item-main small{grid-column:1;width:max-content;max-width:100%;padding:2px 6px;border-radius:4px;background:#e2e8f0;color:#64748b;font-size:11px;line-height:1.35;white-space:nowrap}.template-item.active .template-item-main>span:first-child{color:var(--teal-dark)}.template-item.active .template-item-main small{background:var(--teal);color:#fff}.template-actions{grid-column:2;grid-row:1 / span 2;display:inline-flex;align-items:center;gap:6px;color:#64748b}.template-actions button{width:22px;height:22px;padding:0;border:0;border-radius:6px;display:grid;place-items:center;background:transparent;color:#64748b}.template-actions button:hover{background:#cbd5e1;color:var(--teal-dark)}.template-actions button.active{background:#ccfbf1;color:var(--teal-dark)}.recent-templates{margin-bottom:14px;display:flex;align-items:center;gap:8px;min-height:38px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}.recent-templates>div{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;color:#334155}.recent-templates button{flex:0 0 auto;max-width:220px;min-height:32px;border:1px solid #dbe4ee;border-radius:8px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:#334155;font-weight:700;white-space:nowrap}.recent-templates button span{color:#94a3b8;font-size:11px}.upload-box{margin-top:auto;padding:16px;border-top:1px solid var(--line);background:#fff}.upload-box div{gap:8px;color:#334155}.upload-box svg{color:var(--teal)}.upload-box strong{font-size:12px}.upload-box p,.upload-box small{color:var(--muted);font-size:10px;line-height:1.7}.upload-box button{width:100%;justify-content:center;gap:6px;height:34px;border:1px solid var(--teal);border-radius:8px;background:#fff;color:var(--teal-dark);font-size:12px;font-weight:700}.workspace{flex:1;min-width:0;padding:32px;overflow-y:auto;background:#f8fafc}.workspace>*{max-width:960px;margin-left:auto;margin-right:auto}.panel,.generated-card{border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.panel{padding:24px;margin-bottom:32px}.panel.compact{margin-bottom:28px}.panel-head{justify-content:space-between;gap:16px;margin-bottom:24px}.panel-head h1,.panel-head h2{margin:0;display:inline;font-size:22px;font-weight:800}.mode-tag{margin-left:12px;padding:3px 8px;border-radius:5px;background:#ccfbf1;color:#0f766e;font-size:12px;font-weight:700}.ready-tag,.success-tag,.pending-tag,.cost-tag{border-radius:999px;font-size:12px;font-weight:700}.ready-tag{gap:6px;padding:5px 12px;border:1px solid #ccfbf1;background:var(--teal-soft);color:var(--teal-dark)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin-bottom:24px}.form-field{display:grid;gap:8px;color:#334155;font-size:13px;font-weight:700}.form-field.span-2{grid-column:span 2}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.form-field input,.form-field select{height:42px;padding:0 14px}.form-field textarea{resize:vertical;min-height:82px;padding:10px 14px;line-height:1.6}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #14b8a624}.image-input{display:flex;align-items:center;gap:8px;width:100%;height:42px;border:1px dashed var(--line);border-radius:8px;padding:0 14px;background:#fff;color:var(--ink);cursor:pointer}.image-input input{display:none}.image-input svg{color:var(--teal)}.image-input span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hint{display:flex;align-items:flex-start;gap:6px;color:var(--muted);font-size:11px;font-style:italic;font-weight:400}.hint svg{flex:0 0 auto;color:#f59e0b}.action-row{gap:14px;padding-top:22px;border-top:1px solid #f1f5f9}.primary-action{min-width:190px;height:48px;border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--teal);color:#fff;font-weight:800;box-shadow:0 10px 18px #14b8a629}.cost-tag{padding:5px 10px;background:#fef3c7;color:#a16207}.quiet{color:#94a3b8;font-size:12px}.compliance{gap:12px;margin-top:16px;padding:12px;border:1px solid #ccfbf1;border-radius:8px;align-items:flex-start;background:var(--teal-soft);color:#115e59}.compliance svg{flex:0 0 auto;color:var(--teal-dark)}.compliance p{margin:0;font-size:12px;line-height:1.7}.compliance.compact{margin-top:16px}.section-title{margin:0 0 16px;padding-left:12px;border-left:4px solid var(--teal);color:#334155;font-size:14px;font-weight:800}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px}.preview-grid div{display:grid;gap:6px}.preview-grid .wide{grid-column:span 2}.preview-grid span{color:#94a3b8;font-size:13px}.preview-grid strong{color:#334155;font-weight:700}.generated-section{margin-bottom:32px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title-row button,.copy-status{display:inline-flex;align-items:center;gap:6px}.section-title-row button{min-height:34px;border:1px solid #ccfbf1;border-radius:8px;padding:0 12px;background:#f0fdfa;color:var(--teal-dark);font-weight:800}.generated-card{position:relative;padding:20px;margin-top:16px;display:grid;grid-template-columns:1fr auto;gap:12px}.generated-card div{display:flex;align-items:center;gap:10px}.generated-card .generated-actions{justify-content:flex-end;flex-wrap:wrap}.generated-card strong{font-weight:800}.generated-card span{color:#94a3b8;font-size:10px}.generated-card button{border:0;display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--teal-dark);font-size:11px}.generated-card button:disabled{color:#cbd5e1;cursor:not-allowed}.copy-status{margin:12px 0 0;color:var(--teal-dark);font-size:13px;font-weight:700}.generated-card p{grid-column:1 / -1;margin:0;padding:8px;border:1px solid transparent;border-radius:8px;color:#475569;font-size:14px;line-height:1.8;white-space:pre-line}.generated-card:hover p{border-color:#ccfbf1}.result-panel{border:2px solid var(--teal)}.success-tag,.pending-tag{padding:5px 10px}.success-tag{background:#dcfce7;color:#15803d}.pending-tag{background:#f1f5f9;color:var(--muted)}.file-result{gap:16px;padding:16px;border-radius:12px;background:#f8fafc;flex-wrap:wrap}.word-file-icon{width:48px;height:48px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;color:#2563eb;font-size:26px;font-weight:900}.file-result div:nth-child(2){min-width:0;flex:1;display:grid;gap:5px}.file-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-result span{color:#94a3b8;font-size:11px}.file-result button{height:38px;border:0;border-radius:8px;display:inline-flex;align-items:center;gap:8px;padding:0 18px;background:var(--teal);color:#fff;font-weight:800}.file-result button:disabled{background:#cbd5e1;cursor:not-allowed}.template-request{padding:32px;border:2px dashed #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;text-align:center;background:#f1f5f9}.template-request>svg{width:64px;height:64px;padding:14px;border-radius:50%;background:#fff;color:var(--teal);box-shadow:var(--shadow)}.template-request h2{margin:16px 0 8px}.template-request p{max-width:430px;margin:0 0 20px;color:var(--muted);line-height:1.7}.template-request button{gap:8px;height:40px;border:1px solid var(--teal);border-radius:12px;padding:0 24px;background:#fff;color:var(--teal-dark);font-weight:800}.template-upload-backdrop{position:fixed;inset:0;z-index:500;padding:24px;display:flex;align-items:center;justify-content:center;background:#0f172a6b}.template-upload-dialog{width:min(520px,100%);max-height:calc(100vh - 48px);overflow-y:auto;padding:22px;border-radius:12px;background:#fff;box-shadow:0 24px 60px #0f172a3d}.dialog-head{margin-bottom:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dialog-head h2{margin:0 0 6px;color:#1f2937;font-size:20px}.dialog-head p,.upload-status{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.dialog-head button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#475569}.file-drop{margin-bottom:18px;min-height:152px;padding:22px;border:2px dashed #cbd5e1;border-radius:12px;display:grid;place-items:center;gap:8px;background:#f8fafc;color:var(--muted);text-align:center;cursor:pointer}.file-drop input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.file-drop svg{color:var(--teal)}.file-drop strong{max-width:100%;overflow-wrap:anywhere;color:#334155;font-size:14px}.file-drop span{font-size:12px}.upload-status{margin-top:12px;padding:10px 12px;border-radius:8px;background:#f8fafc}.dialog-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:10px}.dialog-actions button{min-width:82px;height:38px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:#475569;font-weight:800}.dialog-actions .primary{border-color:var(--teal);background:var(--teal);color:#fff}.desktop-footer{height:40px;padding:0 24px;border-top:1px solid #f1f5f9;justify-content:space-between;background:#fff;color:#94a3b8;font-size:10px}.desktop-footer span{gap:6px}.spin{animation:spin .8s linear infinite}.mobile-shell{display:none}.login-shell{width:100%;min-height:100vh;margin:0;display:flex;overflow:hidden;background:#fff;box-shadow:none}.login-gradient{position:relative;width:60%;padding:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}.login-content{max-width:440px;text-align:center}.login-logo{width:80px;height:80px;margin:0 auto 24px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#fff3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden}.login-logo img{width:100%;height:100%;display:block;object-fit:contain}.login-gradient h1{margin:0 0 14px;font-size:30px}.login-gradient p{margin:0 0 36px;color:#fffc;font-size:18px}.login-features{display:grid;gap:20px;text-align:left}.login-feature{display:flex;align-items:center;gap:16px}.login-feature>span{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#ffffff26}.login-feature svg{width:21px;height:21px}.login-feature strong{display:block;margin-bottom:4px}.login-feature p{margin:0;color:#ffffff9e;font-size:14px}.login-policy{position:absolute;bottom:32px;display:flex;gap:16px;color:#ffffff8c;font-size:12px}.login-form-panel{width:40%;padding:48px;display:flex;align-items:center;justify-content:center}.login-form-panel>div{width:100%;max-width:380px}.login-form-panel h2,.mobile-login-card h2{margin:0 0 6px;color:#1e293b;font-size:24px}.login-form-panel>div>p{margin:0 0 28px;color:#94a3b8}.login-tabs{margin-bottom:24px;border-bottom:1px solid var(--line);display:flex}.login-tabs button{flex:1;height:45px;border:0;border-bottom:2px solid transparent;background:transparent;color:#94a3b8;font-weight:700}.login-tabs button.active{border-color:var(--teal);color:var(--teal-dark)}.wechat-login{display:grid;gap:14px;justify-items:center;text-align:center}.qr-box{width:192px;height:192px;border:2px solid var(--line);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;color:#cbd5e1}.wechat-login p,.wechat-login small{margin:0;color:#94a3b8;font-size:12px}.wechat-login small{display:flex;align-items:center;gap:6px}.wechat-login small svg{color:var(--teal)}.phone-login{display:grid;gap:18px}.auth-toast{position:fixed;left:50%;top:22px;z-index:1000;max-width:min(420px,calc(100vw - 32px));transform:translate(-50%);border:1px solid #fecaca;border-radius:8px;padding:12px 16px;background:#fef2f2;color:#991b1b;box-shadow:0 18px 40px #0f172a29;font-size:14px;font-weight:700;line-height:1.45;text-align:center}.phone-input{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.phone-input span{padding:10px 12px;border-right:1px solid var(--line);background:#f8fafc;color:var(--muted)}.phone-input input{min-width:0;border:0;border-radius:0}.code-row{display:flex;gap:12px}.code-row input{min-width:0;flex:1;height:42px;border:1px solid var(--line);border-radius:8px;padding:0 14px}.code-row button{border:1px solid var(--teal);border-radius:8px;padding:0 16px;background:#fff;color:var(--teal-dark);white-space:nowrap}.code-row button:disabled{border-color:var(--line);color:#94a3b8;cursor:not-allowed}.forgot-password-link{justify-self:end;margin-top:-8px;border:0;padding:0;background:transparent;color:var(--teal-dark);font-size:12px;font-weight:700}.login-submit{height:48px;border:0;border-radius:12px;background:var(--teal);color:#fff;font-weight:800}.phone-login>p,.phone-login>a,.back-home,.support-link,.skip-link{color:#94a3b8;text-align:center;font-size:12px}.agreement{margin-top:26px;padding-top:22px;border-top:1px solid #f1f5f9;display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:12px;line-height:1.7}.agreement a,.legal-text a,.center-link{color:var(--teal-dark)}.back-home,.support-link,.skip-link{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:4px}.page-stack{display:grid;gap:24px;padding-bottom:48px}.page-title h1{margin:0;font-size:24px}.page-title p{margin:6px 0 0;color:var(--muted)}.balance-banner{padding:20px;border:1px solid #dbeafe;border-radius:12px;display:flex;align-items:center;gap:16px;background:#eff6ff}.balance-banner>div:first-child{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--teal);box-shadow:var(--shadow)}.balance-banner p{margin:0 0 5px;color:#475569}.balance-banner strong{color:var(--teal);font-size:26px}.balance-banner span{color:#94a3b8;font-size:12px}.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.plan-card{position:relative;min-height:284px;padding:20px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;background:#fff;box-shadow:var(--shadow)}.plan-card.recommend{border:2px solid var(--teal);box-shadow:0 4px 20px #14b8a626}.recommend-badge{position:absolute;right:12px;top:-11px;border-radius:999px;padding:3px 12px;background:var(--teal);color:#fff;font-size:10px;font-weight:800}.plan-card h2{margin:0 0 10px;font-size:14px}.price-row strong{color:var(--teal-dark);font-size:26px}.price-row span,.plan-card small{color:var(--muted);font-size:12px}.plan-card ul{flex:1;margin:18px 0;padding:0;display:grid;gap:9px;list-style:none}.plan-card li{display:flex;align-items:flex-start;gap:7px;color:#475569;font-size:12px}.plan-card li svg{color:var(--teal)}.plan-card button{height:38px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569;font-weight:700}.plan-card.recommend button{border:0;background:var(--teal);color:#fff}.wechat-pay-modal-backdrop{position:fixed;inset:0;z-index:80;padding:24px;display:grid;place-items:center;background:#0f172a6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.wechat-pay-panel{width:min(560px,100%);border:1px solid #bbf7d0;border-radius:12px;padding:18px;display:grid;gap:16px;background:#f8fffb;box-shadow:0 24px 70px #0f172a3d;animation:payModalIn .18s ease-out}.wechat-pay-head,.wechat-pay-body{display:flex;align-items:center;gap:16px}.wechat-pay-head{justify-content:space-between}.wechat-pay-head div{display:grid;gap:4px}.wechat-pay-head strong{color:#166534;font-size:16px}.wechat-pay-head span,.wechat-pay-copy small{color:#64748b;font-size:12px}.wechat-pay-head button{width:32px;height:32px;border:1px solid #dcfce7;border-radius:8px;display:grid;place-items:center;background:#fff;color:#166534}.wechat-pay-body{align-items:flex-start}.wechat-qr-box{width:220px;height:220px;flex:0 0 auto;border:1px solid #dcfce7;border-radius:8px;display:grid;place-items:center;overflow:hidden;background:#fff;color:var(--teal)}.wechat-qr-box img{width:100%;height:100%;display:block;image-rendering:pixelated}.wechat-pay-success-mark{position:relative;width:126px;height:126px;border-radius:999px;display:grid;place-items:center;background:#dcfce7;color:#16a34a;animation:paySuccessPop .42s cubic-bezier(.2,1.4,.35,1) both}.wechat-pay-success-mark:before,.wechat-pay-success-mark:after{content:"";position:absolute;inset:-14px;border-radius:inherit;border:2px solid rgba(34,197,94,.34);animation:paySuccessRing 1.25s ease-out infinite}.wechat-pay-success-mark:after{animation-delay:.24s}.wechat-pay-panel.paid .wechat-qr-box{border-color:#bbf7d0;background:linear-gradient(180deg,#fff,#f0fdf4)}.wechat-pay-copy{min-width:0;display:grid;gap:10px}.wechat-pay-copy p{margin:0;color:#166534;line-height:1.7}.wechat-pay-copy code{max-width:100%;overflow-wrap:anywhere;border-radius:8px;padding:10px;background:#fff;color:#64748b;font-size:11px;line-height:1.5}.wechat-pay-copy button{width:max-content;height:34px;border:1px solid #86efac;border-radius:8px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:#166534;font-weight:800}@keyframes payModalIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes paySuccessPop{0%{opacity:0;transform:scale(.72)}70%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes paySuccessRing{0%{opacity:.66;transform:scale(.82)}to{opacity:0;transform:scale(1.34)}}.center-link{text-align:center;font-weight:700}.billing-notice{padding:16px;border:1px solid #fde68a;border-radius:12px;display:flex;align-items:flex-start;gap:12px;background:#fffbeb;color:#92400e}.billing-notice p{margin:5px 0 0;font-size:12px;line-height:1.7}.legal-text{margin:0;color:#94a3b8;text-align:center;font-size:12px}.profile-summary{display:flex;align-items:center;justify-content:space-between}.profile-summary>div:first-child{display:flex;align-items:center;gap:16px}.profile-summary img,.profile-avatar{width:56px;height:56px;border:2px solid #99f6e4;border-radius:50%;object-fit:cover}.profile-summary h2{margin:0 0 4px;font-size:18px}.profile-summary p{margin:0;color:#94a3b8}.stat-row{display:flex;gap:44px}.stat-row div{display:grid;justify-items:center;gap:4px}.stat-row svg{color:var(--teal)}.stat-row strong{color:var(--teal);font-size:24px}.stat-row span{color:#94a3b8;font-size:12px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.account-grid.single{grid-template-columns:minmax(0,1fr)}.account-card{padding:24px;border-radius:12px;box-shadow:var(--shadow)}.account-card.blue{background:#e0f2fe}.account-card h2{margin:0 0 14px;font-size:14px}.account-card strong{color:var(--teal);font-size:40px}.account-card strong span{font-size:18px}.account-card p{color:var(--muted);font-size:12px}.account-card a{display:inline-flex;border-radius:8px;padding:9px 20px;background:var(--teal);color:#fff;font-weight:800}.credit-usage-card,.mobile-credit-card{border:1px solid #99f6e4;background:#f0fdfa}.credit-usage-card{display:grid;align-content:start;gap:18px}.credit-card-head{display:flex;align-items:center;gap:10px;color:#64748b}.credit-card-head svg{color:var(--teal-dark)}.credit-card-head span{font-size:14px;font-weight:800}.credit-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.credit-compare div{min-width:0;display:grid;gap:6px}.credit-compare small{color:#64748b;font-size:12px}.credit-compare strong{color:var(--teal-dark);font-size:34px;line-height:1}.credit-compare em{margin-left:3px;font-size:15px;font-style:normal}.credit-progress{height:10px;border-radius:999px;display:flex;overflow:hidden;background:#e2e8f0}.credit-progress span,.credit-progress i{display:block;height:100%}.credit-progress span{background:#94a3b8}.credit-progress i{background:var(--teal)}.reward-panel h2,.profile-edit-panel h2{margin:0;display:flex;align-items:center;gap:8px;font-size:16px}.reward-head{margin-bottom:16px;display:flex;justify-content:space-between;gap:16px}.reward-head p{margin:6px 0 0;color:#64748b}.profile-edit-head{margin-bottom:14px}.profile-edit-head p{margin:6px 0 0;color:#64748b}.reward-head code{align-self:flex-start;border:1px solid #dbeafe;border-radius:8px;padding:7px 10px;background:#eff6ff;color:#1d4ed8;font-weight:700}.profile-edit-row{margin-bottom:14px;display:grid;grid-template-columns:1fr 112px;gap:10px}.profile-edit-row input{min-width:0;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.profile-edit-row button,.reward-task button{border:none;border-radius:8px;background:var(--teal);color:#fff;font-weight:700;cursor:pointer}.profile-edit-row button:disabled,.reward-task button:disabled{background:#cbd5e1;cursor:not-allowed}.reward-task-list{display:grid;gap:10px}.reward-task{border:1px solid #eef2f7;border-radius:8px;padding:12px;display:grid;grid-template-columns:34px 1fr 104px;align-items:center;gap:10px}.reward-task>span{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#f0fdfa;color:var(--teal-dark)}.reward-task strong{display:flex;align-items:center;gap:8px}.reward-task em{color:#f97316;font-size:12px;font-style:normal}.reward-task p{margin:4px 0 0;color:#64748b}.reward-task button{min-height:36px;padding:0 12px}.reward-status,.profile-edit-status{margin:12px 0 0;color:var(--teal-dark);font-weight:700}.reward-panel.mobile .reward-head,.profile-edit-panel.mobile .profile-edit-row,.reward-panel.mobile .reward-task{grid-template-columns:1fr}.reward-panel.mobile .reward-head{display:grid}.reward-panel.mobile .reward-task{justify-items:stretch}.reward-panel.mobile .reward-task>span{display:none}.records-panel h2,.orders-panel h2{margin:0 0 16px;font-size:16px}.record-tabs{margin-bottom:12px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:24px}.record-tabs span{padding-bottom:12px;color:#94a3b8}.record-tabs .active{border-bottom:2px solid var(--teal);color:var(--teal-dark);font-weight:700}.record-tabs small{margin-left:auto;color:#94a3b8}.record-row{min-height:58px;border-bottom:1px solid #f8fafc;display:grid;grid-template-columns:10px 112px 1fr 140px;align-items:center;gap:10px}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.ok{background:#22c55e}.status-dot.pending{background:#eab308}.status-dot.fail{background:#ef4444}.record-row strong.ok{color:#16a34a}.record-row strong.pending{color:#ca8a04}.record-row strong.fail{color:#dc2626}.record-row p{margin:0}.record-row div:last-child{display:grid;justify-items:end;gap:4px}.record-row div:last-child span{color:var(--teal-dark);font-weight:800}.record-row small,.panel-more span,.order-row span{color:#94a3b8;font-size:12px}.panel-more{padding-top:14px;display:flex;align-items:center;justify-content:space-between}.panel-more a{color:var(--teal-dark);font-weight:700}.order-row{min-height:58px;border-bottom:1px solid #f8fafc;display:grid;grid-template-columns:24px 1fr auto auto;align-items:center;gap:14px}.order-row svg{color:var(--teal)}.order-row div{display:grid;gap:4px}.order-row small{border-radius:999px;padding:3px 8px;background:#dcfce7;color:#15803d;font-weight:700}.mobile-login-shell{width:100%;max-width:414px;min-height:100vh;margin:0 auto;background:#fff}.login-gradient.mobile{width:100%;min-height:35vh;padding:48px 24px 40px;flex-direction:column;text-align:center}.login-gradient.mobile .login-logo{width:64px;height:64px;margin-bottom:16px}.login-gradient.mobile h1{font-size:24px}.login-gradient.mobile p{margin:0;font-size:14px}.mobile-login-card{position:relative;z-index:2;min-height:65vh;margin-top:-24px;padding:24px max(18px,env(safe-area-inset-left)) calc(32px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));border-radius:24px 24px 0 0;background:#fff}.mobile-login-card h2{font-size:18px}.mobile-wechat{display:grid;gap:14px;justify-items:center;padding:24px 0}.mobile-wechat div{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#07c1601a;color:#07c160}.mobile-wechat button{width:100%;height:48px;border:0;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;background:#07c160;color:#fff;font-weight:800}.mobile-wechat p,.skip-link{color:#94a3b8;font-size:12px}.mobile-simple-header{position:sticky;top:0;z-index:20;height:48px;padding:0 16px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;background:#fff}.mobile-simple-header a{display:flex;align-items:center;gap:4px;color:var(--muted)}.mobile-profile-main{display:grid;align-content:start;gap:16px}.mobile-profile-main .mobile-card,.mobile-profile-main .mobile-quick-grid,.mobile-profile-main .mobile-links{margin-top:0}.mobile-profile-card{padding:20px;border-radius:12px;display:grid;justify-items:center;background:#fff;box-shadow:var(--shadow)}.mobile-profile-card img,.mobile-profile-card .profile-avatar{width:56px;height:56px;border:2px solid #ccfbf1;border-radius:50%}.mobile-profile-card h1{margin:8px 0 4px;font-size:16px}.mobile-profile-card>span:not(.profile-avatar){border-radius:999px;padding:3px 10px;background:#f1f5f9;color:#94a3b8;font-size:12px}.mobile-credit-hero{width:100%;margin-top:18px;border-radius:12px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;box-shadow:0 12px 24px #14b8a633}.mobile-credit-hero span{display:grid;gap:4px}.mobile-credit-hero small{color:#ffffffc7;font-size:12px;font-weight:700}.mobile-credit-hero strong{font-size:34px;line-height:1}.mobile-credit-hero em{margin-left:4px;font-size:14px;font-style:normal}.mobile-credit-hero b{border-radius:999px;padding:7px 12px;background:#ffffff2e;color:#fff;font-size:12px;white-space:nowrap}.mobile-profile-card>div{width:100%;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9;display:flex;justify-content:space-around}.mobile-profile-card b{display:grid;justify-items:center}.mobile-profile-card small{color:#94a3b8;font-weight:400}.mobile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mobile-quick-grid a,.mobile-links,.mobile-plan,.mobile-balance{border-radius:12px;background:#fff;box-shadow:var(--shadow)}.mobile-quick-grid a{min-height:130px;padding:16px;display:grid;align-content:start;gap:8px}.mobile-quick-grid a.primary{border:1px solid #99f6e4;background:#f0fdfa}.mobile-quick-grid .mobile-credit-card{gap:10px}.mobile-quick-grid svg{color:#64748b}.mobile-quick-grid a.primary svg{color:var(--teal-dark)}.mobile-quick-grid small{color:var(--muted)}.mobile-quick-grid b{color:var(--teal-dark);font-size:22px}.mobile-quick-grid strong{color:#334155;font-size:13px;font-weight:800}.mobile-quick-grid a:not(.mobile-credit-card)>div{height:6px;border-radius:999px;overflow:hidden;background:#f1f5f9}.mobile-quick-grid a:not(.mobile-credit-card)>div>i{display:block;width:28%;height:100%;background:var(--teal)}.mobile-credit-card .credit-card-head{gap:8px}.mobile-credit-card .credit-card-head span{font-size:12px}.mobile-credit-card .credit-compare{gap:10px}.mobile-credit-card .credit-compare small{font-size:10px}.mobile-credit-card .credit-compare strong{font-size:21px}.mobile-credit-card .credit-compare em{font-size:11px}.mobile-credit-card .credit-progress{height:6px}.mobile-record{padding:12px 0;border-bottom:1px solid #f8fafc}.mobile-record p{margin:0 0 5px;overflow:hidden;color:#334155;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mobile-record span{color:#94a3b8;font-size:10px}.mobile-links{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-links a{padding:10px;color:#475569;font-size:12px}.account-sub-panel{display:grid;gap:16px}.account-sub-head{display:flex;align-items:center;gap:10px}.account-sub-head>svg{color:var(--teal-dark)}.account-sub-head div{display:grid;gap:3px}.account-sub-head strong{color:#1e293b;font-size:16px}.account-sub-head span{color:#94a3b8;font-size:12px}.account-list{display:grid}.account-list-row{min-height:62px;border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;align-items:center;gap:12px}.account-list-row:last-child{border-bottom:0}.account-list-row svg{color:var(--teal)}.account-list-row div{min-width:0;display:grid;gap:4px}.account-list-row strong{overflow:hidden;color:#334155;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.account-list-row small{color:#94a3b8;font-size:12px}.account-list-row b{color:var(--teal-dark);font-size:13px;white-space:nowrap}.account-list-row em{border-radius:999px;padding:4px 8px;background:#f0fdfa;color:var(--teal-dark);font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.account-status{width:8px;height:8px;border-radius:50%;background:#22c55e}.account-status.fail{background:#ef4444}.record-action,.record-rate{min-height:30px;border:1px solid #dbe4ee;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#fff;color:#64748b;font-size:12px;font-weight:800}.record-action{padding:0 10px}.record-rate{width:30px}.record-rate.active,.record-dialog-actions .active{border-color:#99f6e4;background:#f0fdfa;color:var(--teal-dark)}.record-rate.bad.active,.record-dialog-actions .bad.active{border-color:#fecaca;background:#fef2f2;color:#ef4444}.record-dialog-backdrop{position:fixed;inset:0;z-index:60;padding:24px;display:grid;place-items:center;background:#0f172a61}.record-dialog{width:min(860px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border-radius:12px;padding:22px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.record-dialog-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px}.record-kv{border:1px solid #e2e8f0;border-radius:8px;padding:14px;display:grid;gap:10px}.record-kv h3{margin:0;color:#1e293b;font-size:15px}.record-kv article{display:grid;gap:4px}.record-kv span,.record-feedback span{color:#64748b;font-size:12px;font-weight:900}.record-kv p{margin:0;color:#334155;font-size:13px;line-height:1.7;white-space:pre-line}.record-feedback{margin-top:14px;display:grid;gap:8px}.record-feedback textarea{width:100%;border:1px solid #dbe4ee;border-radius:8px;padding:10px;resize:vertical}.record-dialog-actions{margin-top:14px;display:flex;gap:10px}.record-dialog-actions button{min-height:36px;border:1px solid #dbe4ee;border-radius:8px;padding:0 14px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:#334155;font-weight:800}.share-page{min-height:100vh;padding:40px 18px;display:grid;place-items:center;background:#f8fafc}.share-card{width:min(720px,100%);border:1px solid #e2e8f0;border-radius:12px;padding:24px;display:grid;gap:18px;background:#fff;box-shadow:0 18px 50px #0f172a14}.share-head{display:flex;align-items:center;gap:12px}.share-head>span{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#f0fdfa;color:var(--teal-dark)}.share-head h1{margin:0;color:#0f172a;font-size:22px}.share-head p,.share-card>p{margin:4px 0 0;color:#64748b;font-size:13px}.share-card article{border:1px solid #e2e8f0;border-radius:8px;padding:16px;color:#334155;line-height:1.8;white-space:pre-line}.share-actions{display:flex;gap:10px;flex-wrap:wrap}.share-actions button,.share-actions a{min-height:38px;border:1px solid #99f6e4;border-radius:8px;padding:0 14px;display:inline-flex;align-items:center;gap:6px;background:#f0fdfa;color:var(--teal-dark);font-size:14px;font-weight:900;text-decoration:none}@media(max-width:720px){.account-list-row{grid-template-columns:auto minmax(0,1fr) auto;padding:10px 0}.record-action{grid-column:2 / -1;width:max-content}.record-dialog-backdrop{padding:12px}.record-dialog{max-height:calc(100vh - 24px);padding:16px}.record-dialog-grid{grid-template-columns:1fr}.share-card{padding:18px}}.policy-block{border-bottom:1px solid #f1f5f9;padding-bottom:16px}.policy-block:last-child{border-bottom:0;padding-bottom:0}.policy-block h2{margin:0 0 8px;color:#1e293b;font-size:15px}.policy-block p{margin:0;color:#64748b;font-size:13px;line-height:1.8}.support-callout{border-radius:12px;padding:14px;display:flex;align-items:flex-start;gap:12px;background:#f0fdfa;color:#0f766e}.support-callout p{margin:4px 0 0;color:#0f766e;font-size:12px;line-height:1.7}.support-primary{width:max-content;border-radius:8px;padding:10px 14px;display:inline-flex;align-items:center;gap:6px;background:var(--teal);color:#fff;font-weight:800}.mobile-balance{padding:20px;background:linear-gradient(90deg,#14b8a6,#2dd4bf);color:#fff}@media(max-width:900px){.login-shell{flex-direction:column;overflow:visible;background:#f8fafc}.login-gradient,.login-form-panel{width:100%}.login-gradient{min-height:280px;padding:40px 20px 54px}.login-content{max-width:520px}.login-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.login-feature{align-items:flex-start;flex-direction:column;gap:10px;min-width:0}.login-form-panel{margin-top:-24px;padding:28px 20px 36px;align-items:flex-start;background:#fff;border-radius:24px 24px 0 0}.login-form-panel>div{max-width:480px;margin:0 auto}}@media(max-width:767px){.login-shell{min-height:100svh}.login-gradient{min-height:35svh;padding:44px 20px 40px;flex-direction:column;text-align:center}.login-gradient h1{font-size:24px}.login-gradient p{margin-bottom:0;font-size:14px;line-height:1.6}.login-features,.login-policy{display:none}.login-logo{width:64px;height:64px;margin-bottom:16px}.login-form-panel{min-height:65svh;padding:24px max(18px,env(safe-area-inset-left)) calc(32px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right))}.login-form-panel h2,.mobile-login-card h2{font-size:18px}.login-form-panel>div>p{margin-bottom:20px}.phone-login{gap:14px}.login-tabs{margin-bottom:18px}.code-row{gap:8px}.code-row button{flex:0 0 auto;padding:0 12px}.agreement{margin-top:20px;padding-top:18px}}.mobile-balance p,.mobile-balance small{margin:0;color:#ffffffc7}.mobile-balance strong{display:block;margin:6px 0;font-size:34px}.mobile-balance span{font-size:14px}.mobile-plan-list{display:grid;gap:12px}.mobile-plan{position:relative;padding:16px}.mobile-plan.recommend{border:1px solid #99f6e4;box-shadow:0 4px 20px #14b8a626}.mobile-plan>span{position:absolute;left:16px;top:-8px;border-radius:999px;padding:2px 10px;background:var(--teal);color:#fff;font-size:10px;font-weight:800}.mobile-plan h2{margin:0 0 6px;font-size:14px}.mobile-plan b{color:var(--teal-dark);font-size:24px}.mobile-plan small{color:var(--muted)}.mobile-plan ul{margin:10px 0;padding:0;display:grid;gap:6px;color:var(--muted);font-size:12px;list-style:none}.mobile-plan button,.mobile-plan a{height:40px;border:1px solid #99f6e4;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;background:#fff;color:var(--teal-dark);font-weight:700}.mobile-plan button{width:100%;border:0;background:var(--teal);color:#fff}.mobile-shell.force-show{max-width:414px;min-height:100vh;margin:0 auto;display:flex;flex-direction:column;background:#f8fafc}@media(max-width:767px){body{background:#f8fafc}.desktop-shell{display:none}.mobile-shell{max-width:414px;min-height:100vh;margin:0 auto;display:flex;flex-direction:column;background:#f8fafc}.mobile-header{position:sticky;top:0;z-index:20;height:48px;padding:0 16px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;background:#fff}.mobile-header>div:first-child{display:flex;align-items:center;gap:8px}.mobile-header strong{font-size:14px}.mobile-avatar{position:relative}.mobile-avatar img,.mobile-avatar .avatar-fallback{width:28px;height:28px;border:2px solid #ccfbf1}.mobile-avatar span{position:absolute;top:-5px;right:-12px;padding:2px 4px;border-radius:999px;background:var(--teal);color:#fff;font-size:10px;font-weight:800;line-height:1}.mobile-main{flex:1;padding:16px 16px 96px;overflow-y:auto}.mobile-hero{padding:16px;border-radius:12px;background:linear-gradient(135deg,#f0fdfa,#ccfbf1);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}.mobile-hero.generating{transform:translateY(-1px);box-shadow:0 12px 28px #0d948829}.mobile-hero h1{margin:0 0 12px;color:#115e59;font-size:16px}.mobile-hero div{display:flex;gap:12px}.mobile-hero button{height:44px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.mobile-hero button:active,.mobile-generate:active,.mobile-template-drawer button:active{transform:scale(.98)}.mobile-hero button:first-child{flex:1;border:0;background:var(--teal);color:#fff}.mobile-hero button:last-child{border:1px solid #5eead4;padding:0 14px;background:#fff;color:#0f766e}.mobile-hero p{margin:9px 0 0;color:#0f766eb8;text-align:center;font-size:11px}.mobile-card{margin-top:16px;padding:16px;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.mobile-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mobile-card-head strong{color:#334155;font-size:14px}.mobile-card-head a{color:var(--teal-dark);font-size:12px;font-weight:700}.mobile-text-action{border:0;padding:0;display:inline-flex;align-items:center;gap:2px;background:transparent;color:var(--teal-dark);font-size:12px;font-weight:800}.mobile-card h2{margin:0 0 6px;font-size:16px}.mobile-card h2 span{vertical-align:middle;margin-left:6px;padding:2px 6px;border-radius:4px;background:#ccfbf1;color:#0f766e;font-size:10px}.mobile-card>p{margin:0 0 16px;color:var(--muted);font-size:12px}.mobile-form{display:grid;gap:12px}.mobile-form .form-field{font-size:12px}.mobile-form .form-field input{height:40px;background:#f8fafc}.mobile-form .form-field textarea{min-height:70px;background:#f8fafc}.mobile-form details{color:var(--teal-dark);font-size:12px;font-weight:700}.mobile-form summary{display:flex;align-items:center;gap:4px;list-style:none;cursor:pointer}.mobile-form details[open] summary svg{transform:rotate(90deg)}.mobile-form details .form-field{margin-top:12px}.mobile-generate{width:100%;height:48px;margin-top:16px;border:0;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--teal);color:#fff;font-weight:800;box-shadow:0 10px 22px #14b8a633;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.mobile-flow{margin-top:14px;border:1px solid #dbeafe;border-radius:10px;padding:12px;background:#eff6ff;animation:mobileRiseIn .22s ease-out both}.mobile-flow.busy{border-color:#bae6fd;background:#f0f9ff}.mobile-flow.success{border-color:#bbf7d0;background:#f0fdf4}.mobile-flow.error{border-color:#fecaca;background:#fef2f2}.mobile-flow-head{display:flex;align-items:flex-start;gap:10px}.mobile-flow-head>span{width:28px;height:28px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;background:#fff;color:#0284c7}.mobile-flow.success .mobile-flow-head>span{color:#16a34a}.mobile-flow.error .mobile-flow-head>span{color:#dc2626}.mobile-flow-head strong{display:block;color:#0f172a;font-size:13px}.mobile-flow-head p{margin:3px 0 0;color:#64748b;font-size:11px;line-height:1.55}.mobile-flow-steps{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-flow-steps span{min-width:0;display:flex;align-items:center;gap:5px;color:#94a3b8;font-size:11px;font-weight:800}.mobile-flow-steps i{width:18px;height:18px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;color:#fff;font-style:normal;font-size:10px}.mobile-flow-steps .active{color:#0284c7}.mobile-flow-steps .active i{background:#0ea5e9;animation:mobilePulse 1.05s ease-in-out infinite}.mobile-flow-steps .done{color:#16a34a}.mobile-flow-steps .done i{background:#22c55e}.mobile-result-card{margin-top:14px;border-top:1px solid #f1f5f9;padding-top:14px;display:grid;gap:10px;animation:mobileRiseIn .24s ease-out both}.mobile-result-card>div{min-width:0;display:flex;align-items:center;gap:10px}.mobile-result-icon{width:34px;height:34px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;background:#dbeafe;color:#2563eb;font-weight:900}.mobile-result-card strong{display:block;max-width:100%;overflow:hidden;color:#1e293b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.mobile-result-card p{margin:3px 0 0;color:#64748b;font-size:11px;line-height:1.6}.mobile-result-card>button{width:max-content;height:32px;border:1px solid #bfdbfe;border-radius:8px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;background:#eff6ff;color:#2563eb;font-weight:800}.mobile-result-card article{border-left:3px solid #99f6e4;padding-left:10px}.mobile-result-card article span{display:flex;align-items:center;gap:6px;color:#0f766e;font-size:11px;font-weight:900}.mobile-result-card article button{width:24px;height:24px;border:0;border-radius:6px;display:inline-grid;place-items:center;background:#f0fdfa;color:#0f766e}.mobile-result-card article p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.mobile-note{margin-top:12px;padding:12px;border-radius:8px;background:var(--teal-soft)}.mobile-recent-templates{margin-top:-6px;display:grid;gap:8px}.mobile-recent-templates>div:first-child{display:flex;align-items:center;gap:6px;color:#334155;font-size:13px}.mobile-recent-templates>div:last-child{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.mobile-recent-templates button{flex:0 0 auto;max-width:180px;min-height:34px;border:1px solid #dbe4ee;border-radius:8px;padding:0 10px;overflow:hidden;background:#fff;color:#334155;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-copy-status{margin:8px 0 0;color:#0f766e;font-size:12px;font-weight:800}.mobile-note p{margin:0;color:#0f766e;font-size:11px;line-height:1.7}.bottom-nav{position:fixed;left:50%;bottom:0;z-index:30;width:100%;max-width:414px;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-around;transform:translate(-50%);background:#fff}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#94a3b8;font-size:10px}.bottom-nav a.active{color:var(--teal);font-weight:700}.mobile-drawer-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#0f172a57;animation:mobileFadeIn .18s ease-out both}.mobile-template-drawer{width:100%;max-width:414px;max-height:min(78vh,680px);border-radius:16px 16px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;background:#fff;box-shadow:0 -24px 60px #0f172a38;animation:mobileDrawerIn .24s cubic-bezier(.2,.9,.2,1) both}.mobile-drawer-grip{width:42px;height:4px;margin:0 auto 12px;border-radius:999px;background:#cbd5e1}.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.mobile-drawer-head div{display:grid;gap:3px}.mobile-drawer-head strong{color:#0f172a;font-size:16px}.mobile-drawer-head span{color:#94a3b8;font-size:12px}.mobile-drawer-head button{width:32px;height:32px;border:1px solid #e2e8f0;border-radius:8px;display:grid;place-items:center;background:#fff;color:#475569}.mobile-drawer-list{min-height:0;padding-top:12px;display:grid;gap:16px;overflow-y:auto}.mobile-drawer-empty{min-height:160px;display:grid;align-content:center;justify-items:center;gap:8px;color:#94a3b8;text-align:center}.mobile-drawer-empty svg{color:#14b8a6}.mobile-drawer-empty strong{color:#334155;font-size:14px}.mobile-drawer-empty span{font-size:12px}.mobile-drawer-group{display:grid;gap:8px}.mobile-drawer-group h3{margin:0;color:#64748b;font-size:12px}.mobile-drawer-group button{min-height:70px;border:1px solid #e2e8f0;border-radius:10px;padding:11px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;background:#fff;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.mobile-drawer-group button.active{border-color:#5eead4;background:#f0fdfa}.mobile-drawer-group button>span{min-width:0;display:grid;gap:5px}.mobile-drawer-group strong{overflow:hidden;color:#1e293b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-group small{display:-webkit-box;overflow:hidden;color:#94a3b8;font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mobile-drawer-group em{border-radius:999px;padding:4px 7px;background:#f1f5f9;color:#64748b;font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}.mobile-drawer-group button.active em{background:#ccfbf1;color:#0f766e}.mobile-drawer-group button>svg{color:var(--teal)}.mobile-template-actions{display:inline-flex;gap:4px}.mobile-template-actions span{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#64748b}.mobile-template-actions span:hover{background:#e2e8f0;color:#0f766e}@keyframes mobileFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobileDrawerIn{0%{transform:translateY(28px)}to{transform:translateY(0)}}@keyframes mobileRiseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mobilePulse{0%,to{box-shadow:0 0 #0ea5e957}50%{box-shadow:0 0 0 7px #0ea5e900}}}.admin-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr);background:#f8fafc}.admin-sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;border-right:1px solid var(--line);display:grid;align-content:start;gap:18px;background:#fff}.admin-brand{min-height:42px;padding:0 10px;border-radius:8px;display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:900}.admin-brand span{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal-dark)}.admin-side-nav{display:grid;gap:6px}.admin-side-nav a{min-height:40px;padding:0 11px;border-radius:8px;display:flex;align-items:center;gap:9px;color:#475569;font-weight:800}.admin-side-nav a:hover,.admin-side-nav a.active{background:var(--teal-soft);color:#0f766e}.admin-main,.admin-page{min-width:0;padding:24px;display:grid;align-content:start;gap:16px}.admin-page-head{min-height:76px;padding:16px 20px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;box-shadow:var(--shadow)}.admin-page-head span{color:var(--muted);font-size:12px}.admin-page-head h1{margin:4px 0 0;color:var(--ink);font-size:22px}.admin-page-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.admin-account{min-width:132px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;display:grid;gap:3px;background:#f8fafc;text-align:right}.admin-account strong{color:var(--ink);font-size:13px}.admin-account small{color:var(--muted);font-size:12px}.admin-topbar,.admin-section,.admin-access,.admin-empty{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.admin-topbar{min-height:72px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.admin-topbar span,.admin-section-head span{color:var(--muted);font-size:12px}.admin-topbar h1,.admin-section h2,.admin-access h1{margin:0;color:var(--ink)}.admin-topbar h1{margin-top:4px;font-size:22px}.admin-topbar p{margin:6px 0 0;color:var(--muted);font-size:13px}.admin-topbar a,.admin-access a,.admin-success a,.admin-success button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;gap:6px;color:#334155;font-weight:700}.admin-nav,.admin-search,.admin-user-cell,.admin-grant-controls,.admin-record-list div{display:flex;align-items:center}.admin-nav{gap:8px}.admin-nav a:hover,.admin-search button:hover,.admin-grant-controls>button:hover{background:var(--teal-dark);color:#fff}.admin-section{padding:18px}.admin-section-head{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-section h2{font-size:16px}.admin-upload-grid,.admin-risk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.admin-upload-grid label,.admin-risk-grid label{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:700}.admin-upload-grid input,.admin-upload-grid select,.admin-risk-grid input,.admin-risk-grid select,.admin-field-table input,.admin-field-table textarea,.admin-field-table select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--ink);outline:none}.admin-field-table textarea{min-height:76px;padding:8px 10px;resize:vertical;line-height:1.5}.admin-file-field{grid-column:span 2}.admin-file-field input{padding-top:7px}.admin-primary,.admin-ghost,.icon-button{border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800}.admin-primary{height:38px;border:0;padding:0 16px;background:var(--teal);color:#fff}.admin-ghost,.icon-button{height:34px;border:1px solid var(--line);padding:0 10px;background:#fff;color:#334155}.icon-button{width:34px;padding:0}.icon-button.danger{color:var(--red)}.admin-snapshot{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px}.admin-snapshot div{min-height:64px;padding:10px;border:1px solid #edf2f7;border-radius:8px;display:grid;align-content:center;gap:5px;background:#f8fafc}.admin-snapshot span{color:var(--muted);font-size:12px}.admin-snapshot strong{color:var(--ink);font-size:14px}.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-metrics div{min-height:104px;padding:16px;border:1px solid #dbeafe;border-radius:8px;display:grid;align-content:space-between;gap:10px;background:linear-gradient(180deg,#fff,#f8fafc)}.admin-metrics span{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:#e0f2fe;color:#0369a1}.admin-metrics p{margin:0;color:var(--muted);font-size:12px;font-weight:700}.admin-metrics strong{color:var(--ink);font-size:28px;line-height:1}.admin-dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.admin-dashboard-grid.bottom{align-items:start}.admin-chart{display:grid;gap:12px}.admin-chart svg{width:100%;min-height:220px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfdff}.admin-chart line{stroke:#e2e8f0;stroke-width:1}.admin-chart text{fill:#64748b;font-size:11px}.admin-chart .x-label{text-anchor:middle}.admin-chart polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.admin-chart polyline.primary,.admin-chart-legend .primary:before{stroke:#0891b2;background:#0891b2}.admin-chart polyline.secondary,.admin-chart-legend .secondary:before{stroke:#7c3aed;background:#7c3aed}.admin-chart polyline.revenue,.admin-chart-legend .revenue:before{stroke:#16a34a;background:#16a34a}.admin-chart-legend{display:flex;flex-wrap:wrap;gap:10px}.admin-chart-legend span{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:800}.admin-chart-legend span:before{width:18px;height:3px;border-radius:999px;content:""}.admin-rank-list,.admin-funnel{display:grid;gap:12px}.admin-rank-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px}.admin-rank-row>span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#f1f5f9;color:#475569;font-size:12px;font-weight:900}.admin-rank-row div{min-width:0;display:grid;gap:5px}.admin-rank-row strong,.admin-funnel-step strong{overflow:hidden;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.admin-rank-row small,.admin-funnel-step small{color:var(--muted);font-size:12px}.admin-rank-row i,.admin-funnel-step i{height:8px;border-radius:999px;display:block}.admin-rank-row i{background:linear-gradient(90deg,#0891b2,#22c55e)}.admin-rank-row b{color:#0f766e;font-size:16px}.admin-funnel-step{display:grid;gap:8px}.admin-funnel-step div{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-funnel-step span{color:var(--ink);font-weight:900}.admin-funnel-step i{background:linear-gradient(90deg,#f59e0b,#10b981)}.admin-dashboard-empty{min-height:180px;border:1px dashed #cbd5e1;border-radius:8px;display:grid;place-items:center;color:var(--muted);font-size:13px}.admin-warnings{margin-top:12px;padding:10px 12px;border-radius:8px;background:#fffbeb;color:#92400e}.admin-warnings p,.admin-status{margin:0;line-height:1.7}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table-wrap.compact{border:1px solid var(--line);border-radius:8px}.admin-config-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px}.admin-template-list{max-height:520px;overflow:auto;display:grid;align-content:start;gap:8px}.admin-template-list button{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:5px;background:#fff;color:#334155;text-align:left}.admin-template-list button.active{border-color:#2dd4bf;background:var(--teal-soft);color:#0f766e}.admin-template-list strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.admin-template-info{min-width:0;display:grid;gap:5px}.admin-template-list span,.admin-template-list p{margin:0;color:var(--muted);font-size:12px}.admin-config-editor{min-width:0;display:grid;gap:10px}.admin-config-summary,.admin-config-actions{display:flex;align-items:center;gap:10px}.admin-config-summary{min-height:40px;padding:8px 10px;border:1px solid #ccfbf1;border-radius:8px;background:#f0fdfa;color:#0f766e;font-size:13px;font-weight:700}.admin-config-actions{flex-wrap:wrap}.admin-field-table{width:100%;min-width:1280px;border-collapse:collapse}.admin-config-table{min-width:1420px}.admin-user-table{min-width:1320px}.admin-pay-table{min-width:1380px}.admin-icon-button{width:34px;height:34px;border:1px solid #fecaca;border-radius:8px;display:inline-grid;place-items:center;background:#fff;color:var(--red)}.admin-field-table th,.admin-field-table td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:middle}.admin-field-table th{background:#f8fafc;color:#475569;font-size:12px;white-space:nowrap}.admin-field-table td{color:#334155;font-size:13px}.admin-field-table tbody tr:hover td{background:#fbfdff}.admin-field-table code{display:block;max-width:220px;overflow:hidden;color:#64748b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-table-empty{height:76px;color:var(--muted);text-align:center}.admin-publish{display:grid;gap:14px}.admin-checkbox{height:36px;display:flex!important;align-items:center;gap:8px}.admin-checkbox input,.admin-field-table input[type=checkbox]{width:16px;height:16px}.admin-status{color:var(--muted)}.admin-search{height:36px;gap:8px;padding:0 6px 0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}.admin-search input{width:220px;border:0;outline:none;color:var(--ink)}.admin-search button,.admin-grant-controls button{height:28px;border:0;border-radius:7px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;background:var(--teal);color:#fff;font-weight:800}.admin-user-cell{gap:10px}.admin-user-cell>span{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal-dark)}.admin-user-cell div{display:grid;gap:3px}.admin-user-cell strong{color:var(--ink);font-size:14px}.admin-user-cell small,.admin-record-list small{color:var(--muted);font-size:12px}.admin-grant-controls{width:360px;display:grid;grid-template-columns:76px minmax(120px,1fr) auto;gap:8px}.admin-grant-controls input:first-child{width:100%}.admin-grant-controls input:nth-child(2){width:100%}.admin-quick-grants{grid-column:1 / 3;display:flex;gap:6px}.admin-quick-grants button{height:24px;border:1px solid #ccfbf1;border-radius:7px;padding:0 8px;background:var(--teal-soft);color:#0f766e;font-size:12px;font-weight:800}.admin-grant-controls>button{grid-column:3;grid-row:1 / 3;height:68px;align-self:stretch}.admin-record-list{display:grid;min-width:310px;gap:7px}.admin-record-list div{gap:8px;justify-content:start;display:grid;grid-template-columns:minmax(120px,1fr) 44px 128px;align-items:center;padding:6px 8px;border-radius:8px;background:#f8fafc}.admin-record-list span{max-width:150px;overflow:hidden;display:inline-flex;align-items:center;gap:5px;text-overflow:ellipsis;white-space:nowrap}.admin-record-list strong{color:var(--red);text-align:right}.admin-record-list strong.positive{color:var(--teal-dark)}.admin-record-list em{color:var(--muted);font-style:normal}.admin-role-pill,.admin-credit-pill,.admin-count-pill{min-height:26px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.admin-role-pill{background:#f1f5f9;color:#475569}.admin-role-pill.admin{background:#fef3c7;color:#92400e}.admin-credit-pill{background:var(--teal-soft);color:var(--teal-dark)}.admin-count-pill{background:#eef2ff;color:#4338ca}.admin-success{padding:12px;border-radius:8px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:var(--teal-soft);color:#0f766e;font-weight:700}.admin-success a,.admin-success button{min-height:30px;border-color:#99f6e4;color:#0f766e;background:#fff}.admin-access,.admin-empty{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted);text-align:center}.admin-access svg{color:var(--teal)}.admin-access p{margin:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.admin-upload-grid,.admin-risk-grid,.admin-snapshot,.admin-metrics,.admin-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-grid,.admin-config-layout{grid-template-columns:1fr}.admin-template-list{max-height:240px}}@media(max-width:767px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.admin-brand{min-height:36px}.admin-side-nav{display:flex;overflow-x:auto}.admin-side-nav a{flex:0 0 auto}.admin-main,.admin-page{padding:12px}.admin-page-head{align-items:flex-start;flex-direction:column}.admin-account{width:100%;text-align:left}.admin-topbar,.admin-section-head,.admin-success{align-items:flex-start;flex-direction:column}.admin-upload-grid,.admin-risk-grid,.admin-snapshot,.admin-metrics,.admin-dashboard-metrics,.admin-dashboard-grid{grid-template-columns:1fr}.admin-rank-row{grid-template-columns:26px minmax(0,1fr) auto;gap:9px}.admin-file-field{grid-column:auto}}@media(min-width:768px)and (max-width:1439px){.desktop-shell{width:100%}}.template-catalog{display:grid;gap:14px}.template-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.template-card.pinned{border-color:#5eead4;background:#f0fdfa}.template-card-icon{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal-dark)}.template-card h2{margin:0 0 6px;font-size:16px;color:var(--text)}.template-card p{margin:0 0 8px;color:var(--muted);line-height:1.6}.template-card span,.detail-summary span,.field-list-item span{color:var(--muted);font-size:12px}.template-card-actions{display:flex;gap:8px;align-items:center}.template-card-actions button,.template-card-actions a,.primary-link{height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-size:13px;font-weight:700;white-space:nowrap}.template-card-actions button{background:#fff;color:#0f766e}.template-card-actions .primary-link,.primary-link{border-color:var(--teal);background:var(--teal);color:#fff}.detail-summary{display:flex;align-items:center;gap:14px}.detail-summary svg{color:var(--teal)}.detail-summary div{flex:1;display:grid;gap:4px}.field-list{display:grid;gap:10px}.field-list-item{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:12px;align-items:start;padding:10px 12px;border-radius:8px;background:#f8fafc}.field-list-item strong{color:var(--text);font-size:13px}@media(max-width:767px){.template-card{grid-template-columns:36px minmax(0,1fr);padding:12px}.template-card-icon{width:36px;height:36px}.template-card-actions{grid-column:1 / -1;flex-wrap:wrap}.template-card-actions a,.template-card-actions button{flex:1}.detail-summary{align-items:flex-start}.field-list-item{grid-template-columns:1fr;gap:4px}.wechat-pay-modal-backdrop{padding:14px;align-items:end}.wechat-pay-panel{max-height:calc(100vh - 28px);overflow:auto}.wechat-pay-head,.wechat-pay-body{align-items:stretch}.wechat-pay-body{flex-direction:column}.wechat-qr-box{width:min(100%,220px);height:auto;aspect-ratio:1;justify-self:center;align-self:center}.wechat-pay-copy button{width:100%;justify-content:center}}
