:root{--ink:#0e1b33;--muted:#6b7a96;--line:#dfe8f7;--paper:#f2f6fd;--white:#fff;--brand:#2f6bff;--brand-deep:#1b46cf;--brand-soft:#dbe8ff;--accent:#6ee7ff;--deep:#0b1b3a;--orange:#e08a3c;--shadow:0 18px 50px rgba(24,63,148,.10);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans SC',sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}.hidden{display:none!important}.shell{max-width:1440px;margin:0 auto;padding:0 64px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(24,54,45,.08)}.brand,.footer-brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px #08387c30}.brand-mark svg{width:25px;height:25px}.brand b,.footer-brand b{display:block;font-size:17px;letter-spacing:.02em;line-height:1.1}.brand small,.footer-brand small{display:block;color:#89948f;font-size:9px;letter-spacing:.19em;margin-top:4px}.main-nav{display:flex;gap:38px;margin-left:60px}.nav-link{font-size:13px;color:#717780;transition:.2s}.nav-link:hover,.nav-link.active{color:var(--brand);font-weight:600}.account-actions{display:flex;align-items:center;gap:10px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 19px;border-radius:11px;font-size:13px;font-weight:600;transition:transform .18s,background .18s,box-shadow .18s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--brand);box-shadow:0 6px 14px #08387c22}.button-primary:hover{background:var(--brand-deep);box-shadow:0 9px 20px #08387c30}.button-dark{background:var(--deep);color:white;padding:14px 22px}.button-dark:hover{background:#1e2b3e}.button-quiet{color:#525861;background:transparent}.button-quiet:hover{background:#eaedf1}.button-outline{border:1px solid #d8dce2;background:rgba(255,255,255,.55);color:#343d49}.button-outline:hover{border-color:#8fa0b9;background:#fff}.button-small{font-size:12px;padding:9px 14px}.button-wide{width:100%;padding:14px}.mobile-menu{display:none}.hero{position:relative;min-height:470px;margin:34px 0 27px;border-radius:28px;overflow:hidden;background:#d9e3f2;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:54px 7.2%;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 47%,#c0d1e8 0,transparent 33%),linear-gradient(105deg,#e3ebf6 0%,#d5dfee 54%,#cfdae9 100%);z-index:-2}.hero:after{content:'';position:absolute;width:580px;height:580px;border:1px solid #43628d30;border-radius:50%;right:5%;top:-14%;z-index:-1;box-shadow:0 0 0 35px #fff0,0 0 0 70px #34558308}.hero-copy{max-width:520px;z-index:2}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;color:#355179;display:flex;align-items:center;gap:9px}.live-dot,.summary-dot{height:7px;width:7px;border-radius:50%;background:#3563a4;box-shadow:0 0 0 4px #3563a418}.hero h1{font-size:clamp(39px,5vw,64px);line-height:1.18;letter-spacing:-.055em;margin:19px 0 15px;font-weight:700;color:#182435}.hero h1 span{color:#0a3e87;position:relative;white-space:nowrap}.hero h1 span:after{content:'';height:8px;background:#648cc5;opacity:.45;position:absolute;bottom:0;left:2px;right:-4px;border-radius:6px;z-index:-1}.hero-copy>p{font-size:15px;color:#596474;max-width:390px;margin:0 0 26px}.hero-actions{display:flex;gap:11px;align-items:center}.hero-trust{margin-top:26px;font-size:11px;color:#65707f;display:flex;align-items:center;gap:9px}.hero-trust i{width:3px;height:3px;border-radius:50%;background:#8a96a8;margin:0 2px}.trust-icon{width:17px;height:17px;background:#b5c9e6;color:#133b73;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:bold}.hero-art{position:relative;height:330px;max-width:470px;width:100%;justify-self:end;display:grid;place-items:center}.orbit{position:absolute;border-radius:50%;border:1px solid #2a55921f}.orbit-one{width:255px;height:255px;animation:rotate 24s linear infinite}.orbit-two{width:365px;height:365px;border-style:dashed;opacity:.65;animation:rotate 42s linear infinite reverse}.orbit-one:before,.orbit-two:before{content:'';position:absolute;width:10px;height:10px;border-radius:50%;background:#7196ca;box-shadow:0 0 16px #5382c5;top:41px;right:27px}.orbit-two:before{width:7px;height:7px;top:80px;left:30px;background:#96aee6;box-shadow:0 0 12px #718ed8}.glow{width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,#b2c8e8 0,#b7cae5aa 35%,#b8cae300 72%);filter:blur(3px);position:absolute}.orbit-core{height:122px;width:122px;border-radius:37px;transform:rotate(45deg);background:linear-gradient(145deg,#f5f9ff,#cad8eb);border:1px solid #fff;box-shadow:0 22px 45px #39557d23,inset 0 0 30px #fff;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:2;color:#325483}.orbit-core>*{transform:rotate(-45deg)}.orbit-core span{font-size:11px;color:#66778f;margin-top:2px}.core-spark{font-size:35px;line-height:1;color:#0e448f}.float-card{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #ffffffb0;background:#fffffff0;backdrop-filter:blur(12px);border-radius:13px;box-shadow:0 12px 30px #2e456514;min-width:205px}.float-card small{display:block;color:#9197a0;font-size:9px}.float-card b{display:block;font-size:11px;color:#313b48}.card-top{top:41px;right:0}.card-bottom{bottom:37px;left:0}.float-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:16px}.icon-green{background:#e5ecf7;color:#154991}.pulse{width:6px;height:6px;border-radius:50%;background:#3f78c7;margin-left:auto;box-shadow:0 0 0 5px #3f78c71c}.mini-avatar{width:31px;height:31px;border-radius:10px;background:#edeaff;color:#776bc8;display:grid;place-items:center;font-size:14px;font-weight:700}.bars{display:flex;align-items:end;gap:3px;margin-left:auto;height:16px}.bars i{width:3px;border-radius:3px;background:#83a1cb;height:7px}.bars i:nth-child(2){height:12px}.bars i:nth-child(3){height:9px}.bars i:nth-child(4){height:15px}.bars i:nth-child(5){height:11px}.sparkle{position:absolute;color:#8099bb}.s1{top:28px;left:18%;font-size:17px}.s2{right:11%;bottom:52px;font-size:22px}.hero-index{position:absolute;left:28px;bottom:24px;display:flex;align-items:center;gap:9px;color:#7c889a}.hero-index b{font-size:10px;color:#2c476d}.hero-index span{width:32px;height:1px;background:#8a9eb9}.hero-index small{font-size:9px;letter-spacing:.06em}.notice-bar{display:flex;align-items:center;gap:13px;padding:16px 20px;background:#fff;border:1px solid #e9ecef;border-radius:14px;margin-bottom:72px;box-shadow:0 4px 14px #0e274908}.notice-symbol{flex:none;width:28px;height:28px;border-radius:9px;background:#e8edf5;color:#284f86;display:grid;place-items:center;font-family:Georgia,serif;font-weight:bold;font-style:italic}.notice-bar div:nth-child(2){display:flex;flex-direction:column;min-width:0}.notice-bar b{font-size:11px;color:#364254}.notice-bar span{color:#7e848d;font-size:11px;overflow:hidden;text-overflow:ellipsis}.text-button{border:0;background:transparent;color:var(--brand);font-size:11px;font-weight:600;white-space:nowrap;margin-left:auto}.text-button:hover{color:var(--brand-deep)}.text-button span{margin-left:5px}.workspace{padding:0 4px 74px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.muted-eyebrow{color:#8b919a;font-size:9px;letter-spacing:.17em}.section-heading h2,.panel-heading h2,.info-view h2{margin:6px 0 5px;font-size:30px;letter-spacing:-.04em;line-height:1.28}.section-heading p,.panel-heading p{margin:0;color:#7c828a;font-size:12px}.heading-meta{display:flex;align-items:center;gap:16px;padding-bottom:4px}.secure-chip{display:flex;align-items:center;gap:6px;border:1px solid #dfe4eb;background:#f4f6fa;border-radius:30px;color:#546883;padding:7px 11px;font-size:10px}.secure-chip i{width:5px;height:5px;background:#4971a8;border-radius:50%}.updated-label{color:#989da3;font-size:10px}.data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e3e5e9}.category-tabs{display:flex;align-items:center;gap:8px;overflow:auto;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{border:0;background:transparent;padding:11px 14px 13px;color:#848991;font-size:12px;white-space:nowrap;position:relative}.category-tab.selected{color:#143e79;font-weight:700}.category-tab.selected:after{content:'';height:2px;position:absolute;left:12px;right:12px;bottom:-1px;background:#164382;border-radius:4px}.toolbar-right{display:flex;align-items:center;gap:10px}.search-box{height:36px;min-width:210px;display:flex;align-items:center;gap:8px;padding:0 10px;background:#fff;border:1px solid #e7eaed;border-radius:9px;color:#989da5}.search-box span{font-size:20px;line-height:0}.search-box input{width:100%;min-width:110px;border:0;outline:0;font-size:11px;color:#354050;background:transparent}.search-box kbd{font-size:9px;border:1px solid #edeef0;background:#fafafb;border-radius:4px;padding:1px 4px}.filter-button{border:1px solid #e6e9ec;background:white;color:#757b83;border-radius:9px;height:36px;padding:0 11px;font-size:10px;white-space:nowrap}.filter-button span{margin-left:9px}.result-summary{display:flex;justify-content:space-between;align-items:center;padding:15px 0;color:#89948e;font-size:10px}.result-summary>div:first-child{display:flex;align-items:center;gap:8px}.summary-dot{width:5px;height:5px;box-shadow:none}.mask-note{color:#a0a4aa}.mask-note .lock{font-size:12px;margin-right:4px;color:#768ba8}.lead-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lead-card{min-height:188px;border:1px solid #e6e9ec;background:white;border-radius:15px;padding:17px 17px 14px;display:flex;flex-direction:column;box-shadow:0 4px 14px #0e274905;transition:.2s}.lead-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px #0e274910;border-color:#d8dfe8}.lead-card-top{display:flex;justify-content:space-between;align-items:center}.tag-line{display:flex;gap:6px}.category-pill{background:#eef2f7;color:#445f84;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:600}.region-pill{color:#8b9690;font-size:9px}.lead-time{font-size:9px;color:#a7b0ab}.lead-card h3{margin:13px 0 4px;font-size:13px;font-weight:700;letter-spacing:-.01em}.lead-question{color:#797f88;font-size:11px;line-height:1.65;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lead-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px}.masked-phone{color:#8e939b;font-family:'DM Sans',sans-serif;letter-spacing:.06em;font-size:11px}.masked-phone .phone-lock{color:#7286a2;margin-right:5px}.lead-price{color:#242e3d;font-size:11px;font-weight:700}.lead-price small{font-size:9px;color:#96a19a;font-weight:400;margin-left:2px}.lead-buy{border:0;background:#e9eef5;color:#1d4781;font-size:10px;font-weight:700;border-radius:7px;padding:7px 11px;transition:.2s}.lead-buy:hover{background:#0c3c80;color:white}.lead-buy:disabled{opacity:.5;cursor:not-allowed}.loading-card,.empty-results{grid-column:1/-1;min-height:180px;border:1px dashed #dce0e6;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:12px;color:#888e97;font-size:12px}.loader{width:17px;height:17px;border:2px solid #dce1e9;border-top-color:#264e85;border-radius:50%;animation:rotate .8s linear infinite}.pagination{display:flex;justify-content:center;align-items:center;gap:7px;padding:26px 0}.page-btn{height:31px;min-width:31px;border-radius:8px;border:1px solid #e5e8ec;background:#fff;color:#757b84;font-size:10px}.page-btn.current{background:#164280;color:#fff;border-color:#164280}.register-gate{display:flex;align-items:center;gap:14px;max-width:780px;margin:2px auto 20px;padding:16px 19px;background:linear-gradient(110deg,#eaeff7,#f6f8fb);border:1px solid #dbe3ee;border-radius:14px}.gate-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:#335585;background:#d6e1f0;font-size:19px;flex:none}.register-gate b{font-size:12px}.register-gate p{font-size:10px;color:#79818c;margin:2px 0 0}.register-gate .button{margin-left:auto;font-size:11px;padding:10px 13px}.data-footnote{text-align:center;color:#a4ada8;font-size:9px;padding-top:16px}.data-footnote span{color:#8294ad;margin-right:5px}.member-area{display:grid;grid-template-columns:240px 1fr;gap:30px;padding:0 4px 80px;min-height:500px}.member-sidebar{border-right:1px solid #e6e9ec;padding:4px 24px 20px 0;display:flex;flex-direction:column}.member-profile{display:flex;align-items:center;gap:10px;padding:0 4px 18px;border-bottom:1px solid #e7e9ec}.profile-avatar{width:38px;height:38px;border-radius:13px;background:#d9e3f0;color:#1a4480;display:grid;place-items:center;font-weight:700}.member-profile b{font-size:12px;display:block}.member-profile small{font-size:9px;color:#9298a0;display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis}.wallet-card{margin:17px 0;background:linear-gradient(135deg,#17273e,#0d346b);color:#fff;border-radius:14px;padding:15px;position:relative;overflow:hidden}.wallet-card:after{content:'';position:absolute;width:120px;height:120px;border:1px solid #ffffff1a;border-radius:50%;right:-42px;top:-55px;box-shadow:0 0 0 16px #ffffff08,0 0 0 32px #ffffff05}.wallet-card small,.wallet-card span{display:block;color:#c3cedd;font-size:9px}.wallet-card strong{font-size:26px;letter-spacing:-.04em;display:block;line-height:1.3;margin:4px 0}.wallet-add{position:absolute;right:12px;bottom:13px;border:1px solid #ffffff44;border-radius:7px;color:#f3f8ff;background:#ffffff12;padding:6px 8px;font-size:9px;z-index:2}.side-nav{display:grid;gap:3px}.side-link{border:0;background:transparent;border-radius:9px;display:flex;align-items:center;gap:11px;padding:10px 10px;text-align:left;color:#787e87;font-size:11px}.side-link>span:first-child{font-size:15px;color:#8f96a0;width:15px}.side-link.active,.side-link:hover{background:#e9eef4;color:#17417b;font-weight:700}.side-link.active>span:first-child{color:#164280}.side-count{margin-left:auto;border-radius:10px;background:#d7e1ee;padding:1px 7px;font-size:9px}.logout-link{border:0;background:transparent;color:#9aa49f;font-size:10px;text-align:left;margin-top:auto;padding:13px 8px}.member-content{min-width:0}.member-panel{min-height:400px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.panel-heading h2{font-size:25px}.panel-heading p{font-size:11px}.purchases-list{display:grid;gap:10px}.purchase-card{display:grid;grid-template-columns:1fr auto;gap:15px;padding:16px 18px;background:#fff;border:1px solid #e5e8ec;border-radius:14px}.purchase-card h3{margin:8px 0 3px;font-size:13px}.purchase-card p{margin:0;color:#7b818a;font-size:10px}.purchase-meta{display:flex;gap:10px;align-items:center;color:#808791;font-size:9px}.purchase-phone{color:#174079;font-size:12px;letter-spacing:.07em;font-weight:600;margin:8px 0}.purchase-expiry{font-size:9px;color:#b1844e}.purchase-actions{display:flex;flex-direction:column;gap:6px;align-items:end;justify-content:center}.purchase-actions a,.purchase-actions button{border:1px solid #e2e6ec;color:#4a5c76;background:#fbfcfd;border-radius:7px;padding:6px 9px;font-size:9px}.empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#a0a4aa}.empty-icon{width:47px;height:47px;border-radius:15px;background:#eaeef3;color:#526c91;display:grid;place-items:center;font-size:20px;margin-bottom:9px}.empty-state b{color:#515964;font-size:12px}.empty-state p{font-size:10px;margin:4px}.wallet-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:14px;margin-bottom:25px}.form-card,.payment-instructions{background:#fff;border:1px solid #e5e8ec;border-radius:15px;padding:18px}.form-card-head{display:flex;align-items:center;gap:10px;margin-bottom:17px}.step-number{width:29px;height:29px;border-radius:9px;background:#e4eaf3;color:#244b82;display:grid;place-items:center;font-size:10px;font-weight:700}.step-pale{background:#edeff1;color:#888e97}.form-card-head b{display:block;font-size:12px}.form-card-head small{display:block;color:#98a39d;font-size:9px;margin-top:2px}.form-card label,.complaint-form label,.modal label{display:grid;gap:6px;color:#5d646e;font-size:10px;margin-bottom:13px}.amount-input{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid #e2e5e9;border-radius:9px;color:#8b929b}.amount-input span{font-weight:600}.amount-input input{border:0;outline:0;flex:1;color:#202c3c;font-size:17px;font-weight:600}.amount-presets{display:flex;gap:6px;margin:9px 0 15px}.amount-presets button{flex:1;padding:7px 3px;border:1px solid #e6e9ec;border-radius:7px;background:white;color:#7b8189;font-size:9px}.amount-presets button:hover{border-color:#8ca3c3;color:#174079}.payment-instructions{background:#fafbfc}.qr-placeholder{border:1px dashed #dadfe6;border-radius:12px;min-height:117px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#9a9fa6}.qr-frame{width:54px;height:54px;border:1px solid #e5e9ee;border-radius:9px;display:grid;place-items:center;color:#8b9db6;font-size:25px;background:repeating-linear-gradient(45deg,#f8f9fb,#f8f9fb 5px,#fff 5px,#fff 10px)}.qr-placeholder small{font-size:9px}.active-topup{border:1px solid #dce4ee;border-radius:12px;padding:14px;text-align:center;background:#f5f8fb}.active-topup img{display:block;width:120px;height:120px;object-fit:contain;margin:8px auto}.active-topup .code{font-size:25px;font-weight:700;letter-spacing:.14em;color:#12386e}.active-topup .copy-code{border:0;background:#e0e7f0;color:#284a7a;padding:5px 8px;border-radius:6px;font-size:9px;margin-left:6px}.active-topup p{margin:4px;font-size:10px;color:#707884}.manual-note{font-size:9px;color:#898e96;display:flex;gap:7px;margin-top:12px}.manual-note span{display:grid;place-items:center;border:1px solid #cbd1d9;width:14px;height:14px;border-radius:50%;flex:none}.table-heading{display:flex;justify-content:space-between;align-items:center;margin:21px 0 9px}.table-heading b{font-size:12px}.table-heading span{font-size:9px;color:#9ca1a7}.table-wrap{overflow:auto;border:1px solid #e6e9ec;border-radius:11px;background:#fff}table{width:100%;border-collapse:collapse;font-size:10px;white-space:nowrap}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #eff0f2}th{color:#9a9fa6;font-size:9px;font-weight:500;background:#fafbfc}td{color:#656b74}tr:last-child td{border-bottom:0}.status-pill{display:inline-block;padding:3px 7px;border-radius:10px;background:#f4f1e7;color:#9b7d42;font-size:8px}.status-paid,.status-refunded{background:#e8eef6;color:#365580}.status-rejected,.status-expired{background:#f7eaea;color:#a65b5b}.table-action{border:0;background:transparent;color:#194178;font-size:9px}.message-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:350px;border:1px solid #e4e7eb;border-radius:14px;background:white;overflow:hidden}.conversation-list{border-right:1px solid #e7e9ec}.conversation-item{display:block;width:100%;border:0;border-bottom:1px solid #eff0f2;background:white;padding:13px;text-align:left}.conversation-item.active,.conversation-item:hover{background:#f2f4f8}.conversation-item b{font-size:10px;display:block}.conversation-item small{font-size:9px;color:#979ca3}.conversation-detail{padding:15px}.thread-messages{display:flex;flex-direction:column;gap:10px;max-height:260px;overflow:auto}.message-bubble{max-width:80%;padding:9px 11px;border-radius:10px;background:#f0f2f5;font-size:10px;color:#525b67}.message-bubble.mine{align-self:flex-end;background:#e1e8f3;color:#284369}.message-bubble small{display:block;color:#959ba4;font-size:8px;margin-top:4px}.reply-form{display:flex;gap:7px;margin-top:12px}.reply-form input{min-width:0;flex:1;border:1px solid #e4e7eb;border-radius:8px;padding:8px 10px;font-size:10px}.reply-form button{border:0;border-radius:8px;background:#154280;color:white;padding:0 12px;font-size:10px}.my-categories{display:flex;flex-wrap:wrap;gap:8px}.my-categories .category-pill{font-size:11px;padding:7px 11px}.request-category{margin-top:25px;padding:17px;border:1px dashed #dbe0e6;border-radius:13px;display:flex;align-items:center;justify-content:space-between}.request-category b{font-size:12px}.request-category p{font-size:10px;color:#898e96;margin:3px 0 0}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:29px 0}.guide-card{background:#fff;border:1px solid #e7e9ec;border-radius:15px;padding:19px;min-height:181px}.guide-icon{color:#6580a7;font-size:11px;letter-spacing:.12em;font-weight:700}.guide-card h3{font-size:13px;margin:21px 0 8px}.guide-card p{font-size:10px;color:#7d838c;margin:0;line-height:1.8}.agreement-box,.help-box{padding:18px;background:#edf1f6;border-radius:14px;margin-top:13px}.agreement-box{display:flex;align-items:center;justify-content:space-between}.agreement-box>div{display:flex;gap:11px;align-items:center}.agreement-icon{width:32px;height:32px;border-radius:10px;background:#d9e0eb;color:#395781;display:grid;place-items:center;font-family:serif}.agreement-box b,.help-box b{font-size:11px}.agreement-box p,.help-box p{font-size:10px;color:#7c838c;margin:2px 0 0}.help-box{background:#fff;border:1px solid #e8ebee}.help-box .button{margin-top:13px;font-size:10px}.complaint-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:930px;margin:10px auto 75px;padding:32px 0}.complaint-layout h2{font-size:35px;margin:9px 0}.complaint-layout>div>p{max-width:390px;color:#777e87;font-size:12px;line-height:1.9}.complaint-promise{display:flex;align-items:center;gap:8px;color:#5a697d;font-size:10px;margin:14px 0}.complaint-promise span{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#e2e9f2;color:#325382}.complaint-form{padding:22px;background:#fff;border:1px solid #e5e8ec;box-shadow:var(--shadow);border-radius:17px}.complaint-form input,.complaint-form textarea,.modal input{width:100%;border:1px solid #e1e4e9;background:#fbfbfc;border-radius:9px;padding:11px;outline:0;color:#293443;font-size:11px;resize:vertical}.complaint-form input:focus,.complaint-form textarea:focus,.modal input:focus{border-color:#718db5;box-shadow:0 0 0 3px #7997c21b}.privacy-note{display:block;text-align:center;color:#9ba0a6;font-size:9px;margin-top:9px}.footer{border-top:1px solid #e3e5e9;padding:25px 0 32px;display:flex;align-items:center;gap:35px}.footer-brand .brand-mark{width:31px;height:31px;border-radius:10px}.footer-brand .brand-mark svg{width:21px}.footer-brand b{font-size:13px}.footer-brand small{font-size:8px;letter-spacing:0}.footer-links{display:flex;gap:21px;color:#818790;font-size:10px}.copyright{margin-left:auto;color:#a2aca6;font-size:9px}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#101823cc;display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}.modal{width:min(430px,100%);background:#fff;border-radius:19px;padding:27px;box-shadow:0 25px 80px #060f1b40;position:relative;max-height:90vh;overflow:auto}.modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#8a9098;font-size:24px}.modal-brand{display:flex;justify-content:center;margin-bottom:12px}.modal h2{text-align:center;font-size:20px;margin:0 0 5px}.modal .modal-subtitle{text-align:center;font-size:10px;color:#898e96;margin:0 0 20px}.modal label{font-size:10px;margin-bottom:12px}.modal input{padding:10px}.modal .button{margin-top:5px}.modal-switch{text-align:center;font-size:10px;color:#929e96;margin-top:15px}.modal-switch button{border:0;background:transparent;color:#143e79;font-weight:700}.category-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:7px 0 14px}.category-check{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid #e5e8ec;border-radius:8px;color:#656c76;font-size:10px}.category-check input{width:auto;accent-color:#164280}.agreement-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start!important;gap:8px!important;font-size:9px!important;color:#737a83!important}.agreement-check input{width:auto;margin-top:2px;accent-color:#164280}.modal .fine-print{font-size:9px;color:#97a29b;line-height:1.7}.toast{position:fixed;z-index:30;left:50%;bottom:26px;transform:translate(-50%,20px);background:#18273b;color:#eff4fb;padding:10px 16px;border-radius:10px;font-size:11px;box-shadow:0 10px 25px #17263b2e;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes rotate{to{transform:rotate(360deg)}}

@media(max-width:1050px){.shell{padding:0 36px}.hero{padding-left:6%;padding-right:5%}.hero-art{transform:scale(.9);transform-origin:center right}.main-nav{gap:23px;margin-left:24px}.lead-grid{grid-template-columns:repeat(2,1fr)}.guide-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.shell{padding:0 19px}.topbar{height:72px}.brand b{font-size:15px}.brand small{font-size:8px}.brand-mark{width:34px;height:34px}.main-nav{display:none;position:absolute;z-index:10;top:64px;right:16px;margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;gap:0;min-width:150px}.main-nav.open{display:flex}.nav-link{padding:10px}.account-actions{gap:2px}.account-actions .button{padding:8px 10px;font-size:10px}.mobile-menu{display:grid;gap:5px;background:transparent;border:0;padding:9px;margin-left:4px}.mobile-menu span{width:18px;height:2px;background:#616975;border-radius:4px}.hero{display:block;padding:36px 25px 27px;margin:18px 0;border-radius:22px;min-height:610px}.hero h1{font-size:42px}.hero-copy>p{font-size:13px}.hero-art{height:260px;width:100%;transform:scale(.8);transform-origin:center center;margin:4px auto -10px}.orbit-two{width:330px;height:330px}.hero-index{left:21px;bottom:14px}.hero-trust{font-size:9px;flex-wrap:wrap}.notice-bar{margin-bottom:49px;padding:13px;gap:9px}.notice-bar b,.notice-bar span{font-size:9px}.notice-bar .text-button{font-size:9px}.section-heading{align-items:start;gap:10px;flex-direction:column;margin-bottom:20px}.section-heading h2,.panel-heading h2{font-size:25px}.heading-meta{width:100%;justify-content:space-between}.data-toolbar{display:block}.category-tabs{margin:0 -5px}.category-tab{padding:11px 10px}.toolbar-right{padding:12px 0}.search-box{flex:1}.filter-button{flex:none}.result-summary{align-items:start;gap:8px;flex-direction:column}.lead-grid{grid-template-columns:1fr;gap:10px}.lead-card{min-height:169px}.register-gate{align-items:start;flex-wrap:wrap;padding:13px}.register-gate>div:nth-child(2){flex:1}.register-gate .button{margin-left:48px}.member-area{display:block;padding:0 0 55px}.member-sidebar{border:0;padding:0;margin-bottom:20px}.member-profile{padding-bottom:11px}.wallet-card{margin:11px 0;padding:12px}.wallet-card strong{font-size:22px}.wallet-add{bottom:10px}.side-nav{display:flex;overflow:auto;gap:5px}.side-link{white-space:nowrap;flex:none;padding:9px}.side-link>span:first-child{width:auto}.logout-link{position:absolute;right:18px;margin-top:0;top:86px}.member-content{min-height:360px}.panel-heading{align-items:start;gap:8px}.panel-heading .button{flex:none}.panel-heading p{max-width:250px}.purchase-card{padding:13px;grid-template-columns:1fr auto}.purchase-actions{align-items:end}.wallet-layout{grid-template-columns:1fr}.message-layout{grid-template-columns:1fr}.conversation-list{display:flex;overflow:auto;border-right:0;border-bottom:1px solid #e7e9ec}.conversation-item{min-width:140px;border-right:1px solid #eff0f2;border-bottom:0}.guide-grid{grid-template-columns:1fr 1fr;gap:9px}.guide-card{padding:14px;min-height:165px}.guide-card h3{font-size:11px;margin-top:16px}.guide-card p{font-size:9px}.complaint-layout{grid-template-columns:1fr;gap:25px;margin:0 auto 45px;padding:15px 0}.complaint-layout h2{font-size:29px}.footer{flex-wrap:wrap;gap:16px;padding:19px 0}.footer-links{margin-left:auto;gap:12px}.copyright{width:100%;margin-left:0}.agreement-box{gap:8px;padding:13px}.agreement-box p{max-width:210px}.agreement-box .text-button{font-size:9px}.my-categories{gap:6px}.request-category{padding:13px;gap:10px}.request-category .button{white-space:normal;font-size:9px}.modal{padding:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Admin workbench */
.admin-block{margin-top:22px}.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric-card{padding:13px;border:1px solid #e6e9ec;border-radius:12px;background:#fff}.metric-card small{display:block;color:#8d929a;font-size:9px}.metric-card b{display:block;color:#163e75;font-size:21px;margin-top:4px}.admin-confirm-form{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.admin-confirm-form input{min-width:125px;flex:1;border:1px solid #e3e6ea;border-radius:8px;padding:8px 9px;font-size:10px;outline:0}.admin-confirm-form input:focus{border-color:#718db5}.admin-confirm-form .button{align-self:stretch}.admin-tags{margin:10px 0}.auto-publish{display:flex;align-items:center;gap:7px;margin:8px 0;color:#707781;font-size:10px}.auto-publish input{accent-color:#164280}.admin-conversations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.admin-conversations .conversation-item{border:1px solid #e8ebee;border-radius:9px}
/* Agreement reader and operator panels */
.inline-link{border:0;padding:0;background:transparent;color:#08387c;text-decoration:underline;font-size:inherit}.agreement-content{max-height:54vh;overflow:auto;white-space:pre-wrap;background:#f7f8fa;border:1px solid #e5e8ec;border-radius:10px;padding:14px;color:#606771;font-size:10px;line-height:1.8;margin:15px 0 12px}
.content-settings{display:grid;gap:9px;padding:13px;border:1px solid #e6e9ec;background:#fff;border-radius:12px}.content-settings label{display:grid;gap:5px;color:#727880;font-size:9px}.content-settings input,.content-settings textarea{width:100%;border:1px solid #e3e6eb;border-radius:8px;padding:8px 10px;outline:0;color:#535b67;font:inherit;font-size:10px;resize:vertical}.content-settings input:focus,.content-settings textarea:focus{border-color:#718db5}
.market-search{margin:34px 0 18px;padding:34px 4%;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 35px #17243708}.market-search h1{font-size:clamp(30px,4vw,46px);margin:8px 0 4px;letter-spacing:-.04em}.market-search>p{margin:0;color:var(--muted)}.market-search-box{display:flex;align-items:center;gap:14px;max-width:900px;margin:24px auto 18px;padding:8px 9px 8px 20px;background:#f8f9fa;border:1px solid #dce1e7;border-radius:14px}.market-search-box>span{font-size:25px;color:var(--brand)}.market-search-box input{flex:1;border:0;outline:0;background:transparent;min-width:0;padding:10px}.market-search-box .button{min-width:100px}.market-filter{display:flex;align-items:center;gap:25px;flex-wrap:wrap;max-width:900px;margin:auto;padding-top:10px;border-top:1px solid var(--line)}.market-filter>label,.category-filter{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.market-filter select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 12px;color:var(--ink)}.category-filter{align-items:flex-start}.market-meta{display:flex;justify-content:flex-end;gap:16px;margin-top:20px}.data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0}.bulk-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.bulk-actions label,.lead-select{color:var(--muted);font-size:12px}.lead-card-top{display:flex;align-items:center;gap:10px}.lead-card-top .tag-line{flex:1}.lead-grid,.purchases-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-check{accent-color:var(--brand)}.verification-row{display:flex;gap:8px}.verification-row input{flex:1}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{color:var(--muted);font-size:12px}.footer-links a:hover{color:var(--brand)}@media(max-width:800px){.shell{padding:0 18px}.market-search{padding:24px 18px}.market-search-box{margin-top:18px}.market-filter{display:block}.market-filter>label{margin-bottom:12px}.market-meta{justify-content:flex-start}.lead-grid,.purchases-list{grid-template-columns:1fr}.data-toolbar{align-items:flex-start}.bulk-actions{width:100%}.footer-links{gap:12px}}
/* Search-first marketplace header and compact filter strip */
.topbar{display:grid;grid-template-columns:auto minmax(290px,1fr) auto auto;gap:24px;align-items:center}.header-search.market-search-box{width:100%;max-width:none;margin:0;padding:5px 7px 5px 14px;border-radius:12px}.header-search .button{min-width:84px;padding:10px 15px}.main-nav{margin:0;white-space:nowrap}.market-search{margin:20px 0 12px;padding:14px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:none}.market-filter{max-width:none;margin:0;border:0;padding:0;gap:24px}.market-filter .market-meta{margin:0 0 0 auto}.market-meta{align-items:center}.data-list-heading{margin:24px 0 8px}.data-list-heading h2{margin:0;font-size:26px}.data-list-heading p{margin:3px 0 0}.data-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;justify-content:initial;gap:16px;margin:12px 0}.bulk-actions{justify-content:flex-start}.result-summary{justify-self:start;gap:20px}.toolbar-right{justify-self:end}.category-filter .category-tabs{display:flex;flex-wrap:wrap}.category-filter .category-tab{padding:7px 10px}.category-checks .category-group{grid-column:1/-1;border:1px solid var(--line);border-radius:11px;padding:10px}.category-group-title{font-size:11px;font-weight:700;color:var(--brand);margin-bottom:8px}.category-group-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.category-empty{padding:12px;border:1px dashed #b9c5d5;border-radius:10px;color:#606975;font-size:11px;line-height:1.7}.qr-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.qr-pair figure{margin:0;padding:12px;text-align:center;border:1px solid #e0e4ea;border-radius:12px;background:#fff}.qr-pair img{width:148px;height:148px;max-width:100%;object-fit:contain;display:block;margin:auto}.qr-missing{height:148px;display:grid;place-items:center;color:#9ba0a8;font-size:11px}.qr-pair figcaption{font-size:11px;color:#5f6874;margin-top:7px}.topup-code{padding:10px 14px;background:#f2f4f8;border-radius:10px;text-align:center;margin-top:10px}.topup-code .code{font-size:22px;color:var(--brand);font-weight:800;letter-spacing:.15em}.topup-payment-note{font-size:10px;color:var(--muted);text-align:center;margin:8px 0}.qr-placeholder{background:#f9fafb}
@media(max-width:850px){.topbar{grid-template-columns:auto 1fr auto;gap:10px;height:auto;min-height:76px;padding:10px 0}.header-search.market-search-box{grid-column:1/-1;grid-row:2}.main-nav{display:none}.account-actions{justify-self:end}.market-filter{align-items:flex-start;flex-direction:column;gap:10px}.market-filter .market-meta{margin:0}.data-toolbar{grid-template-columns:1fr auto;gap:10px}.bulk-actions{grid-column:1/-1;grid-row:1}.result-summary{grid-column:1/-1;grid-row:2}.toolbar-right{grid-column:2;grid-row:1}.category-filter{display:block}.category-filter>span{display:block;margin-bottom:4px}.qr-pair img,.qr-missing{height:120px}.category-group-items{grid-template-columns:1fr}}
.header-search input{font-size:14px}.category-match-list{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:var(--muted);font-size:11px}.category-match-list .category-empty{max-width:380px;padding:6px 9px}.market-filter #category-tabs{align-items:center;gap:6px;flex-wrap:wrap}.market-filter #filter-category-search{width:165px;min-width:140px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff}.category-selection-summary{text-align:center;color:var(--muted);font-size:11px;margin:0 0 12px}.contact-email{display:inline-block;color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:3px}.contact-chat-note,.contact-guest{font-size:12px;color:var(--muted);line-height:1.8}.contact-guest p{text-align:center;margin:16px 0}.contact-guest .button{width:100%}.modal textarea{width:100%;border:1px solid #e1e4e9;background:#fbfbfc;border-radius:9px;padding:11px;outline:0;color:#293443;font-size:12px;resize:vertical}.modal textarea:focus{border-color:#718db5;box-shadow:0 0 0 3px #7997c21b}

/* ---- 閻㈩垼鍠栨慨顏呯▔椤撶偟濡囬柨娑欑煯缁斿瓨绋夐鍐ㄧ槣濡増眉缁旀挳寮堕垾鍐叉暥閻庡湱娅㈢槐婵囧緞濮橆厽钂嬫鐐村▕閹?---- */
.help-box .help-topics{display:grid;gap:10px;margin-top:9px}
.help-box .help-topic{padding:10px 12px;background:#f7f9fb;border:1px solid #e4e9ef;border-radius:11px}
.help-box .help-topic b{display:block;font-size:11px;color:#172437}
.help-box .help-topic p{margin:4px 0 0;font-size:10px;color:#6f7681;line-height:1.65;white-space:pre-line}
.help-box .help-empty{margin:6px 0 0;font-size:10px;color:#989da3}

/* ---- 闁搞儲鍎抽懜鐗堫殽瀹€鍐闁?---- */
.captcha-row{display:flex;align-items:center;gap:9px}
.captcha-row input{flex:1;min-width:0}
.captcha-image{width:112px;height:35px;border:1px solid #dde2e8;border-radius:9px;background:#fff;cursor:pointer;object-fit:cover;flex:none}
.captcha-row .text-button{flex:none;margin-left:0;font-size:10px;padding:2px 4px}

/* ---- 闁哄牜浜炲▍銉ㄣ亹閺囩喐顦ч柣銊ュ婵洨鎷犳径濠勭┛閻?---- */
.complaint-guest{display:flex;flex-direction:column;gap:13px;padding:24px;background:#fff;border:1px solid #e5e8ec;border-radius:17px;box-shadow:var(--shadow)}
.complaint-guest .guest-icon{width:34px;height:34px;border-radius:11px;background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;font-weight:700;font-size:15px}
.complaint-guest b{font-size:14px}
.complaint-guest p{margin:6px 0 0;color:var(--muted);font-size:12px}

/* ---- 闁告艾楠歌ぐ鎾晬濮樺磭妲曢柛鎺濆亞閻栨粓骞栧鍛亶缂備焦鎸婚悘?---- */
.admin-block .code-lookup{display:flex;gap:7px;flex:1;min-width:150px}
.admin-block .code-lookup input{min-width:110px}
.lookup-result{margin:10px 0 0}
.lookup-card{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:11px 13px;border:1px solid #d8e0ec;background:#f4f7fb;border-radius:11px;font-size:11px}
.lookup-card b{font-size:13px;color:#172437}
.lookup-email{color:#6f7681;font-size:10px}
.lookup-meta{flex-basis:100%;color:#6f7681;font-size:10px}
.lookup-warn{flex-basis:100%;color:#b06d2a;font-size:10px}
.lookup-error{border-color:#f0d6d2;background:#fdf5f4;color:#a8412f}

/* ---- 闁告艾楠歌ぐ鎾晬濮橆剙绨婚柛鏂烘櫃閼垫垼绠涢崘鈺傝拫闁烩晩鍠氱槐顏呮綇?---- */
.help-editor{display:grid;gap:8px;margin:10px 0}
.help-topic-row{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid #e6e9ec;border-radius:11px;background:#fbfcfd}
.help-topic-new{border-style:dashed;background:#fff}
.help-row-main{flex:1;display:grid;gap:6px;min-width:0}
.help-topic-row input,.help-topic-row textarea{width:100%;border:1px solid #e3e6ea;border-radius:8px;padding:7px 9px;font-size:10px;outline:0;color:#293443;resize:vertical}
.help-topic-row input:focus,.help-topic-row textarea:focus{border-color:#718db5}
.help-row-actions{display:flex;flex-direction:column;gap:6px;flex:none;width:74px}
.help-row-actions input{text-align:center}
/* ================= 濞村吋鑹鹃幉鎶藉礆閼稿灚鏆柣妤€鐗炵槐鐗堢▔婢跺绶查柛?/ 闁告娲栭崹顏呭緞濮樻剚鏀?================= */
.board-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-left:18px}
.board-tab{border:1px solid var(--line);background:#fff;color:#5d646e;border-radius:11px;padding:9px 14px;font-size:12px;font-weight:600;transition:.18s;display:inline-flex;align-items:center;gap:6px}
.board-tab:hover{border-color:#bfcde0;color:var(--brand-deep)}
.board-tab.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 14px #08387c22}
.board-tab.locked{opacity:.62}
.board-tab small{font-size:9px;font-weight:500;background:#eef0f4;color:#7b828b;border-radius:6px;padding:1px 5px}
.board-tab.active small{background:#ffffff2e;color:#dfe8f5}

.board-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:30px 0 14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.board-head h1{margin:6px 0 4px;font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}
.board-head p{margin:0;color:var(--muted);font-size:13px}
.quota-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:11px;background:#eaeff7;color:var(--brand-deep);font-size:12px;font-weight:700;white-space:nowrap}
.quota-chip.off{background:#f2f3f4;color:#969ba2}
.quota-chip.claim{background:#fdf3e6;color:#9a6b22}
.lead-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}

.lead-rows{display:grid;grid-template-columns:1fr;gap:10px}
.lead-row{display:flex;align-items:center;gap:18px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:.18s}
.lead-row:hover{border-color:#cbd6e6;box-shadow:0 10px 28px #1724370d}
.lead-row-main{flex:1;min-width:0}
.lead-row-top{display:flex;align-items:center;gap:10px;margin-bottom:5px}
.board-chip{font-size:10px;font-weight:700;color:var(--brand-deep);background:var(--brand-soft);border-radius:7px;padding:3px 8px}
.lead-time{font-size:10px;color:#9ba0a6;margin-left:auto}
.lead-row h3{margin:0 0 4px;font-size:15px;letter-spacing:-.01em}
.lead-row p{margin:0 0 7px;color:#5d646e;font-size:12.5px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lead-row-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#8b919a;font-size:11px}
.done-chip{color:var(--brand-deep);background:#eaeff7;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:600}
.lead-row-side{flex:none}

.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:6px}
.member-card{padding:18px;background:#fff;border:1px solid #e6e9ec;border-radius:16px;display:grid;gap:5px}
.member-card small{color:#8d929a;font-size:10px}
.member-card strong{font-size:18px;letter-spacing:-.02em}
.member-card span{color:#6f7681;font-size:11px}
.pending-chip{margin-top:8px;display:inline-block;background:#fdf3e6;color:#9a6b22;border-radius:8px;padding:4px 9px;font-size:10px;font-weight:600}
.muted{color:#9ba0a6;font-size:9px}

.plan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.plan-card{padding:18px;border:1px solid #e3e6eb;border-radius:16px;background:#fbfcfd}
.plan-card.exclusive{border-color:#cfd9e6;background:#f4f7fb}
.plan-card b{display:block;font-size:14px}
.plan-card strong{display:block;font-size:24px;margin:6px 0 10px;letter-spacing:-.02em}
.plan-card strong small{font-size:12px;color:#8d929a;font-weight:500}
.plan-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.plan-card li{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#5d646e;border-bottom:1px dashed #e9ecf0;padding-bottom:5px}
.plan-card li em{font-style:normal;font-weight:700;color:var(--brand-deep)}

.contact-card{display:grid;gap:12px;padding:16px;background:#f7f9fb;border:1px solid #e4e9ef;border-radius:14px;margin:8px 0 12px}
.contact-card small{display:block;color:#8d929a;font-size:10px;margin-bottom:3px}
.contact-card b{font-size:15px}
.contact-card p{margin:0;font-size:12.5px;color:#3f4854}
.contact-phone{font-size:20px!important;letter-spacing:.06em;color:var(--brand-deep)}

.plan-row,.rule-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid #e6e9ec;border-radius:11px;background:#fbfcfd;margin-bottom:8px}
.plan-row-main{min-width:150px;display:grid}
.plan-row-main b{font-size:12px}
.plan-row-main small{font-size:9px;color:#989da3}
.plan-row label,.rule-row label{font-size:9px;color:#7b828b;display:grid;gap:3px}
.plan-row input,.rule-row input,.rule-row select{border:1px solid #e3e6ea;border-radius:8px;padding:6px 8px;font-size:10px;outline:0;color:#293443;background:#fff}
.inline-check{display:flex!important;align-items:center;gap:5px;grid-auto-flow:column}
.rule-grid{display:grid;gap:6px;margin-top:8px}
.rule-row b{font-size:11px;min-width:150px}
.grant-form{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.grant-form select,.grant-form input{border:1px solid #e3e6ea;border-radius:8px;padding:8px 9px;font-size:10px;background:#fff;color:#293443;outline:0}
.grant-form input{width:80px}
.admin-block .table-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.admin-block .table-heading b{font-size:13px}
.admin-block .table-heading span{font-size:9px;color:#989da3}
.metric-card{margin-bottom:0}
.admin-metrics{grid-template-columns:repeat(6,1fr);margin-bottom:6px}

@media(max-width:1100px){
  .board-tabs{order:4;width:100%;margin-left:0;margin-bottom:10px}
  .member-grid{grid-template-columns:1fr}
  .admin-metrics{grid-template-columns:repeat(3,1fr)}
  .plan-cards{grid-template-columns:1fr}
}
@media(max-width:760px){
  .lead-row{flex-direction:column;align-items:stretch}
  .lead-row-side .button{width:100%}
  .board-head{flex-direction:column;align-items:flex-start}
}
/* ==================== 钃濊壊绉戞妧椋庯細娓愬彉涓庡厜鏁堝眰 ==================== */
body{
  background:
    radial-gradient(1200px 680px at 8% -10%, #dbe9ff 0%, rgba(219,233,255,0) 62%),
    radial-gradient(1000px 560px at 96% 0%, #dff4ff 0%, rgba(223,244,255,0) 58%),
    radial-gradient(900px 700px at 50% 110%, #e8f0ff 0%, rgba(232,240,255,0) 60%),
    linear-gradient(180deg,#f8fbff 0%,#f1f6fe 100%);
  background-attachment:fixed;
}
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(47,107,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,107,255,.05) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 70%);
  mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 70%);
}
.shell{position:relative;z-index:1}

.topbar{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(16px) saturate(1.5);
  -webkit-backdrop-filter:blur(16px) saturate(1.5);
  border-bottom:1px solid rgba(47,107,255,.14);
  box-shadow:0 10px 34px rgba(24,63,148,.07);
}
.topbar::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(47,107,255,.55),rgba(34,184,255,.55),transparent)}

.brand-mark{background:linear-gradient(135deg,#2f6bff 0%,#22b8ff 55%,#6ee7ff 100%);
  box-shadow:0 8px 22px rgba(47,107,255,.38),inset 0 1px 0 rgba(255,255,255,.35)}

/* 鎸夐挳 */
.button-primary{
  background:linear-gradient(135deg,#2f6bff 0%,#1e88ff 52%,#22b8ff 100%);
  box-shadow:0 8px 22px rgba(47,107,255,.30),inset 0 1px 0 rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.14);
}
.button-primary:hover{background:linear-gradient(135deg,#2258e6 0%,#1476ea 52%,#0fa6ef 100%);
  box-shadow:0 14px 32px rgba(47,107,255,.42);transform:translateY(-2px)}
.button-outline{border:1px solid rgba(47,107,255,.34);color:var(--brand);background:linear-gradient(180deg,#fff,#f1f7ff)}
.button-outline:hover{background:linear-gradient(180deg,#f7fbff,#e8f2ff);border-color:rgba(47,107,255,.55)}
.button-quiet{background:linear-gradient(180deg,#fff,#f4f8ff);border:1px solid rgba(47,107,255,.16);color:#2a4a86}
.button-quiet:hover{border-color:rgba(47,107,255,.4);color:var(--brand)}

/* 鏉垮潡鏍囩 */
.board-tab{background:linear-gradient(180deg,#fff,#f5f9ff);border:1px solid rgba(47,107,255,.16);color:#4a5f85}
.board-tab:hover{border-color:rgba(47,107,255,.42);color:#1b46cf;box-shadow:0 6px 16px rgba(47,107,255,.12)}
.board-tab.active{background:linear-gradient(135deg,#2f6bff,#1e88ff 60%,#22b8ff);border-color:transparent;color:#fff;
  box-shadow:0 10px 24px rgba(47,107,255,.34),inset 0 1px 0 rgba(255,255,255,.28)}

/* 鏍囬娓愬彉瀛?*/
.board-head h1,.panel-heading h2,.section-heading h2,.market-search h1,.complaint-layout h2,.guide-card h3{
  background:linear-gradient(120deg,#0e1b33 0%,#1b46cf 52%,#0f9bd7 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
.eyebrow{color:#5b7cc0}

/* 棰濆害鑳跺泭 */
.quota-chip{background:linear-gradient(135deg,rgba(47,107,255,.14),rgba(34,184,255,.18));color:#1b46cf;
  border:1px solid rgba(47,107,255,.20);box-shadow:0 6px 16px rgba(47,107,255,.10)}
.quota-chip.claim{background:linear-gradient(135deg,rgba(255,176,32,.18),rgba(255,120,60,.14));color:#a2570c;border-color:rgba(224,138,60,.30)}
.quota-chip.off{background:linear-gradient(180deg,#f2f5fb,#e9eefa);color:#8496b4;border-color:#dde6f5}

/* 鏁版嵁琛?*/
.lead-row{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid rgba(47,107,255,.12);
  box-shadow:0 4px 16px rgba(24,63,148,.05);position:relative;overflow:hidden}
.lead-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#2f6bff,#22b8ff,#6ee7ff);opacity:0;transition:opacity .2s}
.lead-row:hover{border-color:rgba(47,107,255,.34);box-shadow:0 16px 40px rgba(24,63,148,.14);transform:translateY(-2px)}
.lead-row:hover::before{opacity:1}
.board-chip{background:linear-gradient(135deg,#dbe8ff,#d9f6ff);color:#1b46cf}
.done-chip{background:linear-gradient(135deg,#dbe8ff,#d9f6ff);color:#1b46cf}

/* 鍗＄墖 / 鍚庡彴鍖哄潡 */
.member-card,.complaint-form,.agreement-box,.guide-card,.modal{
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  border:1px solid rgba(47,107,255,.12);
  box-shadow:0 10px 30px rgba(24,63,148,.07),inset 0 1px 0 #fff;
}
.metric-card{background:linear-gradient(160deg,#ffffff,#f4f9ff);border:1px solid rgba(47,107,255,.14);
  box-shadow:0 8px 22px rgba(24,63,148,.06)}
.metric-card b,.member-card strong,.contact-phone{
  background:linear-gradient(120deg,#1b46cf,#0f9bd7);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent}
.wallet-card{background:linear-gradient(150deg,#123a8f 0%,#1b46cf 42%,#1476ea 78%,#22b8ff 100%);
  box-shadow:0 16px 36px rgba(27,70,207,.34);border:1px solid rgba(255,255,255,.12)}
.wallet-card small,.wallet-card span{color:#cfe0ff}
.wallet-card strong{color:#fff;-webkit-text-fill-color:#fff}
.wallet-add{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff}
.wallet-add:hover{background:rgba(255,255,255,.26)}
.profile-avatar{background:linear-gradient(135deg,#2f6bff,#22b8ff);box-shadow:0 8px 20px rgba(47,107,255,.34)}

/* 渚ф爮 */
.side-link.active{background:linear-gradient(135deg,rgba(47,107,255,.12),rgba(34,184,255,.14));color:#1b46cf}
.side-count{background:linear-gradient(135deg,#2f6bff,#22b8ff);color:#fff}

/* 琛ㄦ牸 */
.table-wrap table th{background:linear-gradient(180deg,#f5f9ff,#eaf1ff);color:#31527f;
  border-bottom:1px solid rgba(47,107,255,.16)}
.table-wrap table tr:hover td{background:#f8fbff}

/* 濂楅鍗?*/
.plan-card{background:linear-gradient(170deg,#ffffff,#f6faff);border:1px solid rgba(47,107,255,.14)}
.plan-card.exclusive{background:linear-gradient(170deg,#f2f7ff,#e6f1ff);border-color:rgba(47,107,255,.34);
  box-shadow:0 14px 34px rgba(47,107,255,.14)}
.plan-card strong{background:linear-gradient(120deg,#1b46cf,#0f9bd7);-webkit-background-clip:text;
  background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* 闂ㄧ / 绌虹姸鎬?*/
.board-gate{background:linear-gradient(135deg,rgba(47,107,255,.06),rgba(34,184,255,.05));
  border:1px dashed rgba(47,107,255,.30);border-radius:18px;
  display:flex;align-items:center;gap:16px;padding:20px 22px}
.board-gate>div{flex:1 1 auto;min-width:0}
.board-gate>div>b{display:block;font-size:15px;color:var(--ink);margin-bottom:4px}
.board-gate>div>p{margin:0;font-size:12.5px;line-height:1.7;color:var(--muted)}
.board-gate .button{flex:none;align-self:center;border:1px solid rgba(27,70,207,.45);
  box-shadow:0 8px 20px rgba(47,107,255,.22);white-space:nowrap}
.gate-icon{background:linear-gradient(135deg,#2f6bff,#22b8ff);color:#fff;box-shadow:0 8px 20px rgba(47,107,255,.28)}
@media(max-width:720px){
  .board-gate{flex-direction:column;align-items:stretch;gap:12px}
  .board-gate .button{width:100%}
}

/* 空列表里的「先设置产品」提示：第一行醒目、第二行是原来的更新文案 */
.empty-results .empty-lead{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px}
.empty-results .empty-sub{display:block;font-size:12.5px;color:var(--muted)}

/* 鐒︾偣鍏夋晥 */
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px rgba(47,107,255,.16)!important;
  border-color:rgba(47,107,255,.55)!important}

/* 鍒嗛〉 / 鎻愮ず / 椤佃剼 */
.page-btn{background:linear-gradient(180deg,#fff,#f4f9ff);border:1px solid rgba(47,107,255,.18);color:#2a4a86}
.page-btn:hover:not(:disabled){border-color:rgba(47,107,255,.45);color:#1b46cf}
.toast{background:linear-gradient(135deg,#0b1b3a,#1b46cf);box-shadow:0 16px 40px rgba(11,27,58,.34)}
.modal-backdrop{background:rgba(11,27,58,.46);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.footer{border-top:1px solid rgba(47,107,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(240,246,255,.7))}

@media (prefers-reduced-motion: reduce){
  .lead-row:hover,.button-primary:hover{transform:none}
}
@media(max-width:760px){
  body::before{background-size:36px 36px}
}
/* ==================== 绉戞妧鎰熺簿淇?==================== */
/* 搴曡壊鍐嶅帇涓€鐐硅摑锛屾彁浜眰娆?*/
body{background:
  radial-gradient(1200px 680px at 8% -10%, #cfe2ff 0%, rgba(207,226,255,0) 60%),
  radial-gradient(1000px 560px at 96% 0%, #d6f1ff 0%, rgba(214,241,255,0) 56%),
  radial-gradient(900px 700px at 50% 112%, #dfe9ff 0%, rgba(223,233,255,0) 62%),
  linear-gradient(180deg,#f4f9ff 0%,#eaf1fd 100%);
  background-attachment:fixed}

/* 鏁版嵁琛屽乏渚у厜鏉￠粯璁ゅ彲瑙侊紝鎮仠澧炲己 */
.lead-row::before{opacity:.5}
.lead-row:hover::before{opacity:1}

/* 鏉垮潡鏍囬涓嬬殑娓愬彉鍏夊甫 */
.board-head{position:relative}
.board-head::after{content:'';position:absolute;left:0;bottom:-1px;height:2px;width:200px;
  background:linear-gradient(90deg,#2f6bff,#22b8ff,rgba(34,184,255,0));border-radius:2px}

/* 褰撳墠鏉垮潡鏍囩娴佸姩鍏夋晥 */
.board-tab.active{background-size:200% 100%;animation:tabShine 7s linear infinite}
@keyframes tabShine{0%{background-position:0% 50%}100%{background-position:200% 50%}}

/* 涓绘寜閽偓鍋滄壂鍏?*/
.button-primary{position:relative;overflow:hidden}
.button-primary::after{content:'';position:absolute;top:0;bottom:0;width:45%;left:-60%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transition:left .5s}
.button-primary:hover::after{left:120%}

/* 姒傝鎸囨爣鍗￠《閮ㄥ厜鏉?*/
.metric-card{position:relative;overflow:hidden}
.metric-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#2f6bff,#22b8ff,#6ee7ff)}

/* 姝ｆ枃鍙鎬э紙钃濆簳涓婁笉瑕佸彂鐏帮級 */
.lead-row h3{color:#12233f}
.lead-row p{color:#41577a}
.lead-row-meta{color:#6b7f9e}
.table-wrap table td{color:#243a5c}
.muted,.updated-label{color:#7c8dab}

/* 闂ㄧ鍥炬爣鍏夋檿 */
.gate-icon{position:relative}
.gate-icon::after{content:'';position:absolute;inset:-8px;border-radius:50%;
  background:radial-gradient(circle,rgba(47,107,255,.28),transparent 70%);z-index:-1}

@media (prefers-reduced-motion: reduce){
  .board-tab.active{animation:none}
  .button-primary::after{display:none}
}
/* ==================== 鏁版嵁琛岀増寮忚皟鏁达紙鍝佺被璇嶇Щ闄?/ 鍦板尯骞跺叆鏍囬琛?/ 鍙风爜灞呬腑锛?==================== */
.lead-row-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:4px}
.lead-row-top h3{margin:0;font-size:15px;letter-spacing:-.01em}
.lead-region{font-size:11px;font-weight:600;color:#3c66b8;white-space:nowrap;
  background:linear-gradient(135deg,rgba(47,107,255,.12),rgba(34,184,255,.14));
  border:1px solid rgba(47,107,255,.16);border-radius:7px;padding:2px 9px}
.lead-time{margin-left:auto;font-size:10px;color:#8fa2c2}
.lead-row-meta{justify-content:center;margin-top:8px;gap:10px}
.lead-phone{font-size:11.5px;color:#3d5578;letter-spacing:.04em}
/* ==================== 鏁版嵁琛岋細绱у噾鍥涘垪鐗堝紡锛堟渶鏂帮級 ==================== */
.lead-rows{gap:8px;grid-template-columns:1fr}
.lead-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 108px 178px auto;
  align-items:center;gap:14px;
  padding:8px 16px;
}
.lead-row-main{min-width:0}
.lead-row-top{display:flex;align-items:baseline;gap:9px;flex-wrap:nowrap;overflow:hidden;margin-bottom:1px}
.lead-row-top h3{
  font-size:13.5px;margin:0;letter-spacing:-.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;max-width:52%;
}
.lead-region{font-size:10px;padding:1px 7px;flex:none}
.lead-time{font-size:10px;color:#93a5c2;flex:none;margin-left:0}
.lead-row p{
  font-size:11px;line-height:1.5;margin:0;color:#41577a;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  display:block;-webkit-line-clamp:unset;
}
/* 浜у搧璇嶏紙鏉ヨ嚜鏁版嵁琛?category锛?*/
.lead-category{
  font-size:12.5px;font-weight:700;color:#2f6bff;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  padding:2px 6px;border-radius:7px;
  background:linear-gradient(135deg,rgba(47,107,255,.09),rgba(34,184,255,.11));
}
/* 鑴辨晱鍙风爜锛氭斁澶с€佺孩鑹层€佸眳涓?*/
.lead-phone{
  font-size:19px;font-weight:800;color:#e5352b;text-align:center;
  letter-spacing:.05em;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.lead-row-side{flex:none}
/* 姗欒壊娓愬彉銆岃幏鍙栥€嶆寜閽?*/
.button-accent{
  background:linear-gradient(135deg,#ffa63d 0%,#ff7d1a 52%,#f2600c 100%);
  color:#fff;border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 20px rgba(242,96,12,.30),inset 0 1px 0 rgba(255,255,255,.28);
}
.button-accent:hover{
  background:linear-gradient(135deg,#ff9526 0%,#f26a0c 52%,#d94f05 100%);
  box-shadow:0 12px 26px rgba(242,96,12,.42);transform:translateY(-2px);
}
.button-accent-outline{
  background:linear-gradient(180deg,#fff,#fff7ef);
  border:1px solid rgba(242,96,12,.40);color:#d4610a;
  box-shadow:0 4px 12px rgba(242,96,12,.12);
}
.button-accent-outline:hover{background:linear-gradient(180deg,#fffaf4,#ffefdd);border-color:rgba(242,96,12,.62)}

@media(max-width:900px){
  .lead-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'main side' 'cat phone';gap:8px 12px}
  .lead-row-main{grid-area:main}
  .lead-category{grid-area:cat;text-align:left}
  .lead-phone{grid-area:phone;text-align:right;font-size:17px}
  .lead-row-side{grid-area:side}
  .lead-row-top h3{max-width:100%}
}
/* ==================== 绔欑偣 Logo ==================== */
.brand-mark--logo{background:none!important;box-shadow:none!important;padding:0;border-radius:12px}
.brand-mark--logo img{width:38px;height:38px;display:block;border-radius:12px;object-fit:contain;
  filter:drop-shadow(0 5px 12px rgba(24,63,148,.26))}
.footer-brand .brand-mark--logo img{width:34px;height:34px;border-radius:11px}
.modal-brand .brand-mark--logo img{width:56px;height:56px;border-radius:15px;
  filter:drop-shadow(0 10px 24px rgba(24,63,148,.32))}
/* ==================== 鏁版嵁琛岋細浜у搧璇?鍙风爜宸︾Щ + 鑾峰彇鎸夐挳鍔犲 ==================== */
@media(min-width:901px){
  /* 涓诲尯鏀剁獎鍒?42%锛屾妸浜у搧璇嶅拰鍙风爜鏁翠綋宸︾Щ锛涙湯鍒?1fr 浣滀负寮规€х暀鐧斤紝鎸夐挳浠嶈创鍙?*/
  .lead-row{
    grid-template-columns:minmax(0,42%) 112px 168px minmax(0,1fr) auto;
    column-gap:14px;
  }
}
/* 鑾峰彇鎸夐挳鍔犲涓€鍊嶏紙鍘熺害 48px锛?*/
.lead-row-side .button{min-width:96px;justify-content:center;padding-left:12px;padding-right:12px}
/* 淇锛氱綉鏍兼湁 5 鍒楋紙鏈垪涓哄脊鎬х暀鐧斤級锛屾妸鎿嶄綔鍒楁樉寮忔斁鍒扮 5 鍒楀苟鍙冲榻?*/
@media(min-width:901px){
  .lead-row-side{grid-column:5;justify-self:end}
}
/* ==================== 椤舵爮锛氭悳绱㈡鍔犲 ==================== */
/* 瀹藉睆锛氭妸寮规€у垪浠庛€屾澘鍧楁爣绛俱€嶆崲缁欍€屾悳绱㈡銆嶏紝骞跺帇缂╂爣绛捐鍑虹┖闂?*/
@media(min-width:1281px){
  .topbar{grid-template-columns:auto auto minmax(320px,1fr) auto;gap:16px}
  .topbar .board-tabs{margin-left:0}
  .topbar .board-tab{padding:8px 12px}
  .topbar .board-tab small{display:none}      /* 闅愯棌銆屾湭寮€閫氥€嶈鏍囷紝鏍囩鏇寸揣鍑?*/
  .topbar .header-search{width:auto;max-width:none;margin:0}
  .topbar .header-search input{font-size:14.5px;padding:11px 10px}
}
/* 涓睆锛?51-1100锛夛細椤舵爮涓よ锛屾悳绱㈢嫭鍗犵涓€琛岀殑寮规€х┖闂?*/
@media(min-width:851px) and (max-width:1280px){
  .topbar{
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:'brand search acc' 'tabs tabs tabs';
    row-gap:10px;height:auto;min-height:0;padding:12px 0;gap:12px;
  }
  .topbar .brand{grid-area:brand}
  .topbar .header-search{grid-area:search;width:auto;max-width:none;margin:0}
  .topbar .account-actions{grid-area:acc;justify-self:end}
  .topbar .board-tabs{grid-area:tabs;margin:0;width:100%}
  .topbar .board-tab small{display:none}
}
/* 绐勫睆锛氭悳绱㈡浠嶇嫭鍗犳暣琛?*/
@media(max-width:850px){
  .topbar .header-search{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:0}
}
/* ==================== 号码居中于产品词与按钮之间并放大一倍 ==================== */
@media(min-width:901px){
  /* 4 列：主区 42% | 产品词 | 号码(占满中间弹性区并居中) | 按钮 */
  .lead-row{
    grid-template-columns:minmax(0,42%) 112px minmax(0,1fr) auto;
    column-gap:14px;
  }
  .lead-row-side{grid-column:auto;justify-self:end}
  /* 号码：19px → 38px，正好放大一倍 */
  .lead-phone{font-size:38px;line-height:1.05;letter-spacing:.06em;text-align:center}
}
/* 获取按钮：字样中间加间距（等价于两个空格的视觉宽度，且各状态一致） */
.lead-row-side .button{letter-spacing:.55em;text-indent:.55em}
/* ==================== Logo 放大一倍（原 38px → 76px） ==================== */
@media(min-width:1281px){
  .topbar{height:auto;min-height:106px;padding:14px 0}
  .brand-mark--logo{width:76px!important;height:76px!important;border-radius:20px}
  .brand-mark--logo img{width:76px;height:76px;border-radius:20px}
  .brand b{font-size:19px}
  .brand small{font-size:10px;margin-top:5px}
}
@media(min-width:851px) and (max-width:1280px){
  .brand-mark--logo{width:58px!important;height:58px!important;border-radius:16px}
  .brand-mark--logo img{width:58px;height:58px;border-radius:16px}
  .topbar{min-height:88px}
}
@media(max-width:850px){
  .brand-mark--logo{width:44px!important;height:44px!important;border-radius:13px}
  .brand-mark--logo img{width:44px;height:44px;border-radius:13px}
}
@media(max-width:720px){
  .brand-mark--logo{width:38px!important;height:38px!important;border-radius:12px}
  .brand-mark--logo img{width:38px;height:38px;border-radius:12px}
}
/* 页脚 logo 同步放大（原 34px → 44px） */
.footer-brand .brand-mark--logo{width:44px!important;height:44px!important}
.footer-brand .brand-mark--logo img{width:44px;height:44px;border-radius:13px}

/* ==================== 综合数据：标出来源板块 ==================== */
.lead-category{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.25}
.board-tag{font-size:9px;font-weight:600;color:#7c8dab;letter-spacing:.02em;white-space:nowrap}
/* ==================== 搜索：产品名匹配下拉 ==================== */
.header-search{position:relative}
.search-suggest{
  position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:60;
  background:#fff;border:1px solid rgba(47,107,255,.18);border-radius:14px;
  box-shadow:0 22px 50px rgba(24,63,148,.18);padding:8px;text-align:left;
  max-height:340px;overflow:auto;
}
.suggest-head{font-size:10px;color:#7c8dab;padding:4px 8px 6px}
.suggest-item{
  display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;
  padding:9px 10px;border-radius:10px;cursor:pointer;text-align:left;transition:.15s;
}
.suggest-item:hover{background:linear-gradient(135deg,rgba(47,107,255,.10),rgba(34,184,255,.12))}
.suggest-name{font-size:13px;font-weight:700;color:#1b46cf}
.suggest-item small{color:#8fa2c2;font-size:10px;margin-left:auto}
.suggest-item.locked .suggest-name{color:#7c8dab}
.suggest-empty{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;font-size:12px;color:#41577a}
.suggest-note{font-size:10px;color:#9ba69f;padding:0 10px 6px}
/* ==================== 产品选择器：搜索 + 点选（替代 select） ==================== */
.product-picker{position:relative;margin-top:2px}
.picker-field{display:flex;align-items:center;gap:8px;border:1px solid #dbe6f7;border-radius:10px;
  background:linear-gradient(180deg,#fff,#f7fbff);padding:4px 6px 4px 12px;min-height:42px}
.picker-selected{font-size:12.5px;font-weight:700;color:#1b46cf;white-space:nowrap;
  background:linear-gradient(135deg,rgba(47,107,255,.10),rgba(34,184,255,.12));
  border-radius:8px;padding:5px 10px;flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis}
.picker-selected.empty{color:#9aa9c2;font-weight:600;background:#f1f5fb}
.picker-search{flex:1;min-width:0;border:0;outline:0;background:transparent;
  font-size:12.5px;color:#294338;padding:8px 6px}
.picker-hint{font-size:9.5px;color:#9aa9c2;margin-top:5px}
.picker-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:80;
  background:#fff;border:1px solid rgba(47,107,255,.18);border-radius:12px;
  box-shadow:0 20px 44px rgba(24,63,148,.20);padding:8px;max-height:260px;overflow:auto}
.picker-group{margin-bottom:8px}
.picker-group-title{font-size:9.5px;color:#7c8dab;padding:3px 6px 5px;letter-spacing:.04em}
.picker-group-items{display:flex;flex-wrap:wrap;gap:6px}
.picker-item{border:1px solid #e3ebf8;background:linear-gradient(180deg,#fff,#f6faff);
  color:#2a4a86;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:.15s}
.picker-item:hover{border-color:rgba(47,107,255,.45);color:#1b46cf;
  background:linear-gradient(135deg,rgba(47,107,255,.10),rgba(34,184,255,.12))}
.picker-item.active{background:linear-gradient(135deg,#2f6bff,#22b8ff);border-color:transparent;color:#fff}
.picker-empty,.picker-more{font-size:11px;color:#8fa2c2;padding:10px}

/* 我的数据：整行可点击 */
.row-clickable{cursor:pointer;transition:background .15s}
.row-clickable:hover td{background:#f2f7ff}
.row-clickable td{position:relative}
.kind-chip{font-size:9px;font-weight:600;color:#1b46cf;
  background:linear-gradient(135deg,rgba(47,107,255,.10),rgba(34,184,255,.12));
  border-radius:6px;padding:2px 7px;white-space:nowrap}


/* 会员到期临期高亮 */
#membership-expiry.expiring{color:#e08a3c;font-weight:700}
/* 站内通知 */
.notif-list{display:grid;gap:10px}
.notif-item{display:flex;gap:12px;padding:14px 16px;background:linear-gradient(180deg,#fff,#fbfdff);
  border:1px solid rgba(47,107,255,.12);border-radius:14px}
.notif-item.unread{border-color:rgba(47,107,255,.34);
  background:linear-gradient(135deg,rgba(47,107,255,.06),rgba(34,184,255,.05))}
.notif-dot{width:8px;height:8px;border-radius:50%;background:#c9d6ea;flex:none;margin-top:7px}
.notif-item.unread .notif-dot{background:linear-gradient(135deg,#2f6bff,#22b8ff);box-shadow:0 0 0 3px rgba(47,107,255,.14)}
.notif-main b{display:block;font-size:13.5px;color:#12233f}
.notif-main p{margin:5px 0 6px;font-size:12px;color:#41577a;line-height:1.6}
.notif-main small{font-size:10px;color:#94a6c4}


/* ==================== 数据流效果 ==================== */
.lead-row-new{animation:leadFlow .55s cubic-bezier(.22,.9,.28,1) both}
@keyframes leadFlow{
  from{opacity:0;transform:translateY(-16px) scale(.985);
       box-shadow:0 0 0 3px rgba(47,107,255,.28)}
  60%{box-shadow:0 0 0 3px rgba(47,107,255,.16)}
  to{opacity:1;transform:none;box-shadow:none}
}
.lead-row-new::before{opacity:1}
.new-data-pill{position:sticky;top:74px;z-index:40;display:none;margin:0 auto 10px;
  border:0;border-radius:999px;padding:9px 20px;font-size:12.5px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#2f6bff,#22b8ff);cursor:pointer;
  box-shadow:0 10px 26px rgba(47,107,255,.36)}
.new-data-pill.show{display:block;animation:pillIn .35s ease both}
@keyframes pillIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.load-more-sentinel{display:flex;align-items:center;justify-content:center;gap:10px;
  padding:18px;color:#8fa2c2;font-size:12px}
.load-more-sentinel .loader{width:14px;height:14px;border-width:2px}
@media (prefers-reduced-motion: reduce){
  .lead-row-new{animation:none}
  .new-data-pill.show{animation:none}
}


/* ==================== 后台：会员管理 ==================== */
.member-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}
.member-toolbar input,.member-toolbar select{border:1px solid #dbe6f7;border-radius:9px;padding:8px 11px;
  font-size:11px;color:#294338;background:linear-gradient(180deg,#fff,#f7fbff);outline:0}
.member-toolbar input{min-width:220px;flex:1;max-width:340px}
.warn-text{color:#e08a3c;font-weight:700}
.kind-chip.banned{background:linear-gradient(135deg,rgba(229,53,43,.12),rgba(255,120,60,.14));color:#c0392b}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.detail-card{padding:12px 14px;border:1px solid rgba(47,107,255,.14);border-radius:12px;
  background:linear-gradient(180deg,#fff,#f7fbff);display:grid;gap:3px}
.detail-card small{color:#8d9a92;font-size:9.5px}
.detail-card b{font-size:15px}
.detail-card span{color:#6f8177;font-size:10px}
.detail-block{margin:14px 0}
.detail-block>b{display:block;font-size:12px;margin-bottom:7px;color:#12233f}
#modal-body .modal{max-height:none}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}}


/* ==================== 会员识别码 ==================== */
.admin-quick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;
  padding:12px 14px;border:1px solid rgba(47,107,255,.18);border-radius:12px;
  background:linear-gradient(135deg,rgba(47,107,255,.06),rgba(34,184,255,.05))}
.admin-quick b{font-size:12px;color:#12233f}
.admin-quick input{flex:1;min-width:220px;max-width:360px;border:1px solid #dbe6f7;border-radius:9px;
  padding:9px 12px;font-size:12px;letter-spacing:.12em;color:#294338;background:#fff;outline:0}
.admin-quick input:focus{border-color:rgba(47,107,255,.55);box-shadow:0 0 0 3px rgba(47,107,255,.16)}
.member-code{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:#41577a}
.member-code b{font-size:15px;letter-spacing:.14em;color:#1b46cf;font-variant-numeric:tabular-nums}


/* ==================== 支付识别码 ==================== */
.pay-card{margin:10px 0;border:1px solid rgba(47,107,255,.2);border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,#fff,#f8fbff)}
.pay-card.muted{opacity:.75}
.pay-card-main{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:16px}
.pay-card-main > div{display:grid;gap:3px}
.pay-card-main small{color:#8d9a92;font-size:9.5px}
.pay-card-main b{font-size:13.5px;color:#12233f}
.pay-card-main span{color:#6f8177;font-size:10px}
.pay-code{letter-spacing:.18em;color:#1b46cf!important;font-size:18px!important;font-variant-numeric:tabular-nums}
.pay-amount{color:#e08a3c!important;font-size:17px!important}
.pay-code-sm{letter-spacing:.12em;color:#1b46cf;font-variant-numeric:tabular-nums}
.pay-card-actions{display:flex;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid rgba(47,107,255,.12);
  background:rgba(47,107,255,.03)}
.kind-chip.paid{background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(16,185,129,.16));color:#0f8a5f}
.pay-code-box{display:grid;justify-items:center;gap:4px;padding:18px;margin:10px 0;border-radius:16px;
  border:1px dashed rgba(47,107,255,.35);background:linear-gradient(135deg,rgba(47,107,255,.06),rgba(34,184,255,.05))}
.pay-code-box small{color:#6f8177;font-size:10.5px}
.pay-code-box strong{font-size:26px}
.pay-code-big{font-size:40px;font-weight:800;letter-spacing:.34em;color:#1b46cf;
  font-variant-numeric:tabular-nums;text-indent:.34em;line-height:1.2}
.pay-qr{display:grid;justify-items:center;gap:8px;margin:12px 0;padding:14px;
  border:1px solid rgba(47,107,255,.14);border-radius:14px;background:#fff}
.pay-qr img{width:180px;height:180px;object-fit:contain;border-radius:10px}
.pay-qr span{font-size:11px;color:#6f8177;text-align:center;line-height:1.6}
.pay-qr.empty{border-style:dashed;background:linear-gradient(180deg,#fff,#f8fbff)}
.pay-steps{font-size:11.5px;color:#41577a;background:rgba(47,107,255,.05);border-radius:10px;padding:10px 12px;margin:10px 0;line-height:1.7}
@media(max-width:900px){.pay-card-main{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ==================== 公告栏 ==================== */
.announce-bar{display:flex;align-items:center;gap:12px;margin:14px 0 0;padding:11px 16px;
  border-radius:14px;border:1px solid rgba(47,107,255,.22);
  background:linear-gradient(135deg,rgba(47,107,255,.10),rgba(34,184,255,.10));
  box-shadow:0 8px 22px rgba(24,63,148,.08)}
.announce-icon{font-size:15px;line-height:1;flex:none}
.announce-text{flex:1;font-size:12.5px;color:#1b46cf;font-weight:600;line-height:1.6;
  white-space:pre-line;word-break:break-word}
.announce-close{flex:none;border:0;background:transparent;color:#5b7cc0;font-size:18px;
  line-height:1;cursor:pointer;padding:0 4px;border-radius:6px;transition:.15s}
.announce-close:hover{color:#1b46cf;background:rgba(47,107,255,.10)}
@media(max-width:760px){.announce-text{font-size:11.5px}}

/* ==================== 用户协议正文 ==================== */
.agreement-content{white-space:pre-line;line-height:1.85;font-size:12.5px;color:#3f5449;
  max-height:52vh;overflow:auto;padding-right:6px}
.agreement-content::-webkit-scrollbar{width:6px}
.agreement-content::-webkit-scrollbar-thumb{background:#d3e0f5;border-radius:3px}

/* ==================== 体验会员额度卡 ==================== */
.trial-card{border-color:rgba(224,138,60,.35)!important;
  background:linear-gradient(180deg,#fffdf9,#fff8ef)!important;margin-bottom:12px}
.trial-card strong{color:#c9761f}
.trial-bar{height:6px;border-radius:4px;background:#f3e6d3;overflow:hidden;margin-top:6px}
.trial-bar i{display:block;height:100%;border-radius:4px;
  background:linear-gradient(90deg,#ffa63d,#f2600c);transition:width .3s}


/* ==================== 后台：套餐×板块规则 ==================== */
.rule-note{font-size:10.5px;color:#6f8177;background:rgba(47,107,255,.05);
  border-radius:9px;padding:8px 11px;margin:10px 0;line-height:1.6}
.rule-note b{color:#1b46cf}
.rule-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:11px 12px;
  border:1px solid #e6ece8;border-radius:11px;background:#fbfdfc;margin-bottom:8px}
.rule-title{min-width:150px;display:grid;gap:2px;padding-bottom:2px}
.rule-title b{font-size:12.5px;color:#12233f}
.rule-title small{font-size:9.5px;color:#8d9a92}
.rule-row label{font-size:9px;color:#7b8b83;display:grid;gap:3px}
.rule-row input,.rule-row select{border:1px solid #e3eae6;border-radius:8px;padding:7px 9px;
  font-size:10.5px;outline:0;color:#294338;background:#fff;min-width:92px}
.rule-row input[name="daily_limit"]{width:120px;text-align:center;font-weight:700;color:#1b46cf;
  font-variant-numeric:tabular-nums}
.rule-row .inline-check{display:flex!important;align-items:center;gap:5px;padding-bottom:8px}


/* 无手机号的数据行 */
.lead-phone:empty{position:relative;min-height:1px}
.lead-row-side .button[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none;
  background:linear-gradient(180deg,#f7f9fc,#eef3fa)!important;border-color:#dde6f5!important;color:#8fa2c2!important}

/* 注册弹窗：体验提示放大 */
.modal .modal-subtitle-lg{margin:6px 0 20px;padding:11px 16px;border-radius:12px;
  background:linear-gradient(135deg,#eaf1ff,#dcebff);border:1px solid #cfe0ff;
  font-size:17px;font-weight:700;color:#1b46cf;letter-spacing:.01em;
  text-align:center;line-height:1.35}

/* 后台会员管理：添加会员按钮 + 添加会员弹窗 */
.member-add-btn{margin-left:auto;white-space:nowrap}
.modal .field-row{display:flex;gap:12px}
.modal .field-row>label{flex:1;min-width:0}
.modal select{width:100%;border:1px solid #e1e4e9;background:#fbfbfc;border-radius:9px;padding:10px;
  outline:0;color:#293443;font-size:11px}
.modal select:focus{border-color:#718db5;box-shadow:0 0 0 3px #7997c21b}
.modal .form-tip{margin:0 0 14px;font-size:10px;color:#8a93a3;line-height:1.5}

/* 后台：产品管理表格 */
.category-table td{vertical-align:middle}
.category-table input:not([type="checkbox"]),.category-table select,
.category-new input:not([type="checkbox"]),.category-new select{
  border:1px solid #dbe6f7;border-radius:8px;padding:7px 9px;font-size:11px;color:#294338;
  background:linear-gradient(180deg,#fff,#f7fbff);outline:0;min-width:118px}
.category-table .cat-name{min-width:160px;font-weight:600;color:#12305c}
.category-table input:not([type="checkbox"]):focus,.category-table select:focus{border-color:#718db5}
.category-table .inline-check{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#5d718f;white-space:nowrap}
.category-table .inline-check input{width:auto;margin:0}
.category-table .table-action{margin-right:6px}
.category-new{background:#f6faff}
.category-new .cat-name{background:#fff}

/* 后台：Excel 导入 */
.import-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:12px 0}
.import-form label{display:grid;gap:5px;font-size:10px;color:#5d718f}
.import-form select,.import-form input[type="file"]{border:1px solid #dbe6f7;border-radius:9px;padding:8px 10px;
  font-size:11px;color:#294338;background:linear-gradient(180deg,#fff,#f7fbff);outline:0;min-width:190px}
.import-form input[type="file"]{padding:6px 8px;background:#fff;cursor:pointer}
.import-form .import-file{flex:1;min-width:260px}
.import-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%}
.import-actions .inline-check{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#5d718f}
.import-actions .inline-check input{width:auto;margin:0}
.import-loading{display:flex;align-items:center;gap:10px;font-size:11px;color:#5d718f;padding:14px 0}
.import-error{margin-top:12px;padding:11px 14px;border-radius:10px;font-size:11px;color:#a8331f;
  background:#fff2ef;border:1px solid #ffd6cc}
.import-result-card{margin-top:14px;border:1px solid #e3ecfa;border-radius:14px;padding:14px 16px;background:#fbfdff}
.import-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin-bottom:10px}
.import-head b{font-size:13px;color:#12305c}
.import-head span{font-size:10px;color:#7c8dab}
.import-map{margin:10px 0;font-size:10px;color:#5d718f;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.map-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:20px;
  background:#eef4ff;border:1px solid #dbe7fb;font-size:10px;color:#5d718f}
.map-chip b{color:#1b46cf;font-size:10px}
.import-warn{margin:10px 0;padding:10px 12px;border-radius:10px;font-size:10.5px;color:#8a5a1c;
  background:#fff8ea;border:1px solid #ffe3b8;line-height:1.6}
.import-products{margin:10px 0;font-size:10px;color:#5d718f;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.import-table{margin-top:10px}
.import-table th,.import-table td{font-size:10px;padding:6px 8px}
.import-skip td:last-child{color:#a8331f}

/* 我的数据：全选 + 批量下载 */
.panel-heading .data-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.panel-heading .data-actions .inline-check{display:inline-flex;align-items:center;gap:6px;
  font-size:11px;color:#5d718f;white-space:nowrap;cursor:pointer}
.panel-heading .data-actions .inline-check input{width:15px;height:15px;margin:0;cursor:pointer}
.panel-heading .picked-count{font-size:11px;color:#7c8dab;white-space:nowrap}
.panel-heading .data-actions .button[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}
.data-table .pick-col{width:38px;text-align:center;padding-left:10px!important;padding-right:4px!important}
.data-table .pick-col input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:#2f6bff}
.data-table .row-clickable.picked-row{background:#f2f7ff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ==================== 抖音数据详情（简介 + 链接 + 播放器） ==================== */
.modal.modal-wide{width:min(940px,100%)}
.douyin-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:18px;align-items:start;margin-top:6px}
.douyin-info{display:grid;gap:12px;min-width:0}
.dy-block{border:1px solid #e3ecfa;border-radius:14px;padding:13px 15px;background:linear-gradient(180deg,#fbfdff,#f4f9ff)}
.dy-block h3{margin:0 0 10px;font-size:11.5px;color:#1b46cf;letter-spacing:.06em;display:flex;align-items:center;gap:7px}
.dy-block h3::before{content:'';width:3px;height:12px;border-radius:2px;background:linear-gradient(180deg,#2f6bff,#6ee7ff)}
.dy-field{display:grid;gap:3px;padding:6px 0;border-bottom:1px dashed #e6eefb}
.dy-field:last-child{border-bottom:0;padding-bottom:0}
.dy-field small{font-size:9.5px;color:#8fa0bb;letter-spacing:.04em}
.dy-field b{font-size:12.5px;color:#12305c;line-height:1.45}
.dy-field p{margin:0;font-size:12px;color:#334a6b;line-height:1.6;word-break:break-word}
.dy-field .contact-phone{font-size:19px;font-weight:800;letter-spacing:.06em;
  color:#0f2f86;font-variant-numeric:tabular-nums;font-family:'DM Sans',monospace}
.dy-link{display:flex;align-items:center;gap:8px;padding:3px 0;border-bottom:1px dashed #e6eefb}
.dy-link:last-child{border-bottom:0}
/* 整行都是可点区域：标签 / URL / 提示文字，点任何位置都在新标签页打开 */
.dy-link-main{flex:1;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:1px 8px;padding:6px 9px;border-radius:10px;text-decoration:none;
  transition:background .16s,box-shadow .16s}
.dy-link-main:hover{background:#eef5ff;box-shadow:inset 0 0 0 1px #dbe9ff}
.dy-link-main .dy-link-label{font-size:10px;color:#8fa0bb;min-width:72px;white-space:nowrap}
.dy-link-main .dy-link-url{font-size:11.5px;font-weight:600;color:#2f6bff;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.dy-link-main:hover .dy-link-url{text-decoration:underline}
.dy-link-open{font-size:12px;color:#2f6bff;opacity:.65;line-height:1}
.dy-link-main:hover .dy-link-open{opacity:1}
.dy-link-main small{grid-column:1/-1;font-size:9.5px;color:#a3b2c9}
.dy-link.empty>span{font-size:10px;color:#8fa0bb;min-width:72px}
.dy-link.empty small{font-size:10px;color:#a3b2c9}
.douyin-media{display:grid;gap:8px;min-width:0}
.douyin-player{position:relative;width:100%;aspect-ratio:9/16;max-height:430px;border-radius:16px;overflow:hidden;
  background:radial-gradient(circle at 50% 30%,#12224a,#070d1c 70%);border:1px solid #16305e;
  display:grid;place-items:center;box-shadow:0 16px 40px rgba(9,25,64,.28)}
.douyin-player iframe{width:100%;height:100%;display:block;border:0}
.dy-player-loading{display:flex;flex-direction:column;align-items:center;gap:10px;color:#9fb6e0;font-size:11px}
.dy-player-loading .loader{border-color:rgba(110,231,255,.25);border-top-color:#6ee7ff}
.dy-player-empty{display:grid;justify-items:center;gap:9px;padding:22px 18px;text-align:center;color:#cfe0ff}
.dy-player-empty b{font-size:12.5px;color:#eaf2ff}
.dy-player-empty small{font-size:10.5px;color:#8ea9d4;line-height:1.6}
.dy-empty-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:16px;color:#0b1b3a;
  background:linear-gradient(135deg,#6ee7ff,#2f6bff);box-shadow:0 8px 22px rgba(47,107,255,.45)}
.dy-player-empty .button{margin-top:4px}
.dy-player-tip{margin:0;font-size:9.5px;color:#94a4bd;line-height:1.6;text-align:center}
.dy-player-tip a{color:#2f6bff}
@media (max-width:820px){
  .douyin-detail{grid-template-columns:minmax(0,1fr)}
  .douyin-media{order:-1}
  .douyin-player{aspect-ratio:16/12;max-height:none}
}

/* 会员详情：弹窗宽一点 + 更换产品表单的输入框 */
.modal.modal-mid{width:min(620px,100%)}
#member-product-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
#member-product-form select{flex:0 0 190px}
#member-product-form input[name="reason"]{flex:1 1 160px;min-width:140px}
#member-product-form button{flex:0 0 auto}

/* 会员详情里的更换产品：用搜索式产品选择器 */
.member-product-pick{flex:1 1 100%}
.member-product-pick label{display:grid;gap:6px;font-size:10px;color:#5d718f}
#member-product-form .product-picker{width:100%}
#member-product-form .picker-field{display:flex;gap:8px;align-items:center}
#member-product-form .picker-selected{flex:0 0 auto;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding:8px 12px;border-radius:9px;background:#eef5ff;border:1px solid #dbe9ff;font-size:11px;font-weight:600;color:#1b46cf}
#member-product-form .picker-selected.empty{color:#94a4bd;font-weight:400;background:#f6f9ff}
#member-product-form .picker-search{flex:1;min-width:140px;border:1px solid #dbe6f7;border-radius:9px;padding:8px 11px;
  font-size:11px;background:#fff;outline:0}
#member-product-form .picker-results{max-height:190px;overflow:auto;margin-top:8px}
#member-product-form .picker-hint{font-size:9.5px;color:#a3b2c9;margin-top:6px}

/* Excel 导入：号码列说明 */
.import-phone-info{margin:10px 0 4px;font-size:11px;color:#334a6b}
.import-phone-info b{color:#1b46cf;font-size:11.5px}
.import-phone-info small{color:#8fa0bb;font-size:10px}

/* Excel 导入：合并说明 */
.import-note{margin:8px 0;padding:10px 12px;border-radius:10px;font-size:10.5px;line-height:1.65;
  color:#1b46cf;background:#eef5ff;border:1px solid #dbe9ff}
.import-note b{color:#12305c}

/* 企业数据：行内勾选 + 全选批量获取（勾选框绝对定位在行首，不参与网格列） */
.lead-toolbar .list-pick-all{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#5d718f;cursor:pointer;white-space:nowrap}
.lead-toolbar .list-pick-all input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:#2f6bff}
.lead-row-pickable{padding-left:46px!important}
.lead-pick{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:flex;align-items:center;z-index:2}
.lead-pick input{width:16px;height:16px;margin:0;cursor:pointer;accent-color:#2f6bff}
.lead-row-pickable:has(.lead-pick-box:checked){background:#eef5ff;box-shadow:inset 0 0 0 1px #cfe1ff,0 6px 18px rgba(47,107,255,.10)}
#lead-batch-get[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}

/* 板块头部自带搜索框（企业数据） */
.board-head-side{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.board-search{display:flex;align-items:center;gap:8px;position:relative;
  background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #dbe6f7;border-radius:12px;
  padding:5px 6px 5px 12px;box-shadow:0 4px 14px rgba(24,63,148,.05)}
.board-search input{width:230px;border:0;outline:0;background:transparent;font-size:12px;color:#12305c}
.board-search input::placeholder{color:#a3b2c9}
.board-search .button{padding:8px 16px;border-radius:9px}
.board-search-clear{position:absolute;right:76px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;line-height:1;border:0;border-radius:50%;cursor:pointer;
  background:#dfe8f7;color:#5d718f;font-size:12px;display:grid;place-items:center}
.board-search-clear:hover{background:#cfe0f7;color:#1b46cf}
@media (max-width:760px){
  .board-search input{width:100%;min-width:120px}
  .board-search{flex:1 1 100%}
}

/* Excel 导入：说明里的列配置高亮 */
.rule-note code{background:#eef5ff;border-radius:4px;padding:1px 5px;font-size:10px;color:#1b46cf}

/* 经营产品很长时（例如企业「经营范围」）在列表里最多两行，避免撑高列表 */
.lead-row-main p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 弹窗里的错误提示（登录失败等） */
.form-error{margin:6px 0 10px;font-size:11px;line-height:1.5;color:#c0392b;
  background:#fff2ef;border:1px solid #ffd6cc;border-radius:9px;padding:8px 11px;display:none}
.form-error:not(:empty){display:block}

/* 数据行标题以「名称」为主：公司名优先占位，地区/地址只占一小段 */
.lead-row-top{flex-wrap:nowrap}
.lead-row-top h3{flex:1 1 auto;min-width:0;max-width:100%}
.lead-row-top .lead-region{flex:0 1 auto;max-width:36%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lead-row-top .lead-time{flex:none}
@media (max-width:760px){
  .lead-row-top{flex-wrap:wrap}
  .lead-row-top h3{flex:1 1 100%}
  .lead-row-top .lead-region{max-width:100%}
}

/* 企业数据不显示产品名（类目）列：主区 + 号码 + 按钮 三列 */
.lead-row.lead-row-nocat{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
@media (max-width:760px){
  .lead-row.lead-row-nocat{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'main side' 'phone phone'}
}

/* 综合数据：流水式逐条流入的动画 */
@keyframes leadRowIn{
  from{opacity:0;transform:translateY(-14px) scale(.985)}
  to{opacity:1;transform:none}
}
.lead-row-enter{animation:leadRowIn .55s cubic-bezier(.2,.7,.3,1);
  box-shadow:0 0 0 2px rgba(47,107,255,.35),0 12px 28px rgba(47,107,255,.16)}
.live-chip{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:#1b46cf;
  background:#eef5ff;border:1px solid #dbe9ff;border-radius:20px;padding:3px 10px}
.live-chip i{width:6px;height:6px;border-radius:50%;background:#2f6bff;animation:livePulse 1s infinite}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){
  .lead-row-enter{animation:none}
  .live-chip i{animation:none}
}

/* 综合数据里企业行不显示产品角标，但要标出它来自哪个板块 */
.board-tag-inline{font-size:9.5px;color:#5d718f;background:#eef5ff;border:1px solid #dbe9ff;
  border-radius:6px;padding:1px 6px;flex:none}

/* 分页：页码 + 跳转 */
.pagination{flex-wrap:wrap;gap:6px}
.pagination .page-btn{padding:0 9px;height:31px;min-width:31px;cursor:pointer;font-size:11px;
  transition:background .16s,border-color .16s,color .16s}
.pagination .page-btn.current{background:linear-gradient(180deg,#2f6bff,#1b46cf);color:#fff;
  border-color:#1b46cf;font-weight:700;box-shadow:0 6px 16px rgba(47,107,255,.28)}
.pagination .page-btn:disabled{opacity:.45;cursor:not-allowed}
.page-ellipsis{color:#9aa8bf;font-size:11px;padding:0 2px;user-select:none}
.page-jump{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font-size:11px;color:#5d718f;white-space:nowrap}
.page-jump input{width:72px;height:31px;border:1px solid rgba(47,107,255,.22);border-radius:8px;
  padding:0 8px;font-size:11px;color:#12305c;background:#fff;outline:0;text-align:center}
.page-jump input:focus{border-color:#2f6bff;box-shadow:0 0 0 3px rgba(47,107,255,.12)}
.page-jump input::-webkit-outer-spin-button,.page-jump input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.page-total{margin-left:8px;font-size:11px;color:#9aa8bf}
@media (max-width:760px){
  .pagination .page-btn:not(.current){display:none}
  .pagination .page-btn[data-page]:first-of-type,.pagination .page-btn[data-page]:last-of-type{display:inline-flex}
  .page-total{display:none}
}
/* ---- 后台「上传记录」表 ---- */
.log-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.log-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eaeff7;color:var(--brand-deep);white-space:nowrap}
.log-chip.log-ok{background:#e8f6ee;color:#1f7a45}
.log-chip.log-dup{background:#f2f3f4;color:#7b8189}
.log-chip.log-bad{background:#fdecec;color:#b3261e}
.log-chip.log-info{background:#eef2fb;color:#3c5c96}
.log-msg{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- 无号码的数据（短视频评论区常见）---- */
.lead-phone-none{color:#a8adb5;font-size:12px;font-weight:600;letter-spacing:.5px}
.contact-none{color:#a8adb5;font-weight:700}
.dy-phone-hint{display:block;margin-top:6px;color:#8b9199;font-size:12px;line-height:1.6}

/* ---- 后台「用户沟通」：左侧会话列表 + 右侧对话 ---- */
.conv-layout{display:grid;grid-template-columns:290px 1fr;gap:14px;align-items:stretch;margin-top:10px}
.conv-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;overflow:hidden;max-height:520px}
.conv-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink)}
.conv-list-head b{font-size:13px}
.conv-pending-count{padding:2px 9px;border-radius:999px;background:#fdecec;color:#b3261e;font-weight:700;font-size:11px}
.conv-search{margin:10px 12px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;font-size:12px;outline:none;background:#fff}
.conv-search:focus{border-color:#9dbcff;box-shadow:0 0 0 3px #e8f0ff}
.conv-list-body{overflow-y:auto;padding:0 8px 10px}
.conv-tab{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:10px 11px;margin-bottom:6px;border:1px solid transparent;border-radius:11px;background:#fff;cursor:pointer;transition:background .15s,border-color .15s}
.conv-tab:hover{background:#f3f7ff;border-color:#dbe6fb}
.conv-tab.active{background:#eef4ff;border-color:#9dbcff}
.conv-tab.pending{border-left:3px solid #f0913a}
.conv-tab-top{display:flex;align-items:center;gap:7px}
.conv-tab-top b{font-size:13px;color:var(--ink);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.conv-badge{padding:1px 7px;border-radius:999px;background:#fdf3e6;color:#9a6b22;font-size:10px;font-weight:700;font-style:normal;white-space:nowrap}
.conv-tab small{font-size:11px;color:#8b93a1}
.conv-preview{font-size:12px;color:#6b7a96;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conv-pane{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;display:flex;flex-direction:column;min-height:340px;max-height:520px}
.conv-empty-hint{color:#98a0ab;font-size:13px;padding:18px 6px;text-align:center}
.thread-head{padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:10px}
.thread-head b{font-size:14px;color:var(--ink)}
.thread-head small{display:block;margin-top:3px;color:#8b93a1;font-size:11px}
.thread-messages{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:4px 2px 10px;min-height:180px}
.message-bubble{align-self:flex-start;max-width:78%;padding:9px 13px;border-radius:12px;background:#f2f4f8;color:var(--ink);font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.message-bubble small{display:block;margin-top:5px;color:#96a0ad;font-size:10px}
.message-bubble.from-user{align-self:flex-start;background:#eef4ff;border:1px solid #dbe6fb}
.reply-form{display:flex;gap:9px;border-top:1px solid var(--line);padding-top:11px}
.reply-form input{flex:1 1 auto;min-width:0;padding:10px 13px;border:1px solid var(--line);border-radius:10px;font-size:13px;outline:none;background:#fff}
.reply-form input:focus{border-color:#9dbcff;box-shadow:0 0 0 3px #e8f0ff}
.reply-form button{padding:0 20px;border:0;border-radius:10px;background:var(--brand-deep);color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.reply-form button:hover{background:#173aa8}
@media(max-width:860px){.conv-layout{grid-template-columns:1fr}.conv-list{max-height:260px}.conv-pane{max-height:none}}

/* ---- 后台「帮助中心」编辑：左列表 + 右编辑 ---- */
.help-layout .conv-pane{max-height:none;min-height:420px}
.help-topic-form{display:flex;flex-direction:column;gap:12px;flex:1 1 auto}
.help-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}
.help-field input,.help-field textarea{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:500;color:var(--ink);outline:none;background:#fff;font-family:inherit;line-height:1.7}
.help-field input:focus,.help-field textarea:focus{border-color:#9dbcff;box-shadow:0 0 0 3px #e8f0ff}
.help-field textarea{resize:vertical;min-height:150px}
.help-field-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.help-field-sort{width:110px}
.help-form-actions{display:flex;align-items:center;gap:12px}
#help-add-btn{padding:5px 12px}

/* ==================== 用户协议：折叠展开（前台服务说明页） ==================== */
.agreement-box{display:flex!important;align-items:flex-start!important;gap:14px;flex-wrap:wrap}
.agreement-details{flex:1 1 auto;min-width:0;width:100%}
.agreement-details>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;
  padding:4px 2px;border-radius:12px;transition:background .15s}
.agreement-details>summary::-webkit-details-marker{display:none}
.agreement-details>summary::marker{content:''}
.agreement-details>summary:hover{background:#f3f7ff}
.agreement-summary{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.agreement-summary b{font-size:14px;color:var(--ink)}
.agreement-summary small{font-size:12px;color:#8b93a1}
.agreement-chevron{flex:none;font-size:16px;color:#8b93a1;transition:transform .2s;line-height:1}
.agreement-details[open] .agreement-chevron{transform:rotate(180deg)}
.agreement-details[open]>summary{border-bottom:1px dashed var(--line);padding-bottom:10px;margin-bottom:12px}
.agreement-details .agreement-content{max-height:340px;overflow:auto;background:#f7f9fc;
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;white-space:pre-line;
  line-height:1.9;font-size:12.5px;color:#3f5449}
@media(max-width:720px){.agreement-details .agreement-content{max-height:260px}}

/* ---- 后台「会员管理 / 产品管理」左右两栏 ---- */
.status-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}
.status-chip{border:1px solid var(--line);background:#fff;color:#5b6b86;font-size:11.5px;font-weight:700;
  padding:4px 10px;border-radius:999px;cursor:pointer;transition:.15s}
.status-chip:hover{border-color:#9dbcff;color:var(--brand-deep)}
.status-chip.active{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
.conv-badge.bad{background:#fdecec;color:#b3261e}
#member-detail-pane.member-pane-pad{overflow-y:auto;max-height:660px}
#member-detail-pane .pane-title{font-size:15px;color:var(--ink);margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
#member-detail-pane .pane-title small{font-size:12px;color:#8b93a1;font-weight:500}
#member-detail-pane .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#member-detail-pane .detail-block{margin-top:14px}
#member-detail-pane .table-wrap{max-height:none}
#member-detail-pane .notif-item{padding:8px 0}
#category-editor-pane{max-height:none;min-height:360px}
@media(max-width:860px){
  #member-detail-pane.member-pane-pad{max-height:none}
  #member-detail-pane .detail-grid{grid-template-columns:1fr}
}

/* ---- 后台「收款二维码」 ---- */
.qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:6px}
.qr-slot{border:1px solid var(--line);border-radius:14px;background:#fbfcfe;padding:14px;display:flex;flex-direction:column;gap:10px}
.qr-slot-head{display:flex;align-items:center;gap:8px}
.qr-slot-head b{font-size:13.5px;color:var(--ink)}
.conv-badge.ok{background:#e8f6ee;color:#1f7a45}
.qr-preview{display:flex;align-items:center;justify-content:center;min-height:170px;border:1px dashed var(--line);border-radius:12px;background:#fff}
.qr-preview img{max-width:190px;max-height:190px;display:block;border-radius:8px}
.qr-empty{color:#a8adb5;font-size:12.5px}
.qr-slot-actions{display:flex;align-items:center;gap:10px}
.qr-hint{color:#8b93a1;font-size:11.5px;line-height:1.6}
@media(max-width:760px){.qr-grid{grid-template-columns:1fr}}

/* ==================== 短视频播放器：竖版 9:16 完整展示 ====================
   抖音视频基本都是竖版（9:16）。之前容器 width:100% + max-height:430px，
   实际被压成方框，竖版画面只能看到中间一块。现在按高度算出宽度，保持真 9:16。
   视频由浏览器直接向抖音官方播放器取流，本站不做任何下载/转存。 */
.modal.modal-wide .douyin-detail{grid-template-columns:minmax(0,1fr) auto}
.douyin-media{justify-items:center;gap:10px}
.douyin-player{width:auto;height:min(52vh,520px);aspect-ratio:9/16;max-width:100%;max-height:none;margin:0 auto}
.douyin-player iframe{width:100%;height:100%}
.dy-player-tip{max-width:340px;margin:0 auto}
@media(max-width:820px){
  .douyin-player{width:auto;height:min(66vh,520px);max-width:100%;max-height:none}
}
@media(max-width:480px){
  .douyin-player{height:min(62vh,460px)}
}



/* ---- 运营后台：左侧菜单 + 右侧独立栏目 ---- */
.admin-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:20px;align-items:start;margin-top:4px}
.admin-side{position:sticky;top:16px;border:1px solid var(--line);border-radius:16px;background:#fbfcfe;padding:10px;display:flex;flex-direction:column;gap:4px}
.admin-side-title{padding:6px 10px 10px;font-size:11.5px;font-weight:800;letter-spacing:.08em;color:#8b93a1}
.admin-side-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;border:1px solid transparent;border-radius:11px;
  background:transparent;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,color .15s}
.admin-side-item:hover{background:#f1f6ff;border-color:#dbe6fb}
.admin-side-item.active{background:#eef4ff;border-color:#9dbcff;box-shadow:inset 3px 0 0 var(--brand-deep)}
.admin-side-icon{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#e9eff9;
  color:#41577f;font-size:12px;font-weight:800}
.admin-side-item.active .admin-side-icon{background:var(--brand-deep);color:#fff}
.admin-side-item b{flex:1 1 auto;min-width:0;font-size:13px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-side-item.active b{color:var(--brand-deep)}
.admin-side-badge{flex:none;padding:1px 7px;border-radius:999px;background:#fdecec;color:#b3261e;font-size:11px;font-weight:800;font-style:normal}
.admin-main{min-width:0}
.admin-main>.admin-block{margin-top:0}
.admin-main .admin-block+.admin-block{margin-top:18px}
@media(max-width:900px){
  .admin-layout{grid-template-columns:1fr;gap:12px}
  .admin-side{position:static;flex-direction:row;overflow-x:auto;padding:8px}
  .admin-side-title{display:none}
  .admin-side-item{width:auto;flex:none;padding:8px 12px}
  .admin-side-item b{white-space:nowrap}
}

/* 后台栏目内再套「左列表 + 右详情」时，列表窄一点，给右侧留空间 */
.admin-main .conv-layout{grid-template-columns:246px minmax(0,1fr)}
.admin-main .conv-list{max-height:560px}
.admin-main .conv-pane{max-height:560px}
@media(max-width:1100px){.admin-main .conv-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:900px){.admin-main .conv-layout{grid-template-columns:1fr}}

/* ---- 反馈与沟通：未读红点 ---- */
.side-count.alert{background:#e5484d;color:#fff}
.conversation-item{position:relative}
.conversation-item.unread{border-color:#f7c2c4;background:#fff8f8}
.conversation-item.unread b{color:#b3261e}
.conv-unread-dot{position:absolute;top:10px;right:10px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;
  background:#e5484d;color:#fff;font-size:11px;font-weight:800;font-style:normal;display:inline-flex;
  align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(229,72,77,.45)}
.conv-last{display:block;margin-top:3px;font-size:11.5px;color:#8b93a1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conv-unread-tip{margin-left:8px;padding:2px 9px;border-radius:999px;background:#fdecec;color:#b3261e;font-size:12px;font-weight:800}

/* 表单字段下方的小提示 */
.field-hint{display:block;margin-top:5px;font-size:11px;color:#8b93a1;line-height:1.5}

/* ---- 我的数据：板块标签 + 内容列 ---- */
.data-table .board-chip{display:inline-block;padding:2px 9px;border-radius:999px;background:#eef4ff;color:#1b46cf;
  font-size:11.5px;font-weight:700;white-space:nowrap}
.data-table .data-content{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.data-table td{vertical-align:middle}

/* ---- 会员卡片：给右下角「查看会员权益」按钮留出空间，文字不再被压 ---- */
.wallet-card{padding-bottom:54px}
.wallet-card #membership-expiry{display:block;font-size:9.5px;line-height:1.6;color:#cfe0ff;
  word-break:break-word;overflow-wrap:anywhere}
.wallet-card #membership-expiry.expiring{color:#ffd08a}
.wallet-add{bottom:14px;right:12px;max-width:78px;line-height:1.35;text-align:center;white-space:normal}
@media(max-width:720px){
  .wallet-add{left:15px;right:15px;max-width:none}
}


/* ==================== 会员权益：可选套餐 + 付款面板 ==================== */
.plan-cards .plan-card{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;
  transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}
.plan-cards .plan-card:hover{border-color:#9dbcff;box-shadow:0 8px 22px rgba(47,107,255,.12)}
.plan-cards .plan-card.selected{border-color:var(--brand-deep);box-shadow:0 0 0 2px rgba(27,70,207,.18);background:#f6faff}
.plan-picked-tip{display:inline-block;margin-top:10px;font-size:11.5px;font-weight:700;color:#8b93a1}
.plan-card.selected .plan-picked-tip{color:var(--brand-deep)}
.pay-setup{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin:6px 0 12px}
.pay-setup label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#5b6b86}
.pay-setup select{padding:10px;border:1px solid var(--line);border-radius:10px;font-size:13px;background:#fff}
.pay-total{font-size:13px;color:#5b6b86;padding-bottom:8px;white-space:nowrap}
.pay-total b{font-size:18px;color:#c9761f;font-weight:800}
.pay-panel{margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fbfdff;
  display:grid;gap:12px;justify-items:center;text-align:center}
.pay-panel-head b{font-size:15px;display:block}
.pay-panel-head small{color:#8b93a1;font-size:12px}
.pay-amount-big{font-size:26px;font-weight:800;color:#c9761f;letter-spacing:-.02em}
.pay-code-box{display:grid;gap:4px;justify-items:center;background:#eef4ff;border-radius:14px;padding:12px 18px;width:100%}
.pay-code-box small{font-size:11.5px;color:#5b7cc0}
.pay-code-big{font-size:30px;font-weight:800;letter-spacing:.22em;color:#0f2f86;font-variant-numeric:tabular-nums}
.pay-panel .pay-qr img{max-width:210px;border-radius:12px;border:1px solid var(--line);background:#fff}
.pay-panel .pay-qr span{display:block;font-size:12px;color:#8b93a1;margin-top:6px}
.pay-panel.done .pay-done-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px;
  color:#fff;background:linear-gradient(135deg,#2f6bff,#22b8ff);margin-bottom:4px}
@media(max-width:760px){.pay-setup{grid-template-columns:1fr 1fr;}.pay-total{grid-column:1/-1;padding:0}}

/* ---- 后台「发信设置」---- */
.mail-status{padding:10px 13px;border-radius:11px;font-size:12.5px;margin-bottom:12px}
.mail-status.ok{background:#e8f6ee;color:#1f7a45;border:1px solid #c7e8d5}
.mail-status.warn{background:#fdf3e6;color:#9a6b22;border:1px solid #f3ddb9}
.mail-form{display:grid;gap:10px}
.mail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mail-grid label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#5b6b86}
.mail-grid input,.mail-grid select{padding:9px 11px;border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:500;background:#fff}
.mail-flags{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:2px}
.mail-test{display:flex;gap:9px;margin-top:12px}
.mail-test input{flex:1;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:10px;font-size:13px;background:#fbfcfe}
@media(max-width:860px){.mail-grid{grid-template-columns:1fr}}
/* 注册弹窗里的验证码行 */
.code-row{display:flex;gap:8px}
.code-row input{flex:1;min-width:0}
.code-row button{flex:none;white-space:nowrap}

/* 注册时「产品」重要提示 */
.reg-warn{display:flex;flex-direction:column;gap:2px;margin:4px 0 8px;padding:9px 12px;
  background:#fff6ec;border:1px solid #f6dcc2;border-radius:10px;font-size:12px;line-height:1.6}
.reg-warn b{color:#c9761f;font-size:12.5px}
.reg-warn span{color:#8a6a3c;font-weight:500}
.m-warn{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px;padding:9px 11px;
  background:#fff6ec;border:1px solid #f6dcc2;border-radius:10px;font-size:12px;line-height:1.6;font-weight:500}
.m-warn b{color:#c9761f;font-size:12.5px}
.m-warn span{color:#8a6a3c}

/* ---- 后台会员管理：列表更宽、行更紧凑、可显示更多会员 ---- */
.admin-main .conv-layout.member-layout{grid-template-columns:340px minmax(0,1fr)}
.admin-main .conv-list-head{padding:8px 10px;gap:6px;flex-wrap:wrap}
.list-head-actions{display:flex;align-items:center;gap:6px;flex:none}
.list-head-actions .button{padding:5px 10px;font-size:12px}
/* 会员行紧凑：说明压到一行、预览一行、间距变小 */
.conv-tab.member-tab{padding:6px 9px;margin-bottom:4px;gap:1px;line-height:1.35}
.conv-tab.member-tab .conv-tab-top b{font-size:12.5px;max-width:none}
.conv-tab.member-tab small{font-size:10.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.conv-tab.member-tab .conv-preview{font-size:10.5px;line-height:1.3}
.conv-tab.member-tab .conv-badge{font-size:9.5px;padding:1px 6px}
#member-list-body{padding:0 6px 8px}
#member-list-body .conv-tab:last-child{margin-bottom:0}
/* 状态标签也压紧，多腾出几行给列表 */
.admin-main .status-chips{padding:0 10px 8px;gap:5px}
.admin-main .status-chip{padding:3px 8px;font-size:11px}
.admin-main .conv-search{margin:8px 10px;padding:7px 10px;font-size:12px}
@media(max-width:1100px){
  .admin-main .conv-layout.member-layout{grid-template-columns:290px minmax(0,1fr)}
}
@media(max-width:900px){
  .admin-main .conv-layout.member-layout{grid-template-columns:1fr}
}

/* 会员列表再高一些，一屏能看更多会员 */
.admin-main .member-layout .conv-list{max-height:760px}
.admin-main .member-layout .conv-pane{max-height:760px}

/* 区块标题右侧的按钮（如产品管理「导出 Excel」） */
.table-heading .heading-btn{margin-left:auto;flex:none;white-space:nowrap}

/* 发信设置：密码长度提示 */
.mail-pass-hint{display:block;margin-top:5px;font-size:10.5px;color:#0f7a41}
.mail-pass-hint.bad{color:#b3261e;font-weight:700}

/* 产品管理：列表每行右侧的删除按钮 */
.cat-row{position:relative}
.cat-row .cat-tab{width:100%;padding-right:40px}
.cat-del{position:absolute;right:7px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;display:grid;place-items:center;border-radius:8px;
  border:1px solid #e7e9ee;background:#fff;color:#a9aeb7;font-size:12px;line-height:1;
  cursor:pointer;transition:.15s}
.cat-del:hover{border-color:#f0b9b9;background:#fff2f2;color:#c62f28}
.cat-row.active .cat-del{border-color:#dbe4f5;background:#fff}
.cat-row.active .cat-del:hover{border-color:#f0b9b9;background:#fff2f2}
.table-action--danger{color:#c62f28}
.table-action--danger:hover{background:#fff2f2;border-color:#f0c0bd}

/* 发信设置：备用通道 */
.mail-backup{margin-top:18px;padding-top:14px;border-top:1px dashed #e3e7ee}
.mail-backup .table-heading{margin-bottom:8px}
.mail-backup .mail-status{margin-bottom:10px}

/* 发信设置：服务商预设 */
.mail-preset{margin-bottom:12px}
.mail-preset label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#8b93a1}
.mail-preset select{border:1px solid #e3e6ea;border-radius:9px;padding:8px 10px;font-size:12.5px;
  font-family:inherit;outline:0;color:var(--ink);background:#fff;max-width:520px}
.mail-preset select:focus{border-color:#718db5}
.mail-preset .field-hint{display:block;margin-top:5px;font-size:10.5px;color:#98a0ab}

/* 发信设置：最近发信记录 */
.mail-recent{margin-top:16px}
.status-chip.ok{border-color:#bfe3cd;background:#f0faf4;color:#0f7a41}
.status-chip.warn{border-color:#f0dcae;background:#fff9ec;color:#8a5a10}
.status-chip.bad{border-color:#f3bcbc;background:#fff3f3;color:#b3261e}

/* 会员详情：注册限制（一人一号） */
.guard-box{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid #e6e9ee;background:#fafbfd}
.guard-box.on{border-color:#f0dcae;background:#fffaf0}
.guard-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.guard-main b{font-size:12.5px;color:var(--ink)}
.guard-box.on .guard-main b{color:#8a5a10}
.guard-main small{font-size:10.5px;color:#8b93a1;line-height:1.6}
.guard-warn{color:#b3261e !important;font-weight:600}
.guard-box .button{flex:none;margin-top:2px}

/* 会员详情：赠送会员时长 */
.gift-form{display:flex;flex-direction:column;gap:9px}
.gift-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:9px}
.gift-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#8b93a1;min-width:0}
.gift-field--wide{width:100%}
.gift-field select,.gift-field input{width:100%;border:1px solid #e3e6ea;border-radius:9px;padding:8px 10px;
  font-size:12.5px;font-family:inherit;outline:0;color:var(--ink);background:#fff;min-width:0}
.gift-field select:focus,.gift-field input:focus{border-color:#718db5}
.gift-quick{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.gift-note{font-size:10.5px;color:#98a0ab;line-height:1.6}
.gift-strong{color:#b8791a;font-weight:700}

/* ============ 后台：网站自爆与每日签到 ============ */

/* 未签到 → 整页锁定 */
.sd-lock{display:flex;align-items:center;justify-content:center;min-height:520px;padding:22px 0}
.sd-lock-card{width:min(560px,100%);text-align:center;padding:34px 34px 30px;border-radius:20px;
  border:1px solid #f3c9c9;background:linear-gradient(160deg,#ffffff,#fff4f4);
  box-shadow:0 18px 46px rgba(179,38,30,.10)}
.sd-lock-icon{width:60px;height:60px;margin:0 auto 14px;display:grid;place-items:center;border-radius:18px;
  background:linear-gradient(150deg,#e0473c,#b3261e);color:#fff;font-size:26px;box-shadow:0 10px 24px rgba(179,38,30,.25)}
.sd-lock-card>b{display:block;font-size:19px;color:#8f1d17;letter-spacing:.01em}
.sd-lock-card>p{margin:10px 0 16px;font-size:12.5px;line-height:1.85;color:#6d6f76;text-align:left}
.sd-lock-card>p b{color:#b3261e}
.sd-lock-meta{padding:10px 14px;margin-bottom:16px;border-radius:11px;background:#fff6f5;border:1px dashed #f0c0bd;
  font-size:12px;color:#8f1d17}
.sd-lock-meta b{font-size:16px;font-weight:800;margin:0 2px}
.sd-lock-card .sd-checkin-btn{width:100%;padding:14px 20px;font-size:15px}
.sd-lock-card>small{display:block;margin-top:11px;font-size:10.5px;color:#9b9ea6;line-height:1.6}

.sd-banner{display:flex;align-items:center;gap:12px;margin:4px 0 14px;padding:12px 16px;border-radius:14px;
  border:1px solid #f3c9c9;background:linear-gradient(135deg,#fff5f5,#ffeded);box-shadow:0 6px 18px rgba(196,58,58,.07)}
.sd-banner--miss{border-color:#f0b9b9;background:linear-gradient(135deg,#fff3f3,#ffe9e9)}
.sd-banner--paused{border-color:#f0d9a8;background:linear-gradient(135deg,#fffaf0,#fff4dd)}
.sd-banner-icon{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;
  background:#b3261e;color:#fff;font-size:15px;font-weight:800}
.sd-banner--paused .sd-banner-icon{background:#b8791a}
.sd-banner>div{flex:1 1 auto;min-width:0}
.sd-banner b{display:block;font-size:12.5px;color:#8f1d17}
.sd-banner--paused b{color:#8a5a10}
.sd-banner small{display:block;margin-top:3px;font-size:10.5px;color:#a4666a;line-height:1.5}
.sd-banner--paused small{color:#9a7c48}
.sd-banner .button{flex:none}

.sd-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:center;
  padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:#fbfcfe}
.sd-hero--safe{background:linear-gradient(140deg,#f2f8ff,#eef4ff);border-color:#cfe0ff}
.sd-hero--warn{background:linear-gradient(140deg,#fffaf0,#fff4dd);border-color:#f0dcae}
.sd-hero--danger{background:linear-gradient(140deg,#fff2f2,#ffe6e6);border-color:#f3bcbc}
.sd-hero--paused{background:linear-gradient(140deg,#f7f7f8,#f1f2f4);border-color:#dcdfe3}
.sd-hero-main small{display:block;font-size:11px;color:#8b93a1;font-weight:700;letter-spacing:.04em}
.sd-hero-main b{display:block;margin:2px 0 4px;font-size:44px;line-height:1;font-weight:800;color:#163e75;
  font-variant-numeric:tabular-nums}
.sd-hero-main b em{font-size:15px;font-weight:700;font-style:normal;margin-left:4px;color:#7d8697}
.sd-hero--danger .sd-hero-main b{color:#b3261e}
.sd-hero--warn .sd-hero-main b{color:#a06a12}
.sd-hero-main span{font-size:10.5px;color:#79818d}
.sd-hero-side{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding-left:16px;
  border-left:1px dashed #d9dfe8}
.sd-hero-side small{font-size:10px;color:#8b93a1;line-height:1.5}
.sd-check-line{font-size:12.5px;font-weight:800}
.sd-ok{color:#0f7a41}
.sd-miss{color:#b3261e}
.sd-checkin-btn{padding:11px 22px;font-size:13.5px;font-weight:800;border-radius:11px}

.sd-alert{display:flex;flex-direction:column;gap:3px;margin:0 0 12px;padding:11px 14px;border-radius:12px;
  border:1px solid #f0dcae;background:#fff9ec}
.sd-alert b{font-size:12px;color:#8a5a10}
.sd-alert small{font-size:10.5px;color:#9a7c48;line-height:1.5}
.sd-alert--error{border-color:#f3bcbc;background:#fff3f3}
.sd-alert--error b{color:#b3261e}
.sd-alert--error small{color:#a4666a}

.sd-rules{margin:12px 0;line-height:1.85;font-size:11px}
.sd-rules div+div{margin-top:2px}
.sd-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:6px 0 4px}
.sd-actions .updated-label{font-size:10px;color:#989da3}
.sd-hist-heading{margin-top:16px}
.sd-dryrun{margin:12px 0;padding:12px 14px;border:1px dashed #c8d3e6;border-radius:12px;background:#fafcff}
.sd-dryrun>b{display:block;font-size:12px;color:#163e75;margin-bottom:8px}
.sd-dryrun .table-wrap{max-height:280px;overflow:auto}
.sd-dryrun small{display:block;margin-top:8px;font-size:10px;color:#8b93a1}

@media(max-width:900px){
  .sd-hero{grid-template-columns:1fr}
  .sd-hero-side{padding-left:0;border-left:0;border-top:1px dashed #d9dfe8;padding-top:12px}
  .sd-banner{flex-wrap:wrap}
  .sd-banner .button{width:100%}
}
