.hidden { display: none !important; }
.login-page { position: relative; display: flex; min-height: 100vh; align-items: center; justify-content: center; overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at 79% 10%,#d3eeff 0,transparent 38%),radial-gradient(ellipse at 8% 34%,#fff 0,transparent 46%),linear-gradient(125deg,#edf4ff 0%,#d9eaff 48%,#c1e6f7 100%); }
.login-page::before,.login-page::after { position: absolute; z-index: -1; width: 128vw; height: 42vh; border-radius: 50%; content: ""; pointer-events: none; }
.login-page::before { bottom: -19vh; left: -14vw; border: 2px solid rgba(255,255,255,.66); background: linear-gradient(100deg,rgba(255,255,255,.04),rgba(60,101,250,.42),rgba(124,230,255,.15)); box-shadow: 0 -20px 70px rgba(91,80,255,.24),inset 0 20px 32px rgba(255,255,255,.32); transform: rotate(-7deg); }
.login-page::after { bottom: -29vh; left: -5vw; border: 2px solid rgba(255,255,255,.46); box-shadow: 0 -24px 55px rgba(255,255,255,.4); transform: rotate(-10deg); }
.login-background-copy { position: absolute; left: max(9vw,48px); top: 50%; z-index: -1; display: flex; flex-direction: column; color: #184a99; letter-spacing: -.075em; line-height: .76; transform: translateY(-48%); user-select: none; }
.login-background-copy span { padding-left: 6px; color: rgba(27,87,172,.42); font-size: clamp(21px,2vw,34px); font-weight: 500; letter-spacing: .19em; }
.login-background-copy strong { font-size: clamp(80px,10vw,172px); font-weight: 500; }
.login-card { width: min(400px,calc(100vw - 48px)); margin-left: clamp(270px,35vw,560px); padding: 34px 38px; border: 1px solid rgba(255,255,255,.86); border-radius: 16px; background: rgba(255,255,255,.86); box-shadow: 0 24px 65px rgba(40,91,153,.19); backdrop-filter: blur(14px); }
.login-card h1 { color: #17233d; font-size: 22px; text-align: left; }
.login-card > p { margin-top: 16px; color: #71809a; font-size: 14px; text-align: left; }
.login-card label { display: block; margin-top: 22px; color: #28364f; font-size: 13px; font-weight: 600; }
.login-card input { display: block; width: 100%; margin-top: 9px; padding: 13px 14px; border: 1px solid #e5ebf5; border-radius: 7px; background: #f7f9fd; color: #273650; font-size: 14px; outline: none; box-sizing: border-box; }
.login-card input:focus { border-color: #2f78ee; background: #fff; box-shadow: 0 0 0 3px #2f78ee18; }
.login-card .remember-account { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: #78869d; font-size: 13px; font-weight: 400; cursor: pointer; }
.login-card .remember-account input { width: 15px; height: 15px; margin: 0; accent-color: #2f78ee; cursor: pointer; }
.login-card .primary { margin-top: 14px; border: 0; border-radius: 7px; background: linear-gradient(90deg,#2588ee,#3d5fee); box-shadow: 0 10px 22px rgba(39,112,236,.24); }
.login-card > small { display: block; margin-top: 22px; color: #91a0b6; text-align: center; }
.login-error { min-height: 20px; margin-top: 10px; color: #d24c57; font-size: 13px; }
.admin-user { display: flex; align-items: center; gap: 13px; color: #60716e; font-size: 13px; }
.metrics.compact { grid-template-columns: repeat(4,1fr); margin-bottom: 10px; }
#promotionSummary.metrics.compact { display:flex; gap:10px; margin:16px 0 10px; overflow-x:auto; padding-bottom:4px; }
#promotionSummary.metrics.compact article { flex:1 0 108px; min-width:108px; padding:12px 14px; border-radius:12px; }
#promotionSummary.metrics.compact label { font-size:11px; white-space:nowrap; }
#promotionSummary.metrics.compact strong { margin-top:5px; font-size:20px; white-space:nowrap; }
#promotionFilters.user-filters { grid-template-columns:180px 200px minmax(260px,1fr) auto; align-items:end; }
#promotionFilters.user-filters .filter-keyword { grid-column:auto; }
#promotionFilters.user-filters .filter-actions { white-space:nowrap; }
@media(max-width:1000px) { #promotionFilters.user-filters { grid-template-columns:repeat(2,minmax(180px,1fr)); } #promotionFilters.user-filters .filter-actions { grid-column:auto; } }
@media(max-width:650px) { #promotionFilters.user-filters { grid-template-columns:1fr; } }
.image-upload { display: flex; align-items: center; gap: 12px; margin-top: 8px; }.image-file { display: none!important; }.image-preview { display: grid; flex: 0 0 calc((100% - 45px) / 4); width: calc((100% - 45px) / 4); height: auto; aspect-ratio: 16 / 9; place-items: center; overflow: hidden; border-radius: 10px; background: #edf3f1; color: #82918e; font-size: 12px; }.image-preview img { width: 100%; height: 100%; object-fit: cover; }.upload-image-btn { display: inline-block; }
.banner-image-field .image-upload { align-items: center; }
.banner-image-field .image-preview { flex-basis: calc((100% - 45px) / 4); width: calc((100% - 45px) / 4); height: auto; }
.banners-image-field .image-preview { aspect-ratio: 2 / 1; }
.couponRegisterBanner-image-field .image-preview,.mallBanner-image-field .image-preview { aspect-ratio: 35 / 11; }
.inviteBanner-image-field .image-preview { aspect-ratio: 3 / 1; }
.memberBanner1-image-field .image-preview,.memberBanner2-image-field .image-preview,.memberBanner3-image-field .image-preview { aspect-ratio: 3 / 1; }
.image-buttons { display: flex; align-items: center; gap: 8px; }
.image-remove-btn { padding: 11px 16px; border: 0; border-radius: 10px; background: #fff0ef; color: #ba4e45; cursor: pointer; }
.editor-field.half .image-preview { flex-basis: 52%; width: 52%; }
.schedule-editor { display: flex; flex-direction: column; gap: 10px; }
.schedule-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.schedule-editor-head .ghost { padding: 7px 12px; font-size: 12px; }
.schedule-rows { display: grid; gap: 10px; }
.schedule-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1.2fr) auto; gap: 8px; align-items: center; }
.schedule-row input { margin-top: 0 !important; }
.schedule-remove-btn { padding: 10px 12px; border: 1px solid #efb8b2; border-radius: 9px; background: #fff5f4; color: #b55248; cursor: pointer; white-space: nowrap; }
@media (max-width: 760px) { .login-background-copy { top: 19%; left: 50%; transform: translate(-50%,-50%); } .login-card { margin: 160px 0 0; padding: 30px 25px; } }
.cms-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); gap: 15px; margin-top: 18px; }
.cms-card { padding: 18px; border: 1px solid #e4ecea; border-radius: 14px; background: #fbfdfc; cursor: pointer; }
.cms-card:hover { border-color: #9dc9c1; box-shadow: 0 8px 22px #185c5010; }
.cms-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cms-card h3 { margin: 0; font-size: 15px; }
.cms-card p { margin-top: 8px; color: #82918e; font-size: 12px; line-height: 1.55; }
.cms-card-meta { display: flex; gap: 8px; margin-top: 13px; }
.cms-card-meta span { padding: 4px 8px; border-radius: 9px; background: #eaf4f1; color: #387568; font-size: 11px; }
.cms-card-meta .off { background: #f2f2f2; color: #999; }
.cms-dialog { width: min(1000px, calc(100vw - 64px)); max-height: 92vh; overflow: auto; }
.invite-topic-card.active { border-color: #217b6d; box-shadow: 0 8px 24px #185c5014; }
.invite-topic-card { display: flex; min-height: 286px; flex-direction: column; }
.invite-topic-card .asset-card-head { flex: 1; min-height: 0; }
.invite-topic-copy { width: 100%; min-width: 0; }
.invite-topic-title,.invite-topic-path,.invite-topic-description,.invite-topic-summary { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.invite-topic-title { min-height: 26px; max-height: 26px; -webkit-line-clamp: 1; line-clamp: 1; }
.invite-topic-path { min-height: 40px; max-height: 40px; -webkit-line-clamp: 2; line-clamp: 2; }
.invite-topic-description { min-height: 56px; max-height: 56px; -webkit-line-clamp: 3; line-clamp: 3; }
.invite-topic-summary { min-height: 38px; max-height: 38px; -webkit-line-clamp: 2; line-clamp: 2; }
.invite-topic-actions { display: flex; width: 100%; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e6eeec; }
.invite-topic-actions > button { flex: 1 1 0; width: 0 !important; min-width: 0; white-space: nowrap; }
.topic-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; background: #e3f4ef; color: #187463; font-size: 12px; font-weight: 600; vertical-align: middle; }
.topic-preview-dialog { width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 28px); padding: 0; overflow: hidden; }
.topic-preview-head { align-items: center; padding: 18px 22px; border-bottom: 1px solid #e5eeec; }
.topic-preview-head p { margin-top: 4px; color: #218072; font-size: 12px; }
.topic-preview-content { display: grid; max-height: calc(100vh - 110px); margin: 0; padding: 20px; overflow: auto; background: #e9efed; place-items: center; }
.topic-preview-phone { height: min(750px, calc(100vh - 150px)); min-height: 560px; }
.topic-preview-scroll { height: calc(100% - 112px); padding-bottom: 12px; overflow: auto; }
.topic-preview-hero { padding: 28px 20px; border-radius: 0; background: linear-gradient(145deg,#dff4ee,#f8fcfb); }
.topic-preview-hero span { color: #438077; font-size: 11px; }
.topic-preview-hero h3 { margin: 7px 0 0; color: #184b44; font-size: 21px; }
.topic-preview-hero p { margin-top: 8px; color: #617b76; font-size: 13px; line-height: 1.6; }
.topic-preview-section { margin-top: 9px; padding: 16px; border: 0; border-radius: 0; background: #fff; }
.topic-preview-section h4 { margin: 0 0 10px; color: #244f49; font-size: 14px; }
.topic-preview-section p,.topic-preview-section li { color: #61736f; font-size: 13px; line-height: 1.75; }
.topic-preview-section ul { display: grid; gap: 6px; margin: 0; padding-left: 20px; }
.topic-preview-tiers { display: grid; gap: 9px; }
.topic-preview-tiers > div { display: grid; gap: 4px; padding: 12px 14px; border-radius: 11px; background: #f3f8f7; }
.topic-preview-tiers strong { color: #1f7064; font-size: 13px; }
.topic-preview-tiers span { color: #7a8d89; font-size: 12px; line-height: 1.5; }
.capsule-topic-phone { background: #fff7e9; }
.capsule-topic-preview-page { min-height: 100%; padding: 18px 14px 28px; background: linear-gradient(180deg,#ffe2a3 0,#fff5df 34%,#fffaf1 100%); color: #713d22; }
.capsule-topic-hero { text-align: center; }
.capsule-topic-hero small { color: #b56b2d; font-size: 10px; font-weight: 800; letter-spacing: 2px; }
.capsule-topic-hero h2 { margin: 5px 0 0; color: #8f3e25; font-size: 25px; }
.capsule-topic-hero p { margin-top: 5px; color: #a2643d; font-size: 12px; }
.capsule-topic-machine { width: 230px; margin: 18px auto; filter: drop-shadow(0 12px 16px rgba(119,61,27,.16)); }
.capsule-topic-sign { padding: 8px; border: 5px solid #d65738; border-radius: 18px 18px 8px 8px; background: #fff0b9; text-align: center; }
.capsule-topic-sign b,.capsule-topic-sign small { display: block; }
.capsule-topic-sign small { margin-top: 2px; font-size: 8px; letter-spacing: 1px; }
.capsule-topic-glass { position: relative; display: flex; height: 150px; align-items: flex-end; justify-content: center; gap: 5px; padding: 18px; overflow: hidden; border: 7px solid #d65738; border-top: 0; border-radius: 0 0 42px 42px; background: linear-gradient(135deg,rgba(255,255,255,.85),rgba(164,224,223,.55)); }
.capsule-topic-glass i { display: block; width: 38px; height: 38px; border: 4px solid #fff8; border-radius: 50%; background: #f6bd3d; }
.capsule-topic-glass i:nth-child(2) { background: #65b8ad; transform: translateY(-23px); }
.capsule-topic-glass i:nth-child(3) { background: #e86e67; }
.capsule-topic-glass i:nth-child(4) { background: #8d82cc; transform: translateY(-15px); }
.capsule-topic-glass i:nth-child(5) { position: absolute; top: 24px; right: 52px; background: #ef8baa; }
.capsule-topic-base { display: grid; padding: 13px 22px 17px; place-items: center; border-radius: 15px 15px 28px 28px; background: #d65738; }
.capsule-topic-base span { display: grid; width: 48px; height: 48px; place-items: center; border: 6px solid #fff0b9; border-radius: 50%; background: #a83e2d; color: #fff; font-size: 25px; }
.capsule-topic-base button { width: 100%; margin-top: 10px; padding: 9px; border: 0; border-radius: 999px; background: #ffe28c; color: #8d3b25; font-weight: 800; }
.capsule-topic-info,.capsule-topic-record { margin-top: 12px; padding: 14px; border: 1px solid #f0d6ad; border-radius: 13px; background: rgba(255,255,255,.82); }
.capsule-topic-info h3 { margin: 0 0 7px; font-size: 14px; }
.capsule-topic-info p { margin: 0; color: #91674e; font-size: 11px; line-height: 1.65; }
.capsule-topic-record { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.capsule-topic-record strong { font-size: 12px; }
.capsule-topic-record span { color: #a37b61; font-size: 10px; }
.topic-preview-bottom { position: absolute; right: 0; bottom: 0; left: 0; display: flex; height: 64px; padding: 10px 13px; background: #fff; box-shadow: 0 -4px 14px #18464112; }
.topic-preview-bottom button { width: 100%; margin: 0; border: 0; border-radius: 23px; background: #247e70; color: #fff; font-size: 14px; font-weight: 700; }
.referral-topic-phone .topic-preview-scroll { height: calc(100% - 48px); }
.invite-preview-page { min-height: 100%; background: #f4f8ff; color: #183b6b; }
.invite-preview-hero { position: relative; min-height: 310px; padding: 18px 16px 0; overflow: hidden; background: #2397ee; color: #fff; }
.invite-preview-hero > img { position: absolute; z-index: 0; top: 6px; right: -20px; width: 235px; height: 250px; object-fit: cover; object-position: center; transform: scale(.9); }
.invite-preview-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(7,75,145,.68),rgba(13,109,184,.24) 68%,rgba(18,133,214,.05)); }
.invite-preview-tag { position: relative; z-index: 2; display: inline-block; padding: 5px 10px; border: 1px solid #ffffff66; border-radius: 16px; font-size: 10px; }
.invite-preview-copy { position: relative; z-index: 2; width: 73%; padding: 30px 0 35px; }
.invite-preview-copy small { color: #d9ecff; font-size: 11px; }
.invite-preview-copy h2 { margin: 8px 0 0; font-size: 26px; line-height: 1.18; }
.invite-preview-copy h2 strong { display: block; color: #ffd269; }
.invite-preview-copy p { margin-top: 10px; color: #ffffffdb; font-size: 11px; }
.invite-preview-stats { position: relative; z-index: 2; display: flex; height: 66px; margin: 0 -16px; padding: 11px 5px; border-radius: 16px 16px 0 0; background: #0c469780; align-items: center; justify-content: space-around; }
.invite-preview-stats span { display: flex; flex: 1; color: #e6f3ffcc; font-size: 9px; flex-direction: column; align-items: center; }
.invite-preview-stats b { margin-bottom: 3px; color: #fff; font-size: 18px; }
.invite-preview-stats i { width: 1px; height: 25px; background: #ffffff3d; }
.invite-preview-section { margin: 12px; }
.invite-preview-section > header small,.invite-preview-steps > small { color: #3b7ed8; font-size: 8px; font-weight: 800; letter-spacing: 1px; }
.invite-preview-section > header h3,.invite-preview-steps > h3 { margin: 3px 0 10px; font-size: 17px; }
.invite-preview-card { padding: 14px; border: 1px solid #d8e8ff; border-radius: 15px; background: #fff; box-shadow: 0 5px 18px #295fa912; }
.invite-preview-card + .invite-preview-card { margin-top: 10px; }
.invite-preview-card-title { display: flex; gap: 8px; align-items: center; }
.invite-preview-card-title > i { display: grid; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 11px; background: #e2efff; color: #2875d4; font-size: 14px; font-style: normal; place-items: center; }
.invite-preview-card-title > span { display: flex; color: #7891b3; font-size: 9px; flex-direction: column; }
.invite-preview-card-title > span b { margin-top: 2px; color: #204f89; font-size: 12px; }
.invite-preview-card-title > em { margin-left: auto; padding: 4px 7px; border-radius: 10px; background: #edf5ff; color: #3a7bd2; font-size: 8px; font-style: normal; }
.invite-preview-stage { display: grid; grid-template-columns:24px minmax(0,1fr) 78px; gap: 7px; margin-top: 13px; align-items: center; }
.invite-preview-stage > span { display: grid; width: 22px; height: 22px; border-radius: 50%; background: #347edb; color: #fff; font-size: 10px; place-items: center; }
.invite-preview-stage > div { display: flex; min-width: 0; flex-direction: column; }
.invite-preview-stage small { color: #7a93b5; font-size: 8px; }
.invite-preview-stage b { margin-top: 2px; color: #244f87; font-size: 10px; line-height: 1.35; }
.invite-preview-stage p { margin-top: 2px; color: #91a4be; font-size: 8px; }
.invite-preview-stage figure { display: flex; height: 48px; margin: 0; align-items: center; justify-content: flex-end; }
.invite-preview-stage figure img { max-width: 39px; height: 44px; border-radius: 5px; object-fit: contain; }
.invite-preview-newcomer { background: linear-gradient(145deg,#f7fbff,#fff); }
.invite-preview-newcomer ul { display: grid; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.invite-preview-newcomer li { padding: 7px 9px; border-radius: 8px; background: #f0f6ff; color: #426993; font-size: 9px; }
.invite-preview-steps { margin: 12px; padding: 15px; border-radius: 15px; background: #fff; }
.invite-preview-steps > div { display: flex; gap: 7px; }
.invite-preview-steps span { display: flex; flex: 1; color: #55759e; font-size: 9px; flex-direction: column; align-items: center; }
.invite-preview-steps span b { display: grid; width: 28px; height: 28px; margin-bottom: 5px; border-radius: 9px; background: #e8f2ff; color: #347edb; place-items: center; }
.invite-preview-rules { display: flex; margin: 12px; padding: 13px; border-radius: 13px; background: #fff; color: #365f92; font-size: 10px; align-items: center; }
.invite-preview-rules b { display: grid; width: 25px; height: 25px; margin-right: 8px; border-radius: 8px; background: #e8f2ff; place-items: center; }
.invite-preview-rules em { margin-left: auto; color: #7895b7; font-style: normal; }
.invite-preview-bottom { gap: 8px; }
.invite-preview-bottom button:first-child { border: 1px solid #347edb; background: #fff; color: #347edb; }
.invite-preview-bottom button:last-child { background: #347edb; }
.referral-preview-page { position: relative; min-height: 100%; padding: 13px 14px 30px; background: #fff7f0; color: #553421; }
.referral-preview-hero { position: relative; display: flex; min-height: 170px; padding: 22px 14px; overflow: hidden; border-radius: 15px; background: linear-gradient(135deg,#fff2e6,#ffe1c5); box-shadow: 0 7px 15px #d0702d29; }
.referral-preview-hero:after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,#fff2e6fa 0%,#ffebd8cc 48%,#ffe1c500 72%); content: ""; }
.referral-preview-hero > div { position: relative; z-index: 3; width: 58%; }
.referral-preview-hero small { display: inline-block; padding: 4px 7px; border-radius: 12px; background: #ffe0c1; color: #d66f28; font-size: 10px; }
.referral-preview-hero h2 { margin: 10px 0 0; color: #9a481c; font-size: 22px; }
.referral-preview-hero p { margin-top: 7px; color: #9b653f; font-size: 12px; line-height: 1.55; }
.referral-preview-hero img { position: absolute; z-index: 2; right: -5px; bottom: -95px; width: 190px; height: 270px; object-fit: contain; mix-blend-mode: multiply; }
.referral-preview-rewards { display: flex; margin-top: 10px; padding: 14px 5px; border-radius: 13px; background: #fff; box-shadow: 0 4px 12px #b55e2412; align-items: center; }
.referral-preview-rewards span { display: flex; flex: 1; flex-direction: column; align-items: center; }
.referral-preview-rewards b { color: #e47a2e; font-size: 24px; }
.referral-preview-rewards strong { color: #e47a2e; font-size: 11px; }
.referral-preview-rewards small { margin-top: 5px; color: #9a7b68; font-size: 10px; }
.referral-preview-rewards i { width: 1px; height: 38px; background: #f2e0d3; }
.referral-preview-card { margin-top: 10px; padding: 15px 14px; border-radius: 13px; background: #fff; box-shadow: 0 4px 12px #b55e2412; }
.referral-preview-card h3 { margin: 0 0 12px; color: #7f421f; font-size: 16px; }
.referral-preview-card label { display: block; margin-top: 10px; color: #6d4d3a; font-size: 11px; font-weight: 700; }
.referral-preview-card label > b { color: #df6f2d; }
.referral-preview-card label > small { margin-left: 4px; color: #aa9182; font-weight: 400; }
.referral-preview-card label > span { display: block; height: 38px; margin-top: 6px; padding: 11px; border: 1px solid #efd9ca; border-radius: 9px; background: #fffaf6; color: #b59d90; font-weight: 400; }
.referral-preview-options { display: flex; gap: 6px; margin-top: 7px; flex-wrap: wrap; }
.referral-preview-options span { padding: 6px 9px; border: 1px solid #efd9ca; border-radius: 20px; background: #fffaf6; color: #765641; font-size: 10px; }
.referral-preview-card > button { width: 100%; height: 42px; margin-top: 14px; border: 0; border-radius: 22px; background: #e47a2e; color: #fff; font-size: 14px; font-weight: 700; }
.referral-preview-rules > div { display: flex; gap: 8px; margin-top: 11px; }
.referral-preview-rules > div > b { display: grid; width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; background: #ffead9; color: #d66c27; font-size: 10px; place-items: center; }
.referral-preview-rules > div span { display: flex; flex-direction: column; }
.referral-preview-rules > div strong { color: #7f421f; font-size: 12px; }
.referral-preview-rules > div small { margin-top: 3px; color: #967968; font-size: 10px; line-height: 1.45; }
.referral-preview-share { position: sticky; bottom: 12px; float: right; margin: 12px 0 0; padding: 8px 13px; border: 0; border-radius: 18px; background: #e47a2ef5; color: #fff; font-size: 11px; font-weight: 700; }
.signup-topic-preview-share { position: absolute; z-index: 12; right: 12px; bottom: 14px; margin: 0; box-shadow: 0 5px 12px rgba(198,91,27,.24); }
@media(max-width:600px){.topic-preview-content{padding:10px}.topic-preview-phone{height:calc(100vh - 130px);min-height:500px}}
.assets-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.asset-section { margin-top: 22px; padding-bottom: 26px; border-bottom: 1px solid #e4ecea; }
.asset-section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.asset-section-head #createBannerBtn,.asset-section-head #createMemberBannerBtn { width: 120px; }
.asset-section-head h2 { margin: 0; color: #183c37; font-size: 18px; }
.asset-section-head p { margin-top: 7px; color: #81918e; font-size: 13px; }
.fixed-assets-head { margin-top: 26px; }
.asset-section-head .primary:disabled { cursor: not-allowed; opacity: .55; }
.asset-card { padding: 22px; border: 1px solid #e4ecea; border-radius: 16px; background: #fbfdfc; }
.asset-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.asset-card-copy { flex: 1; min-width: 0; }
.asset-card-head h3 { margin: 0; font-size: 17px; color: #183c37; }
.asset-place { margin: 8px 0 0; color: #217b6d; font-size: 13px; font-weight: 600; }
.asset-tip { margin: 6px 0 0; color: #81918e; font-size: 12px; line-height: 1.55; }
.asset-enable-field { flex: 0 0 88px; margin: 0; color: #5f7773; font-size: 13px; }
.asset-enable-field .switch-row {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  height: 42px;
  min-height: 42px;
  margin-top: 7px !important;
  padding: 0 12px;
  border: 1px solid #dbe6e3;
  border-radius: 9px;
  background: #fff;
  color: #52625f;
  font-size: 12px;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  cursor: pointer;
}
.asset-enable-field .switch-row input[type="checkbox"] {
  display: inline-block;
  flex: 0 0 16px;
  width: 16px;
  min-width: 16px;
  max-width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  accent-color: #187668;
  cursor: pointer;
}
.asset-form { margin-top: 0; }
.asset-fields { margin-top: 10px; }
.asset-fields.editor-fields { grid-template-columns: 1fr; }
@media (max-width: 1400px) {
  .assets-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .assets-list { grid-template-columns: 1fr; }
}
.editor-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-top: 18px; }
.editor-row { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.editor-row.points-goods-head-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.editor-row.points-goods-head-row > .inline-boolean-field { align-self: start; }
.editor-row.points-tasks-head-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: flex-start; gap: 15px; }
.editor-row.points-tasks-head-row > .editor-field:nth-child(1) { grid-column: 1 / 4; min-width: 0; }
.editor-row.points-tasks-head-row > .inline-boolean-field { grid-column: 4 / 5; }
.editor-row.points-tasks-meta-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.editor-row.banner-action-row { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
.editor-row.banner-action-row > .editor-field { min-width: 0; }
.editor-row.banner-action-row > .editor-field.full { grid-column: auto; }
.editor-row.banner-action-row > .editor-field .switch-row {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  margin-top: 7px;
  padding: 0 12px;
  border: 1px solid #dbe6e3;
  border-radius: 9px;
  background: #fff;
  align-items: center;
}
.editor-row.fixed-asset-toggle-row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
.editor-row.fixed-asset-toggle-row > .editor-field.full { grid-column: auto; }
.editor-row.fixed-asset-toggle-row > .editor-field .switch-row {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  margin-top: 7px;
  padding: 0 12px;
  border: 1px solid #dbe6e3;
  border-radius: 9px;
  background: #fff;
  align-items: center;
}
.editor-row.carousel-media-row { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; }
.editor-row.carousel-media-row > .editor-field:first-child { grid-column: span 2 !important; }
.editor-row.carousel-media-row > .editor-field.full:last-child { grid-column: auto; }
.editor-row.carousel-media-row .image-preview { flex-basis: calc((100% - 12px) / 2); width: calc((100% - 12px) / 2); }
.editor-row.carousel-media-row > .editor-field:last-child { align-self: center; }
.editor-row.carousel-media-row > .editor-field:last-child .switch-row { width: 100%; min-height: 42px; margin-top: 7px; padding: 0 12px; border: 1px solid #dbe6e3; border-radius: 9px; }
.editor-row.product-media-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
.editor-row.product-media-row > .editor-field:first-child { grid-column: span 3 !important; }
.editor-row.product-media-row .image-preview { flex-basis: calc((100% - 30px) / 3); width: calc((100% - 30px) / 3); aspect-ratio: 1 / 1; }
.editor-row.product-media-row > .inline-boolean-field { align-self: center; }
.editor-row.product-media-row > .inline-boolean-field .switch-row { width: 100%; min-height: 42px; margin-top: 7px !important; padding: 0 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; }
.editor-row.product-head-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.editor-row.product-head-row > .inline-boolean-field { align-self: start; }
.editor-row.product-intro-row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.editor-row.flash-media-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
.editor-row.flash-media-row > .editor-field:first-child { grid-column: span 3 !important; }
.editor-row.flash-media-row .image-preview { flex-basis: calc((100% - 30px) / 3); width: calc((100% - 30px) / 3); aspect-ratio: 4 / 3; }
.editor-row.flash-media-row > .inline-boolean-field { align-self: center; }
.editor-row.flash-media-row > .inline-boolean-field .switch-row { width: 100%; min-height: 42px; margin-top: 7px !important; padding: 0 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; }
.editor-row.flash-product-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.editor-row.flash-product-row > .editor-field:first-child { grid-column: span 3; }
.editor-row.flash-product-row > .inline-boolean-field .switch-row { width: 100%; min-height: 42px; margin-top: 7px !important; padding: 0 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; }
.editor-row.activity-head-row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.editor-row.activity-head-row > .inline-boolean-field { align-self: start; }
.editor-row.activity-head-row > .inline-boolean-field .switch-row { width: 100%; min-height: 42px; margin-top: 7px !important; padding: 0 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; }
.editor-row.activity-media-row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.editor-row.activity-meta-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.editor-row.activity-points-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.editor-row.activity-points-row > .inline-boolean-field .switch-row { width: 100%; min-height: 42px; margin-top: 7px !important; padding: 0 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; }
.editor-row.activity-time-range { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.editor-row.activity-details-row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.editor-row.activity-details-row > .editor-field { min-width: 0; }
.editor-row.activity-details-row textarea { min-height: 150px; }
.activity-time-group { display: grid; grid-template-columns: minmax(170px, 2fr) minmax(82px, 1fr) minmax(82px, 1fr); gap: 10px; padding: 14px; border: 1px solid #e2ebe9; border-radius: 12px; background: #f9fcfb; }
.editor-row.flash-sales-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.flash-schedule-summary { color: #287f70 !important; font-weight: 600; }
.flash-schedule-editor { margin-top: 8px; padding: 16px; border: 1px solid #dce9e6; border-radius: 12px; background: #f4faf8; }
.flash-schedule-editor .field-advice { display: block; margin: 5px 0 12px; }
.flash-schedule-items { display: grid; gap: 10px; }
.flash-schedule-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; padding: 12px; border: 1px solid #dbe6e3; border-radius: 10px; background: #fff; }
.flash-schedule-item label { color: #52625f; font-size: 12px; }
.flash-schedule-item input { width: 100%; margin-top: 7px; }
.editor-row.purchase-custom-validity-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.editor-row.product-sales-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.editor-row.product-details-row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.editor-row.product-details-row > .editor-field { min-width: 0; }
.editor-row.product-details-row textarea { min-height: 150px; }
.editor-row.carousel-settings-row { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
.editor-row.carousel-settings-row > .editor-field:nth-child(2) { align-self: end; }
.editor-row.carousel-settings-row > .editor-field:nth-child(2) .switch-row { box-sizing: border-box; width: 100%; min-height: 42px; margin-top: 7px; padding: 0 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; }
.editor-row.proactive-registration-media-row { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; }
.editor-row.proactive-registration-media-row > .editor-field:first-child { grid-column: span 2 !important; }
.editor-row.proactive-registration-media-row .image-preview { flex-basis: calc((100% - 12px) / 2); width: calc((100% - 12px) / 2); }
.editor-row.proactive-registration-media-row > .editor-field:last-child { align-self: center; }
.editor-row.proactive-registration-media-row > .editor-field:last-child .switch-row { box-sizing: border-box; width: 100%; min-height: 42px; margin-top: 7px; padding: 0 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; }
.editor-row.proactive-registration-copy-row { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
.asset-section .cms-card.dragging,#cmsGrid .cms-card.dragging { opacity: .55; cursor: grabbing; box-shadow: 0 10px 24px rgba(24,92,80,.16); }
.editor-row .editor-field { grid-column: auto !important; }
.editor-field { color: #52625f; font-size: 12px; }
.editor-field.half { grid-column: span 2; }
.editor-field.full { grid-column: 1/-1; }
.editor-field input,.editor-field select,.editor-field textarea { display: block; width: 100%; margin-top: 7px; padding: 11px 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; font: inherit; outline: none; }
.editor-field textarea { min-height: 90px; resize: vertical; line-height: 1.55; }
.field-advice { display: block; margin-top: 6px; color: #96a5a2; font-size: 11px; line-height: 1.4; }
.dialog .editor-field .switch-row { display: inline-flex; width: auto; align-items: center; justify-content: flex-start; gap: 8px; margin: 12px 0 0; cursor: pointer; }
.dialog .editor-field .switch-row input[type="checkbox"] { display: inline-block; flex: 0 0 16px; width: 16px; min-width: 16px; max-width: 16px; height: 16px; margin: 0; padding: 0; accent-color: #187668; cursor: pointer; }
.inline-boolean-field .switch-row {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  margin-top: 7px !important;
  padding: 0 12px;
  border: 1px solid #dbe6e3;
  border-radius: 9px;
  background: #fff;
  color: #52625f;
  font-size: 12px;
}
.dialog .editor-field.inline-boolean-field { display: block; }
.dialog .editor-field.inline-boolean-field .switch-row { display: flex; box-sizing: border-box; width: 100%; min-height: 42px; margin-top: 7px; }
.editor-row.coupon-grid-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.editor-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.danger { padding: 11px 18px; border: 0; border-radius: 9px; background: #fff0ef; color: #ba4e45; cursor: pointer; }
.danger.solid { background: #c94f45; color: #fff; }
.confirm-dialog { position: relative; display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 0 18px; width: min(460px,calc(100vw - 32px)); padding: 28px; border: 1px solid rgba(208,77,65,.12); border-radius: 22px; box-shadow: 0 28px 80px rgba(9,35,31,.28); animation: confirm-dialog-in .18s ease-out; }
.confirm-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; background: #fff0ee; color: #c74e44; }
.confirm-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.confirm-copy h2 { margin: 2px 0 0; color: #203d39; font-size: 20px; letter-spacing: -.2px; }
.confirm-dialog .confirm-copy p { margin-top: 10px; color: #687a77; font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; }
.confirm-actions { grid-column: 1 / -1; margin-top: 26px; }
.confirm-actions button { min-width: 104px; min-height: 42px; font-weight: 600; box-shadow: none; }
.confirm-actions .ghost { border: 1px solid #dce7e4; }
.confirm-actions .danger.solid { background: linear-gradient(135deg,#d45b50,#be4037); box-shadow: 0 8px 18px rgba(190,64,55,.2); }
.confirm-actions button:focus-visible { outline: 3px solid rgba(37,123,109,.2); outline-offset: 2px; }
@keyframes confirm-dialog-in { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 520px) { .confirm-dialog { grid-template-columns: 46px minmax(0,1fr); gap: 0 14px; padding: 22px; border-radius: 18px; } .confirm-icon { width: 46px; height: 46px; border-radius: 14px; } .confirm-actions { display: grid; grid-template-columns: 1fr 1fr; } .confirm-actions button { min-width: 0; } }
#adminPage header { margin-bottom: 26px; }
@media (max-width: 900px) {
  .cms-dialog { width: calc(100vw - 32px); }
  .editor-fields { grid-template-columns: 1fr 1fr; }
  .editor-row.points-tasks-meta-row { grid-template-columns: 1fr 1fr; }
  .editor-row.banner-action-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .editor-row.carousel-media-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .editor-row.product-media-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .editor-row.product-head-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-row.product-media-row > .editor-field:first-child { grid-column: span 2 !important; }
  .editor-row.product-media-row .image-preview { flex-basis: calc((100% - 15px) / 2); width: calc((100% - 15px) / 2); }
  .editor-row.flash-media-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .editor-row.flash-product-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-row.flash-product-row > .editor-field:first-child { grid-column: auto; }
  .editor-row.flash-media-row > .editor-field:first-child { grid-column: span 2 !important; }
  .editor-row.flash-media-row .image-preview { flex-basis: calc((100% - 15px) / 2); width: calc((100% - 15px) / 2); }
  .editor-row.flash-sales-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-row.activity-head-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-row.activity-meta-row,.editor-row.activity-points-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-row.product-sales-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-row.coupon-grid-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .image-preview,.banner-image-field .image-preview { flex-basis: calc((100% - 15px) / 2); width: calc((100% - 15px) / 2); }
  .schedule-row { grid-template-columns: 1fr 1fr; }
  .schedule-remove-btn { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .admin-editor-grid { grid-template-columns: 1fr; }
  .admin-editor-grid .full { grid-column: auto; }
  .editor-fields { grid-template-columns: 1fr; }
  .editor-row { grid-template-columns: 1fr; }
  .editor-row.points-goods-head-row { grid-template-columns: 1fr; }
  .editor-row.points-tasks-head-row { grid-template-columns: 1fr; }
  .editor-row.points-tasks-head-row > .editor-field:nth-child(1),.editor-row.points-tasks-head-row > .inline-boolean-field { grid-column: 1 / -1; }
  .editor-row.points-tasks-meta-row { grid-template-columns: 1fr; }
  .editor-row.banner-action-row { grid-template-columns: 1fr; }
  .editor-row.fixed-asset-toggle-row { grid-template-columns: 1fr; }
  .editor-row.carousel-media-row,.editor-row.carousel-settings-row,.editor-row.proactive-registration-media-row,.editor-row.proactive-registration-copy-row { grid-template-columns: 1fr; }
  .editor-row.product-media-row,.editor-row.product-head-row,.editor-row.product-intro-row { grid-template-columns: 1fr; }
  .editor-row.flash-media-row,.editor-row.flash-product-row { grid-template-columns: 1fr; }
  .editor-row.activity-head-row,.editor-row.activity-media-row,.editor-row.activity-meta-row,.editor-row.activity-points-row,.editor-row.activity-time-range,.editor-row.activity-details-row { grid-template-columns: 1fr; }
  .activity-time-group { grid-template-columns: 1fr 1fr; }
  .activity-time-group > .editor-field:first-child { grid-column: 1 / -1 !important; }
  .editor-row.flash-sales-row,.editor-row.purchase-custom-validity-row { grid-template-columns: 1fr; }
  .flash-schedule-item { grid-template-columns: 1fr; }
  .editor-row.product-sales-row { grid-template-columns: 1fr; }
  .editor-row.product-details-row { grid-template-columns: 1fr; }
  .editor-row.coupon-grid-row { grid-template-columns: 1fr; }
  .editor-row.product-media-row > .editor-field:first-child { grid-column: auto !important; }
  .editor-row.product-media-row .image-preview { flex-basis: 100%; width: 100%; }
  .editor-row.flash-media-row > .editor-field:first-child { grid-column: auto !important; }
  .editor-row.proactive-registration-media-row > .editor-field:first-child { grid-column: auto !important; }
  .editor-row.flash-media-row .image-preview { flex-basis: 100%; width: 100%; }
  .editor-row.proactive-registration-media-row .image-preview { flex-basis: 100%; width: 100%; }
  .editor-row.carousel-media-row > .editor-field:first-child { grid-column: auto !important; }
  .editor-row.carousel-media-row .image-preview { flex-basis: 100%; width: 100%; }
  .image-preview,.banner-image-field .image-preview { flex-basis: 100%; width: 100%; }
  .image-upload { align-items: stretch; flex-direction: column; }
  .schedule-row { grid-template-columns: 1fr; }
}
.cms-card.coupon-card { display: flex; flex-direction: column; }
.admin-editor-dialog { width: min(1080px, calc(100vw - 32px)); max-height: calc(100vh - 28px); overflow-y: auto; }
.admin-editor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.admin-editor-grid:has(#adminAccountStatusField.hidden) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-editor-grid label { color: #52625f; font-size: 12px; }
.admin-editor-grid .full { grid-column: 1/-1; }
.admin-editor-grid input,.admin-editor-grid select { box-sizing: border-box; width: 100%; margin-top: 7px; padding: 11px 12px; border: 1px solid #dbe6e3; border-radius: 9px; background: #fff; font: inherit; outline: none; }
.admin-password-tip { margin: 12px 0 0; color: #8b9a97; font-size: 12px; line-height: 1.6; }
.admin-permission-field { margin: 0; padding: 10px 12px; border: 1px solid #dbe6e3; border-radius: 10px; }
.admin-permission-field legend { padding: 0 6px; color: #52625f; font-size: 12px; }
.admin-permission-options { display: grid; gap: 10px; }
.admin-permission-group { min-width: 0; padding: 10px 12px 12px; border: 1px solid #e3ecea; border-radius: 10px; background: #f7fbfa; }
.admin-permission-group h3 { margin: 0 0 8px; padding-left: 8px; border-left: 3px solid #258173; color: #285a52; font-size: 13px; line-height: 1.2; }
.admin-permission-group-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.admin-permission-row { display: grid; grid-template-columns: minmax(0,1fr) 60px 60px; align-items: center; min-height: 40px; overflow: hidden; border: 1px solid #e1eae8; border-radius: 8px; background: #fbfdfc; color: #52625f; font-size: 12px; }
.admin-permission-row.has-export { grid-template-columns: minmax(0,1fr) 60px 60px 60px; }
.admin-permission-row strong { display: flex; align-items: center; height: 100%; padding: 0 10px; overflow: hidden; font-size: 12px; font-weight: 600; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.admin-permission-options label { display: flex; align-self: stretch; align-items: center; justify-content: center; min-width: 0; height: auto; margin: 0!important; gap: 5px; padding: 0 6px; border-left: 1px solid #e7eeec; color: #71817e; font-size: 11px; line-height: 1; cursor: pointer; }
.admin-permission-options label span { display: inline-flex; align-items: center; height: 15px; line-height: 15px; }
.admin-permission-options input { display: block; flex: 0 0 15px; box-sizing: border-box; width: 15px; height: 15px; margin: 0; padding: 0; border: 0; background: transparent; accent-color: #187668; }
.admin-account-cell { display: flex; flex-direction: column; gap: 4px; }.admin-account-cell strong { color: #244c45; }.admin-account-cell small { color: #91a09d; }
.admin-promotion-privacy-card { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:18px 0 14px; padding:16px 18px; border:1px solid #d9e9e5; border-radius:11px; background:#f7fbfa; }.admin-promotion-privacy-card h3 { margin:0; color:#285a52; font-size:15px; }.admin-promotion-privacy-card p { margin:7px 0 0; color:#71817e; font-size:12px; line-height:1.6; }.admin-promotion-privacy-switch { display:flex; flex:0 0 auto; align-items:center; gap:8px; color:#285a52; font-size:13px; font-weight:600; white-space:nowrap; cursor:pointer; }.admin-promotion-privacy-switch input { width:16px; height:16px; accent-color:#187668; }
.admin-status { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #e7f5ef; color: #287f70; font-size: 11px; }.admin-status.off { background: #f2f2f2; color: #8a9693; }
.admins-table .user-actions { flex-wrap: nowrap; }
@media (max-width: 900px) and (min-width: 601px) {
  .admin-editor-dialog { width: min(820px, calc(100vw - 32px)); }
  .admin-editor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-editor-grid:has(#adminAccountStatusField.hidden) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-permission-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .admin-editor-grid { grid-template-columns: 1fr; }
  .admin-editor-grid .full { grid-column: auto; }
  .admin-permission-group-grid { grid-template-columns: 1fr; }
  .admin-promotion-privacy-card { align-items:flex-start; flex-direction:column; gap:12px; }
}
.coupon-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: auto; padding-top: 16px; }
.coupon-actions .ghost { width: 100%; min-height: 42px; padding: 9px 6px; border-radius: 10px; font-size: 13px; }
.coupon-mode-panel { display: contents; }
.coupon-mode-panel.hidden { display: none; }
.coupon-record-table { grid-column: 1/-1; margin-top: 8px; }
.coupon-record-table table { width: 100%; border-collapse: collapse; font-size: 12px; }
.coupon-record-table th,.coupon-record-table td { padding: 8px 6px; border-bottom: 1px solid #e6eeec; text-align: left; word-break: break-all; }
.product-preview-main .product-preview-limit { margin-left: 7px; background: #fff0e8; color: #d26049; }.product-preview-card h3 small { float: right; margin-top: 3px; color: #8b9b98; font-size: 10px; font-weight: 500; }.product-preview-bottom button:first-child,.product-preview-bottom button:last-child { width: auto; flex: 1; }
.product-preview-shell { position: relative; width: min(390px, calc(100vw - 28px)); }
.product-preview-shell .product-preview-content { display: block; max-height: none; padding: 0; overflow: visible; background: transparent; }
.product-preview-shell .product-preview-phone { width: 100%; height: min(750px, calc(100vh - 28px)); }
.topic-preview-shell .topic-preview-content { display: block; max-height: none; margin: 0; padding: 0; overflow: visible; background: transparent; }
.topic-preview-shell .topic-preview-phone { width: 100%; height: min(750px, calc(100vh - 28px)); }
.product-preview-close { position: absolute; z-index: 20; top: 10px; right: 12px; display: grid; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #46625e; box-shadow: 0 4px 14px rgba(9,42,37,.18); cursor: pointer; font-size: 22px; line-height: 1; place-items: center; }
.user-profile-dialog { width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; }
.user-profile-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.user-profile-item { min-width: 0; padding: 13px 15px; border: 1px solid #e0ebe8; border-radius: 11px; background: #f8fbfa; }
.user-profile-item.full { grid-column: 1/-1; }
.user-profile-item span { display: block; color: #849592; font-size: 11px; }
.user-profile-item strong { display: block; margin-top: 6px; overflow-wrap: anywhere; color: #294d47; font-size: 14px; line-height: 1.6; white-space: pre-wrap; }
@media (max-width: 600px) { .user-profile-details { grid-template-columns: 1fr; } .user-profile-item.full { grid-column: auto; } }
.grid-lottery-topic-phone .topic-preview-scroll{background:linear-gradient(#ff7167,#ffc0a5 45%,#ff796c)}
.grid-lottery-topic-preview-page{min-height:100%;padding:18px 12px 28px;color:#8d2c20;text-align:center;background:radial-gradient(circle at 50% 25%,#ffe3b6,#ff9a87 55%,#ff665c)}
.grid-lottery-topic-hero small{color:#fff2b9;font-size:8px;font-weight:800;letter-spacing:3px}.grid-lottery-topic-hero h2{margin:5px 0 3px;color:#fff5c9;font-size:32px;line-height:1;text-shadow:0 4px 0 #cf392c}.grid-lottery-topic-hero p{margin:0;color:#a73829;font-size:10px;font-weight:700}
.grid-lottery-topic-machine{margin-top:20px;padding:9px 10px 15px;border:5px solid #ffb85b;border-radius:20px;background:linear-gradient(90deg,#ff8967,#ffd88f 50%,#ff8967);box-shadow:0 7px 0 #d84127,0 10px 18px rgba(136,39,25,.22)}
.grid-lottery-topic-sign{margin:-2px -2px 10px;padding:8px;border:3px solid #ffce76;border-radius:10px;background:#c92e1a;color:#ffd48c;font-size:9px;font-weight:700}
.grid-lottery-topic-board{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:5px;border:4px solid #ad2c1a;border-radius:12px;background:#ef4a35}.grid-lottery-topic-board span,.grid-lottery-topic-board button{display:flex;height:55px;align-items:center;justify-content:center;flex-direction:column;border:1px solid #d75a41;border-radius:7px;background:#fff8e8;font-size:20px}.grid-lottery-topic-board small{margin-top:2px;color:#a63d2b;font-size:7px;font-weight:700}.grid-lottery-topic-board button{border:0;background:radial-gradient(circle,#ff7658,#d82718);color:#fff6cc;font-size:12px;font-weight:800}.grid-lottery-topic-board button small{color:#ffd098}
.grid-lottery-topic-action{width:70%;margin:12px auto 0;padding:8px;border-radius:8px;background:linear-gradient(#fff29c,#ffc145);color:#d34121;font-size:12px;font-weight:800;box-shadow:0 4px 0 #de7628}.grid-lottery-topic-rule{display:flex;align-items:flex-start;flex-direction:column;margin-top:12px;padding:10px 12px;border:2px solid #ffd37b;border-radius:9px;background:#bd311e;color:#ffd49a;text-align:left}.grid-lottery-topic-rule strong{font-size:10px}.grid-lottery-topic-rule span{margin-top:4px;font-size:8px}
