*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:#1f2937;background:#f3f4f6;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}a,button{cursor:pointer}a{color:#1769ff;text-decoration:none}input,select{height:32px;border:1px solid #d6dbe3;border-radius:5px;padding:0 12px;background:#fff}table{width:100%;border-collapse:collapse;font-size:14px}td,th{border-bottom:1px solid #edf0f4;padding:15px 10px;text-align:left;vertical-align:middle}th{background:#fafafa;color:#111827;font-weight:600}.adminShell{min-height:100vh;padding:30px 16px}.adminHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.adminHeader h1{margin:0;font-size:18px;color:#111827}.accountMenu{position:relative}.accountTrigger{display:flex;align-items:center;gap:10px;border:0;padding:6px 8px;color:#111827;background:transparent}.accountTrigger span:not(.accountAvatar){display:grid;grid-gap:2px;gap:2px;text-align:left}.accountTrigger strong{font-weight:600}.accountTrigger small{color:#7b8088}.accountTrigger b{color:#7b8088;font-size:12px}.accountAvatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;object-fit:cover;color:#fff;background:#8aadd5;font-weight:700}.accountDropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:grid;min-width:220px;border:1px solid #edf0f4;border-radius:8px;padding:10px;background:#fff;box-shadow:0 18px 45px rgb(15 23 42/14%)}.accountDropdown a,.accountDropdown button{display:flex;align-items:center;min-height:44px;border:0;border-radius:6px;padding:0 14px;color:#111827;background:#fff;font-size:15px;text-align:left}.accountDropdown a:hover,.accountDropdown button:hover{background:#f5f7fb}.accountDropdown button{margin-top:6px;border-top:1px solid #edf0f4;color:#6b7280}.loginShell{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f3f4f6}.loginCard{display:grid;grid-gap:18px;gap:18px;width:min(420px,100%);border-radius:8px;padding:32px;background:#fff;box-shadow:0 18px 50px rgb(15 23 42/10%)}.loginCard h1{margin:0;font-size:24px}.loginCard label{display:grid;grid-gap:8px;gap:8px}.loginCard button,.loginCard input{width:100%}.loginCard p{margin:0;color:#8b95a1;font-size:13px;line-height:1.6}.notice{display:flex;align-items:center;gap:10px;min-height:50px;margin-bottom:14px;border:1px solid #ffd572;border-radius:6px;padding:0 14px;color:#ff2b2b;background:#fff8df;font-size:13px}.notice a{margin-left:10px}.filterBar,.panel{border-radius:6px;background:#fff}.filterBar{display:grid;grid-template-columns:minmax(260px,420px) minmax(260px,420px) 1fr;grid-gap:28px;gap:28px;align-items:center;margin-bottom:16px;padding:22px 62px}.filterBar label{display:flex;align-items:center;gap:8px;white-space:nowrap}.filterBar input{width:100%}.filterActions{display:flex;justify-content:flex-end;gap:12px}.panel{padding:16px 24px 20px}.toolbar{display:flex;gap:8px;margin-bottom:16px}.generateButton,.primaryButton,.secondaryButton{height:34px;border-radius:6px;border:1px solid #1769ff;padding:0 18px}.generateButton,.primaryButton{color:#fff;background:#1769ff}.secondaryButton{color:#111827;background:#fff;border-color:#d6dbe3}.asLink{display:inline-flex;align-items:center}.tableWrap{overflow-x:auto}.rowActions{display:flex;align-items:center;gap:20px}.rowActions button{border:0;padding:0;color:#1769ff;background:transparent}.switch{position:relative;width:44px;height:22px;border:0;border-radius:999px;padding:0;background:#b8bcc3}.switch span{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .16s ease}.switch.on{background:#1769ff}.switch.on span{transform:translateX(22px)}.emptyCell{text-align:center;color:#8b95a1}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:22px;font-size:13px}.pagination button{min-width:28px;height:28px;border:1px solid transparent;border-radius:5px;background:#fff}.pagination button:disabled{cursor:not-allowed;color:#b8bcc3}.pagination .activePage{color:#1769ff;border-color:#1769ff}.modalBackdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:rgb(0 0 0/45%)}.promotionModal{width:min(705px,calc(100vw - 32px));padding:30px 34px 42px}.promotionModal,.trendModal{position:relative;border-radius:8px;background:#fff;box-shadow:0 20px 70px rgb(0 0 0/22%)}.trendModal{width:min(880px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 48px));padding:30px 34px 34px;overflow:auto}.promotionModal h2,.trendModal h2{margin:0 0 26px;font-size:20px}.modalClose{position:absolute;top:20px;right:22px;border:0;font-size:34px;line-height:1;color:#868c96;background:transparent}.promotionRow{display:grid;grid-template-columns:128px auto 120px;align-items:center;grid-gap:32px;gap:32px;margin:22px 0}.promotionRow img{width:112px;height:112px}.promotionRow a,.promotionRow button{border:0;color:#1769ff;background:transparent}.promotionLink{word-break:break-all}.modalFooter{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.trendSummary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.trendSummary span{border:1px solid #edf0f4;border-radius:6px;padding:10px 12px;background:#fafafa;font-weight:600}.lineChartWrap{position:relative;border:1px solid #edf0f4;border-radius:8px;padding:12px;background:#fff}.lineChart{display:block;width:100%;height:auto}.lineChart line{stroke:#e8edf5;stroke-dasharray:4 4}.lineChart text{fill:#9aa3af;font-size:12px}.lineChart .dateTick{text-anchor:middle}.lineChart polyline{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.pvLine{stroke:#5b7cff}.uvLine{stroke:#ff8845}.chartHoverLayer{pointer-events:none}.chartHoverLayer line{stroke:#b8c1d1;stroke-dasharray:4 4}.chartHoverLayer circle{stroke:#fff;stroke-width:2}.pvDot{fill:#5b7cff}.uvDot{fill:#ff8845}.chartTooltip{position:absolute;z-index:2;display:grid;grid-gap:4px;gap:4px;min-width:122px;padding:9px 11px;border:1px solid #dfe5ee;border-radius:6px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.14);color:#263241;line-height:1.35;transform:translate(-50%,calc(-100% - 12px));pointer-events:none}.chartLegend,.chartTooltip,.chartTooltip strong{font-size:13px}.chartLegend{display:flex;gap:18px;justify-content:center;padding:8px 0 0}.chartLegend span:before{content:"";display:inline-block;width:20px;height:4px;margin-right:6px;border-radius:999px;vertical-align:middle}.pvLegend:before{background:#5b7cff}.uvLegend:before{background:#ff8845}.securityForm{display:grid;grid-gap:18px;gap:18px}.securityForm label{display:grid;grid-gap:8px;gap:8px}.securityForm input{width:100%}.securityForm button{width:120px}.securityPanel{margin-top:16px}.avatarEditor{display:flex;align-items:center;gap:14px}.avatarEditor img,.avatarEditor span{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;object-fit:cover;color:#fff;background:#8aadd5;font-size:24px;font-weight:700}.accountInfoForm input[readonly]{color:#6b7280;background:#f8fafc}.compactShell{max-width:760px;margin:0 auto}.backLink{display:inline-block;margin-bottom:12px}.domainPanel{padding:28px}.backupPanel h1,.domainPanel h1{margin:0 0 22px;font-size:22px}.backupPanel{padding:28px}.backupPanel p{margin:0 0 22px;color:#6b7280;line-height:1.7}.backupActions{display:flex;gap:12px;margin-bottom:18px}.restoreButton{display:inline-flex;align-items:center}.restoreButton input{display:none}.domainPanel label{display:grid;grid-gap:10px;gap:10px}.formActions{display:flex;align-items:center;gap:12px;margin-top:22px}.savedText{color:#059669}.editorShell{display:grid;grid-template-columns:minmax(560px,720px) 360px;grid-gap:48px;gap:48px;min-height:100vh;padding:44px 52px;background:#fff}.editorForm{font-size:14px}.editorForm>label,.inlineField{display:flex;align-items:center;gap:10px;margin-bottom:24px}.editorForm>label input:not([type=radio]){width:330px}.required:before,.requiredText:before{content:"* ";color:#ff2b2b}.inlineField input{width:88px!important}.uploadBlock{margin-bottom:24px}.uploadBlock p{margin:8px 0 0 68px;color:#9aa3af;line-height:1.5}.uploadButton{display:inline-flex;align-items:center;justify-content:center;height:34px;margin-left:8px;border:1px solid #d6dbe3;border-radius:5px;padding:0 14px;background:#fff}.uploadButton input{display:none}.thumb{display:block;width:80px;margin:8px 0 0 68px;border:1px solid #e5e7eb}.radioLine{gap:18px;margin-bottom:24px}.radioLine,.radioLine label{display:flex;align-items:center}.radioLine label{gap:6px}.qrTableWrap{width:600px;margin-bottom:24px;border:1px solid #edf0f4;border-radius:6px;overflow:hidden}.qrThumb{width:36px;height:36px;object-fit:cover}.qrTableWrap input{width:76px}.qrTableWrap td:nth-child(3) input{width:120px}.qrTableWrap button{border:0;color:#1769ff;background:transparent}.errorText{margin-bottom:16px;color:#dc2626}.generateButton{margin-left:184px;min-width:90px}.phonePreviewColumn{display:flex;align-items:flex-start}.phonePreview{width:322px;height:636px;border:1px solid #e5e7eb;background:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mobileTop,.phoneStatus{display:flex;align-items:center;justify-content:space-between;background:#fff}.phoneStatus{height:34px;padding:0 12px;font-weight:700;font-size:12px}.previewCanvas,.publicCanvas{position:relative;min-height:568px;padding-top:116px;text-align:center;background:linear-gradient(rgb(255 255 255/72%),rgb(255 255 255/62%)),radial-gradient(circle at 30% 10%,#eef6ff 0,transparent 30%),linear-gradient(145deg,#f8fafc,#f5eee8);background-size:cover;background-repeat:no-repeat}.previewQrBox,.publicQrBox{display:grid;place-items:center;width:206px;height:206px;margin:0 auto 28px;background:#fff}.previewQrBox img,.publicQrBox img{width:180px;height:180px;object-fit:contain}.previewQrBox span{color:#9aa3af}.publicLoading{display:grid;place-items:center;color:#6b7280}.publicLoading,.publicPage{min-height:100vh;background:#fff}.publicPage{width:min(100vw,430px);margin:0 auto}.mobileTop{height:92px;border-bottom:1px solid #eceff3;padding:18px 24px 12px;color:#111827}.mobileTop div{display:grid;grid-gap:3px;gap:3px;text-align:center}.mobileTop strong{font-size:19px}.mobileTop small{color:#7b8088}.publicCanvas{min-height:100vh;padding-top:188px}.publicQrBox{width:270px;height:270px}.publicQrBox img{width:238px;height:238px}.publicFallback{display:grid;min-height:100vh;place-items:center}.publicFallback section{display:grid;place-content:center;text-align:center}@media (max-width:900px){.editorShell,.filterBar{grid-template-columns:1fr}.filterActions{justify-content:flex-start}.editorShell{padding:24px 16px}.qrTableWrap{width:100%}.generateButton{margin-left:0}}