/* 学员订阅权益：订阅状态与锁定提示的通用样式 */
.subscription-badge,
[data-subscription-status]{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:var(--role-text,#1e3a8a);
  background:linear-gradient(135deg,var(--role-soft,#dbeafe),#fff);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--role-primary,#2563eb) 22%,transparent);
}
.subscription-locked{
  opacity:.58;
  filter:saturate(.75);
  cursor:not-allowed!important;
}
.subscription-plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.subscription-plan-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.24);
  border-radius:22px;
  padding:16px;
  background:linear-gradient(135deg,#fff,#f8fafc);
  box-shadow:0 14px 38px rgba(15,23,42,.08);
}
.subscription-plan-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--role-primary,#2563eb),var(--role-accent,#22c55e));
}
.subscription-plan-card h3{
  margin:0;
  color:#0f172a;
  font-size:18px;
}
.subscription-plan-card .price{
  margin:8px 0 4px;
  color:var(--role-primary,#2563eb);
  font-size:20px;
  font-weight:1000;
}
.subscription-plan-card p{
  margin:0;
  color:#64748b;
  font-size:13px;
  line-height:1.55;
}
.subscription-plan-card ul{
  margin:12px 0 0;
  padding-left:18px;
  color:#334155;
  font-size:13px;
  line-height:1.7;
}
.subscription-policy-note{
  margin-top:12px;
  padding:12px 13px;
  border-radius:18px;
  background:#f8fafc;
  color:#475569;
  font-size:13px;
  line-height:1.65;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.20);
}
@media(max-width:980px){
  .subscription-plan-grid{grid-template-columns:1fr}
}

/* Step 7：订阅套餐模型校准后的展示样式 */
.subscription-plan-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.subscription-plan-card.recommended{
  border-color:color-mix(in srgb,var(--role-primary,#2563eb) 42%,rgba(148,163,184,.22));
  box-shadow:0 18px 46px rgba(37,99,235,.14);
}
.subscription-plan-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:4px;
}
.subscription-plan-head span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  color:var(--role-text,#1e3a8a);
  background:color-mix(in srgb,var(--role-soft,#dbeafe) 76%,#fff);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--role-primary,#2563eb) 18%,transparent);
  font-size:11px;
  font-weight:1000;
}
.subscription-duration{
  margin:0 0 8px!important;
  color:#475569!important;
  font-weight:900;
}
.subscription-limit-note{
  margin-top:12px;
  padding:9px 10px;
  border-radius:14px;
  color:#475569;
  background:#f8fafc;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.18);
  font-size:12px;
  line-height:1.55;
}

/* Step 8：订阅 UI 基础层 */
.kg-user-subscription-box{
  grid-column:1/-1;
  border-radius:18px;
  padding:13px;
  background:linear-gradient(135deg,#fff,#f8fafc);
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.20);
}
.kg-user-subscription-main{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.kg-user-subscription-main strong{
  display:block;
  color:#0f172a;
  font-size:15px;
  line-height:1.25;
}
.kg-user-subscription-main span,
.kg-user-subscription-empty{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
  line-height:1.55;
}
.kg-user-subscription-main em{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  color:var(--role-text,#1e3a8a);
  background:color-mix(in srgb,var(--role-soft,#dbeafe) 76%,#fff);
  font-style:normal;
  font-size:12px;
  font-weight:1000;
}
.kg-user-subscription-meta,
.um-subscription-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.kg-user-subscription-meta span,
.um-subscription-summary span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  color:#475569;
  background:#f1f5f9;
  font-size:12px;
  font-weight:900;
}
.kg-user-subscription-note{
  margin:10px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.55;
}
.um-subscription-card{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:24px;
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 38px rgba(15,23,42,.08);
}
.um-subscription-card[hidden]{display:none!important}
.um-subscription-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.um-subscription-grid .full{grid-column:1/-1}
.um-subscription-grid input,
.um-subscription-grid select{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:13px;
  padding:9px 10px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:800;
  outline:none;
}
.um-subscription-grid input:focus,
.um-subscription-grid select:focus{
  border-color:var(--role-primary,#2563eb);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--role-primary,#2563eb) 13%,transparent);
}
.um-subscription-actions,
.subscription-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.um-subscription-actions button,
.subscription-admin-actions button{
  padding:9px 12px;
  border-radius:13px;
}
.subscription-admin-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  padding:12px 13px;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fafc,#fff);
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.18);
}
.subscription-admin-toolbar strong{
  color:#0f172a;
  font-size:15px;
}
.subscription-admin-toolbar p{
  margin:3px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.5;
}
.subscription-admin-toolbar button{
  flex:0 0 auto;
  border-radius:13px;
}
.subscription-admin-card{display:flex;flex-direction:column}
.subscription-admin-switches{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 10px;
}
.subscription-admin-switches label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  background:#f8fafc;
  color:#475569;
  font-size:12px;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.18);
}
.subscription-admin-switches input{accent-color:var(--role-primary,#2563eb)}
.subscription-admin-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-bottom:10px;
}
.subscription-admin-fields label{
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.subscription-admin-fields label.full{grid-column:1/-1}
.subscription-admin-fields input,
.subscription-admin-fields textarea{
  display:block;
  width:100%;
  margin-top:5px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:8px 9px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-size:13px;
  font-weight:750;
  outline:none;
}
.subscription-admin-fields textarea{resize:vertical;min-height:72px;line-height:1.5}
.subscription-admin-fields input:focus,
.subscription-admin-fields textarea:focus{
  border-color:var(--role-primary,#2563eb);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--role-primary,#2563eb) 13%,transparent);
}
.subscription-admin-grid .subscription-plan-card ul{margin-top:auto}
@media(max-width:820px){
  .um-subscription-grid,
  .subscription-admin-fields{grid-template-columns:1fr}
  .subscription-admin-toolbar{align-items:stretch;flex-direction:column}
  .subscription-admin-toolbar button{width:100%}
}

/* Step 7 补充：原价 + 折扣系数自动计算现价展示 */
.subscription-admin-price-preview,
.kg-user-subscription-price{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px;
}
.subscription-admin-price-preview{
  margin:2px 0 10px;
}
.subscription-admin-price-preview strong{
  color:var(--role-primary,#2563eb);
  font-size:18px;
  font-weight:1000;
}
.subscription-admin-price-preview del,
.kg-user-subscription-price del{
  color:#94a3b8;
  font-weight:900;
  text-decoration-thickness:2px;
}
.kg-user-subscription-price span{
  color:var(--role-text,#1e3a8a);
}

/* Step 7 补充：用户中心订阅快捷入口与会员权益详情 */
.kg-user-subscription-renew,
.kg-subscription-buy-btn{
  flex:0 0 auto;
  border:0;
  border-radius:14px;
  padding:9px 13px;
  color:#fff;
  background:linear-gradient(135deg,var(--role-primary,#2563eb),var(--role-accent,#22c55e));
  box-shadow:0 12px 24px color-mix(in srgb,var(--role-primary,#2563eb) 22%,transparent);
  font-size:13px;
  font-weight:1000;
  cursor:pointer;
}
.kg-user-subscription-renew:hover,
.kg-subscription-buy-btn:hover{transform:translateY(-1px)}
.user-subscription-detail-backdrop{
  z-index:2147483300;
}
.kg-subscription-detail-modal{
  width:min(980px,calc(100vw - 28px));
  max-height:min(86vh,820px);
  overflow:auto;
}
.kg-subscription-detail-body{padding:0 20px 20px}
.kg-subscription-detail-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.kg-subscription-purchase-card.current{
  border-color:color-mix(in srgb,var(--role-primary,#2563eb) 58%,rgba(148,163,184,.22));
  box-shadow:0 18px 48px color-mix(in srgb,var(--role-primary,#2563eb) 16%,rgba(15,23,42,.06));
}
.kg-subscription-purchase-price{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px;
  margin:8px 0 8px;
}
.kg-subscription-purchase-price strong{
  color:var(--role-primary,#2563eb);
  font-size:20px;
  font-weight:1000;
}
.kg-subscription-purchase-price del{
  color:#94a3b8;
  font-weight:900;
  text-decoration-thickness:2px;
}
.subscription-discount-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:1000;
}
.kg-subscription-buy-btn{width:100%;margin-top:12px}
@media(max-width:640px){
  .kg-user-subscription-main{flex-direction:column;align-items:stretch}
  .kg-user-subscription-renew{width:100%}
  .kg-subscription-detail-body{padding:0 14px 16px}
}

/* Step 7 补充：会员权益弹窗卡片化购买与展示对齐 */
.kg-subscription-detail-grid{
  align-items:stretch;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
}
.kg-subscription-purchase-card{
  display:flex;
  flex-direction:column;
  min-height:410px;
  height:100%;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
  outline:none;
}
.kg-subscription-purchase-card:hover,
.kg-subscription-purchase-card:focus-visible{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--role-primary,#2563eb) 56%,rgba(148,163,184,.24));
  box-shadow:0 24px 64px color-mix(in srgb,var(--role-primary,#2563eb) 18%,rgba(15,23,42,.08));
  filter:saturate(1.04);
}
.kg-subscription-purchase-card:focus-visible{
  box-shadow:0 0 0 4px color-mix(in srgb,var(--role-primary,#2563eb) 16%,transparent),0 24px 64px color-mix(in srgb,var(--role-primary,#2563eb) 18%,rgba(15,23,42,.08));
}
.kg-subscription-purchase-card.current::after{
  content:"✓";
  position:absolute;
  top:10px;
  right:10px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:#0f172a;
  font-size:14px;
  font-weight:1000;
  box-shadow:0 10px 20px rgba(15,23,42,.18);
}
.kg-subscription-plan-desc{
  min-height:44px;
}
.kg-subscription-benefit-list{
  flex:1 1 auto;
  min-height:142px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.kg-subscription-usage-text{
  min-height:50px;
  display:flex;
  align-items:center;
  margin-top:14px;
}
.kg-subscription-card-cta{
  margin-top:12px;
  min-height:38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,var(--role-primary,#2563eb),var(--role-accent,#22c55e));
  box-shadow:0 12px 24px color-mix(in srgb,var(--role-primary,#2563eb) 18%,transparent);
  font-size:13px;
  font-weight:1000;
  pointer-events:none;
}
.kg-subscription-purchase-card:hover .kg-subscription-card-cta,
.kg-subscription-purchase-card:focus-visible .kg-subscription-card-cta{
  transform:translateY(-1px);
}
.subscription-admin-fields textarea[data-plan-field="benefitText"]{
  min-height:116px;
}
.subscription-admin-fields textarea[data-plan-field="usageText"]{
  min-height:64px;
}
@media(max-width:640px){
  .kg-subscription-purchase-card{min-height:0}
  .kg-subscription-benefit-list{min-height:0;justify-content:flex-start}
  .kg-subscription-usage-text{min-height:0}
}

/* Step 8A：订阅限制提示 */
.subscription-limit-toast,
.kr-limit-toast{
  position:fixed;
  left:50%;
  bottom:28px;
  transform:translateX(-50%) translateY(10px);
  z-index:2147483600;
  max-width:min(520px,calc(100vw - 32px));
  padding:12px 16px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:16px;
  background:rgba(15,23,42,.92);
  color:#fff;
  box-shadow:0 22px 60px rgba(15,23,42,.28);
  font-size:14px;
  font-weight:900;
  line-height:1.5;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.subscription-limit-toast.show,
.kr-limit-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* Step 8B：订阅申请/订单占位流程 */
.kg-subscription-order-confirm{
  display:grid;
  gap:14px;
}
.kg-subscription-back-btn{
  justify-self:start;
  border:1px solid rgba(148,163,184,.28);
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:9px 13px;
  font-weight:900;
  cursor:pointer;
}
.kg-subscription-order-card{
  border:1px solid rgba(148,163,184,.22);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(180deg,#fff,rgba(248,250,252,.92));
  box-shadow:0 22px 60px rgba(15,23,42,.08);
}
.kg-subscription-order-card.success{
  text-align:center;
  max-width:620px;
  margin:0 auto;
}
.kg-subscription-order-done{
  width:52px;
  height:52px;
  margin:4px auto 12px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#22c55e,#14b8a6);
  font-size:28px;
  font-weight:1000;
  box-shadow:0 18px 40px rgba(34,197,94,.26);
}
.kg-subscription-order-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.kg-subscription-order-head p{
  margin:0 0 4px;
  color:#64748b;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.kg-subscription-order-head h3{
  margin:0;
  color:#0f172a;
  font-size:24px;
}
.kg-subscription-order-head span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--role-primary,#2563eb),var(--role-accent,#22c55e));
  font-size:12px;
  font-weight:1000;
}
.kg-subscription-order-price{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 10px;
}
.kg-subscription-order-price strong{
  color:var(--role-primary,#2563eb);
  font-size:28px;
  font-weight:1000;
}
.kg-subscription-order-price del{color:#94a3b8;font-weight:900;text-decoration-thickness:2px}
.kg-subscription-order-price em{
  padding:3px 8px;
  border-radius:999px;
  color:#fff;
  background:#ef4444;
  font-size:12px;
  font-style:normal;
  font-weight:1000;
}
.kg-subscription-order-desc{
  margin:0 0 14px;
  color:#64748b;
  line-height:1.65;
  font-weight:800;
}
.kg-subscription-order-meta,
.subscription-order-submeta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0;
}
.kg-subscription-order-meta span,
.subscription-order-submeta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.22);
  background:#f8fafc;
  color:#475569;
  font-size:12px;
  font-weight:900;
}
.kg-subscription-order-benefits{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px;
  margin:14px 0;
  padding:0;
  list-style:none;
}
.kg-subscription-order-benefits li{
  padding:9px 10px;
  border-radius:14px;
  background:rgba(37,99,235,.06);
  color:#334155;
  font-size:13px;
  font-weight:900;
}
.kg-subscription-order-actions,
.subscription-order-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
.kg-subscription-order-actions button,
.subscription-order-actions button{
  border:1px solid rgba(148,163,184,.28);
  border-radius:14px;
  padding:10px 14px;
  background:#fff;
  color:#334155;
  font-weight:1000;
  cursor:pointer;
}
.kg-subscription-order-actions button.primary,
.subscription-order-actions button.primary{
  border-color:transparent;
  color:#fff;
  background:linear-gradient(135deg,var(--role-primary,#2563eb),var(--role-accent,#22c55e));
  box-shadow:0 14px 28px color-mix(in srgb,var(--role-primary,#2563eb) 18%,transparent);
}
.subscription-order-actions button:disabled{opacity:.46;cursor:not-allowed;box-shadow:none}
.subscription-order-admin-panel{
  margin-top:18px;
  padding-top:18px;
  border-top:1px dashed rgba(148,163,184,.32);
}
.subscription-order-toolbar{align-items:flex-start}
.subscription-order-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.subscription-order-stats span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  color:#334155;
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.22);
  font-size:12px;
  font-weight:1000;
}
.subscription-order-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.subscription-order-item{
  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  padding:14px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.04);
}
.subscription-order-item.pending{border-color:rgba(245,158,11,.36);background:linear-gradient(180deg,#fff,rgba(255,251,235,.78))}
.subscription-order-item.approved{border-color:rgba(34,197,94,.28)}
.subscription-order-item.cancelled{opacity:.78}
.subscription-order-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.subscription-order-main strong{
  display:block;
  color:#0f172a;
  font-size:16px;
}
.subscription-order-main span,
.subscription-order-item p{
  display:block;
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:800;
  line-height:1.55;
}
.subscription-order-main em{
  flex:0 0 auto;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  color:#fff;
  background:#0f172a;
  font-style:normal;
  font-size:12px;
  font-weight:1000;
}
.subscription-order-item.pending .subscription-order-main em{background:#f59e0b}
.subscription-order-item.approved .subscription-order-main em{background:#22c55e}
.subscription-order-item.cancelled .subscription-order-main em{background:#94a3b8}
@media(max-width:640px){
  .kg-subscription-order-head,
  .subscription-order-main,
  .kg-subscription-order-actions,
  .subscription-order-actions{align-items:stretch;flex-direction:column}
  .kg-subscription-order-actions button,
  .subscription-order-actions button{width:100%}
  .subscription-order-stats{justify-content:flex-start}
}

/* Step 8B 补充：卡密兑换与卡密管理分页 */
.kg-subscription-redeem-panel{
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(59,130,246,.16);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(239,246,255,.9),rgba(255,255,255,.95));
  box-shadow:0 12px 28px rgba(15,23,42,.06);
  display:grid;
  gap:10px;
}
.kg-subscription-redeem-panel strong{display:block;color:#0f172a;font-size:15px;margin-bottom:3px}
.kg-subscription-redeem-panel p{margin:0;color:#64748b;font-size:12px;line-height:1.55}
.kg-subscription-redeem-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.kg-subscription-redeem-form input{
  width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font-weight:800;letter-spacing:.04em;color:#0f172a;background:#fff;
}
.kg-subscription-redeem-form button{border:0;border-radius:12px;padding:10px 14px;background:#2563eb;color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 20px rgba(37,99,235,.18)}
.kg-subscription-redeem-msg{min-height:18px;font-size:12px;color:#dc2626;font-weight:800}
.kg-subscription-redeem-msg.ok{color:#15803d}
.subscription-code-admin-panel{margin-top:18px;border:1px solid rgba(148,163,184,.24);border-radius:20px;background:#fff;padding:16px;box-shadow:0 16px 34px rgba(15,23,42,.06)}
.subscription-code-toolbar{margin-bottom:12px}
.subscription-code-create{display:grid;grid-template-columns:1.2fr .7fr .8fr minmax(180px,1fr) auto;gap:10px;align-items:end;margin-bottom:14px;padding:12px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}
.subscription-code-create label{display:grid;gap:5px;font-size:12px;color:#475569;font-weight:900}
.subscription-code-create input,.subscription-code-create select{border:1px solid #cbd5e1;border-radius:11px;padding:9px 10px;background:#fff;color:#0f172a;font-weight:800;min-width:0}
.subscription-code-create button{border:0;border-radius:12px;padding:10px 14px;background:#2563eb;color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 20px rgba(37,99,235,.17)}
.subscription-code-list{display:grid;gap:10px}
.subscription-code-item{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px;display:grid;gap:8px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.subscription-code-item:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.08);border-color:#bfdbfe}
.subscription-code-item.used{background:#f8fafc}.subscription-code-item.disabled{opacity:.72;background:#f1f5f9}
.subscription-code-main{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.subscription-code-main strong{display:block;color:#0f172a;font-size:15px;letter-spacing:.04em}
.subscription-code-main span{display:block;margin-top:4px;color:#64748b;font-size:12px;font-weight:800}
.subscription-code-main em{font-style:normal;border-radius:999px;padding:4px 9px;background:#dcfce7;color:#166534;font-weight:900;font-size:12px;white-space:nowrap}
.subscription-code-item.used .subscription-code-main em{background:#e0e7ff;color:#3730a3}.subscription-code-item.disabled .subscription-code-main em{background:#e2e8f0;color:#475569}
.subscription-code-submeta{display:flex;gap:8px;flex-wrap:wrap;color:#64748b;font-size:12px}.subscription-code-submeta span{padding:3px 7px;border-radius:999px;background:#f1f5f9}
.subscription-code-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.subscription-code-actions button{border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;padding:7px 10px;font-weight:900;cursor:pointer}.subscription-code-actions button:disabled{opacity:.45;cursor:not-allowed}.subscription-code-actions button[data-code-action="remove"]{color:#dc2626;border-color:#fecaca}
.subscription-code-pagination{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:#475569;font-size:12px;font-weight:900}
.subscription-code-pagination button{border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;padding:7px 10px;font-weight:900;cursor:pointer}.subscription-code-pagination button:disabled{opacity:.45;cursor:not-allowed}.subscription-code-pagination strong{color:#2563eb}
@media(max-width:900px){.subscription-code-create{grid-template-columns:1fr}.kg-subscription-redeem-form{grid-template-columns:1fr}.subscription-code-main{display:grid}.subscription-code-actions{justify-content:flex-start}}


/* C-1.4.3：会员权益弹窗紧凑布局与单行横向浏览 */
.kg-subscription-detail-grid{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 10px;
  scroll-snap-type:x proximity;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(100,116,139,.55) transparent;
  -webkit-overflow-scrolling:touch;
}
.kg-subscription-detail-grid::-webkit-scrollbar{height:8px}
.kg-subscription-detail-grid::-webkit-scrollbar-track{background:transparent}
.kg-subscription-detail-grid::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(100,116,139,.45);
}
.kg-subscription-detail-grid::-webkit-scrollbar-thumb:hover{background:rgba(71,85,105,.65)}
.kg-subscription-purchase-card{
  flex:0 0 276px;
  width:276px;
  min-height:0;
  height:auto;
  scroll-snap-align:start;
}
.kg-subscription-plan-desc{
  min-height:0;
  margin-bottom:0;
}
.kg-subscription-plan-desc:empty,
.kg-subscription-benefit-list:empty{display:none}
.kg-subscription-benefit-list{
  flex:0 0 auto;
  min-height:0;
  justify-content:flex-start;
  margin-top:12px;
}
.kg-subscription-usage-text{
  min-height:0;
  margin-top:12px;
}
.kg-subscription-card-cta{
  margin-top:12px;
}
.kg-subscription-redeem-panel{
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px 12px;
  margin-top:12px;
  padding:10px 12px;
  border-radius:15px;
}
.kg-subscription-redeem-title{
  white-space:nowrap;
}
.kg-subscription-redeem-panel strong{
  margin:0;
  font-size:14px;
}
.kg-subscription-redeem-form{
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.kg-subscription-redeem-form input,
.kg-subscription-redeem-form button{
  min-height:36px;
  padding-top:8px;
  padding-bottom:8px;
}
.kg-subscription-redeem-msg{
  grid-column:1/-1;
  min-height:0;
  margin-top:-1px;
}
.kg-subscription-redeem-msg:empty{display:none}
@media(max-width:640px){
  .kg-subscription-purchase-card{
    flex-basis:min(276px,calc(100vw - 76px));
    width:min(276px,calc(100vw - 76px));
  }
  .kg-subscription-redeem-panel{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .kg-subscription-redeem-form{grid-template-columns:1fr}
  .kg-subscription-redeem-msg{grid-column:auto}
}
