:root{

  --a-bg:#F6F1EA;
  --a-surface:#FFFDF9;
  --a-surface-soft:#FAF6F0;
  --a-surface-muted:#F2EBE3;
  --a-burgundy:#941D35;
  --a-burgundy-dark:#77182A;
  --a-burgundy-soft:#FBF0F2;
  --a-gold:#B58A55;
  --a-gold-soft:#F2E7D8;
  --a-text:#2B2521;
  --a-text-secondary:#71665E;
  --a-text-muted:#A1958A;
  --a-border:#E8DDD2;
  --a-border-strong:#D8C8B9;
  --a-success:#52745F;
  --a-warning:#956A35;
  --a-danger:#A1494A;
  --a-info:#675B61;

  --a-r8:8px;
  --a-r10:10px;
  --a-r12:12px;
  --a-r16:16px;
  --a-r20:20px;
  --a-r24:24px;
  --a-r30:30px;
  --a-pill:999px;

  --a-s1:4px;
  --a-s2:8px;
  --a-s3:12px;
  --a-s4:16px;
  --a-s5:20px;
  --a-s6:24px;
  --a-s8:32px;
  --a-s10:40px;
  --a-s12:48px;
  --a-s16:64px;

  --a-shadow-xs:0 1px 2px rgba(52,39,30,.025),0 3px 10px rgba(52,39,30,.03);
  --a-shadow-sm:0 6px 20px rgba(52,39,30,.055);
  --a-shadow-md:0 16px 44px rgba(52,39,30,.09);
  --a-shadow-lg:0 26px 72px rgba(52,39,30,.14);

  --a-ease:cubic-bezier(.22,.61,.36,1);

  --a-font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  --a-font-editorial:"Songti SC","STSong","SimSun",serif;
  --a-font-en:Georgia,"Times New Roman",serif;

  --bg:var(--a-bg);
  --surface:var(--a-surface);
  --surface-subtle:var(--a-surface-soft);
  --surface-muted:var(--a-surface-muted);
  --text-primary:var(--a-text);
  --text-secondary:var(--a-text-secondary);
  --text-muted:var(--a-text-muted);
  --border:var(--a-border);
  --border-strong:var(--a-border-strong);
  --brand:var(--a-burgundy);
  --brand-hover:var(--a-burgundy-dark);
  --brand-soft:var(--a-burgundy-soft);
  --accent:var(--a-gold);
  --danger:var(--a-danger);
  --danger-soft:#FBF1F0;
  --warning:var(--a-warning);
  --warning-soft:#FBF6ED;
  --success:var(--a-success);
  --success-soft:#F1F6F2;
  --info:var(--a-info);
  --radius-sm:var(--a-r8);
  --radius-md:var(--a-r10);
  --radius-lg:var(--a-r16);
  --shadow-sm:var(--a-shadow-xs);
  --shadow-md:var(--a-shadow-md);
  --space-1:var(--a-s1);
  --space-2:var(--a-s2);
  --space-3:var(--a-s3);
  --space-4:var(--a-s4);
  --space-5:var(--a-s5);
  --space-6:var(--a-s6);
  --space-8:var(--a-s8);

  font-family:var(--a-font-ui);
  color:var(--a-text);
  background:var(--a-bg);
}

*{box-sizing:border-box;}
html, body{min-height:100%;margin:0;}
html{background:var(--a-bg);}
body{
  color:var(--a-text);
  background:var(--a-bg);
  font-size:13px;
  line-height:1.6;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button, input, select, textarea{font:inherit;letter-spacing:0;}
button, a{-webkit-tap-highlight-color:transparent;}
a{color:var(--a-burgundy);text-decoration:none;}
a:hover{color:var(--a-burgundy-dark);}
h1, h2, h3, h4, p{margin-top:0;}
h1, h2, h3, h4{color:var(--a-text);font-weight:650;}
svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}

.hidden, [hidden], .employee-mode-hidden{display:none!important;}
.employee-breakable{overflow-wrap:anywhere;word-break:break-word;}
.text-muted{color:var(--a-text-muted)!important;}
.text-danger{color:var(--a-danger)!important;}
.text-center{text-align:center;}
.mt-8{margin-top:8px;}.mt-16{margin-top:16px;}.mb-8{margin-bottom:8px;}

.brand-mark{
  display:grid;
  width:36px;
  height:36px;
  flex:0 0 36px;
  place-items:center;
  border:1px solid rgba(148,29,53,.16);
  border-radius:var(--a-r10);
  color:var(--a-burgundy);
  background:var(--a-burgundy-soft);
  font:650 16px/1 Georgia,"Times New Roman",serif;
}

.btn{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 16px;
  border:1px solid transparent;
  border-radius:var(--a-r10);
  color:var(--a-text);
  background:transparent;
  font-weight:650;
  line-height:1.2;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .16s var(--a-ease),background-color .16s var(--a-ease),color .16s var(--a-ease),box-shadow .16s var(--a-ease);
}
.btn:hover{text-decoration:none;}
.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none!important;}
.btn-sm{min-height:34px;height:34px;padding:0 12px;font-size:12px;}
.btn-block{width:100%;}
.btn-primary, .btn-accent{
  border-color:var(--a-burgundy);
  color:#fff;
  background:var(--a-burgundy);
  box-shadow:0 6px 16px rgba(148,29,53,.13);
}
.btn-primary:hover, .btn-accent:hover{
  border-color:var(--a-burgundy-dark);
  color:#fff;
  background:var(--a-burgundy-dark);
  box-shadow:0 8px 20px rgba(148,29,53,.17);
}
.btn-secondary, .btn-default{
  border-color:var(--a-border-strong);
  color:var(--a-text-secondary);
  background:var(--a-surface);
}
.btn-secondary:hover, .btn-default:hover{
  border-color:#C8B7A8;
  color:var(--a-text);
  background:#fff;
}
.btn-ghost, .btn-link{color:var(--a-burgundy);background:transparent;}
.btn-ghost:hover, .btn-link:hover{color:var(--a-burgundy-dark);background:var(--a-burgundy-soft);}
.btn-danger{border-color:#E2C6C4;color:var(--a-danger);background:#FBF2F1;}
.btn-danger:hover{border-color:var(--a-danger);color:#8C3C3D;background:#F9EDEC;}

.form-group{min-width:0;margin-bottom:16px;}
.form-group label{
  display:block;
  margin-bottom:7px;
  color:#5F554E;
  font-size:12px;
  font-weight:650;
}
.form-control{
  width:100%;
  min-height:44px;
  padding:9px 12px;
  border:1px solid var(--a-border-strong);
  border-radius:var(--a-r12);
  color:var(--a-text);
  background:#fff;
  box-shadow:none;
  transition:border-color .16s var(--a-ease),box-shadow .16s var(--a-ease),background-color .16s var(--a-ease);
}
.form-control::placeholder{color:#ADA39A;}
.form-control:hover{border-color:#C8B7A8;}
.form-control:focus{
  border-color:var(--a-burgundy);
  outline:0;
  box-shadow:0 0 0 3px rgba(148,29,53,.08);
}
textarea.form-control{min-height:96px;resize:vertical;}
select.form-control{cursor:pointer;}
.icon-button, .dialog-close, .drawer-close{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  padding:0;
  border:1px solid var(--a-border);
  border-radius:var(--a-r10);
  color:var(--a-text-secondary);
  background:var(--a-surface);
  cursor:pointer;
}
.icon-button:hover, .dialog-close:hover, .drawer-close:hover{
  border-color:var(--a-border-strong);
  color:var(--a-burgundy);
  background:#fff;
}
.btn:focus-visible, .icon-button:focus-visible, .form-control:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid rgba(148,29,53,.38);
  outline-offset:2px;
}

.captcha-group{display:flex;gap:8px;align-items:stretch;}
.captcha-group .form-control{min-width:0;}
.captcha-canvas{
  flex:0 0 100px;
  border:1px solid var(--a-border);
  border-radius:var(--a-r12);
  background:var(--a-surface-soft);
  cursor:pointer;
}

.toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.toolbar .form-control{width:auto;min-width:150px;flex:0 1 220px;}
.toolbar .btn-primary:last-child{margin-left:auto;}

.module-toolbar{
  display:flex;
  min-width:0;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:11px 14px;
}
.module-filter-group{
  display:flex;
  min-width:0;
  align-items:center;
  gap:8px;
  flex:1 1 auto;
  flex-wrap:wrap;
}
.module-action-group{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
  flex-wrap:wrap;
  margin-left:auto;
}
.module-toolbar .form-control{width:auto;min-width:128px;max-width:240px;height:36px;min-height:36px;}
.module-toolbar .btn{min-height:36px;height:36px;padding:0 13px;font-size:10.5px;}
.module-toolbar-intro{display:grid;min-width:155px;gap:3px;margin-right:6px;}

.batch-bar, .selection-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid var(--a-border);
  border-radius:var(--a-r12);
  background:var(--a-surface-soft);
}
.data-card{
  border:1px solid var(--a-border);
  border-radius:var(--a-r16);
  background:var(--a-surface);
  box-shadow:var(--a-shadow-xs);
  overflow:visible;
}
.table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;}
.data-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
  color:var(--a-text);
  font-size:12px;
}
.data-table th{
  box-sizing:border-box;
  height:44px;
  padding:10px 13px;
  border-bottom:1px solid var(--a-border);
  color:#786E66;
  background:#FAF7F3;
  font-size:11px;
  font-weight:650;
  text-align:left;
  white-space:nowrap;
}
.data-table td{
  box-sizing:border-box;
  padding:7px 13px;
  border-bottom:1px solid #EFE8E1;
  vertical-align:middle;
}
.data-table tr:last-child td{border-bottom:0;}
.data-table tbody tr:hover td{background:#FDFBF8;}
.data-table td>small, .data-table td strong+small{
  display:block;
  margin-top:2px;
  color:var(--a-text-muted);
  font-size:10px;
  font-weight:400;
}
#pager, .pagination{
  display:flex;
  box-sizing:border-box;
  min-height:46px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:7px;
  padding:6px 12px;
  border-top:1px solid var(--a-border);
  overflow-x:auto;
  white-space:nowrap;
}
#pager button, #pager select, .pagination button, .pagination select{
  flex:0 0 auto;
  min-height:32px;
  border:1px solid var(--a-border);
  border-radius:var(--a-r8);
  background:#fff;
}
.data-table td.actions,
.data-table td.module-row-actions{
  min-width:0;
  white-space:nowrap;
  text-align:left;
  vertical-align:middle;
}
.data-table td.actions>.btn,
.data-table td.module-row-actions>.btn{
  display:inline-flex;
  width:64px;
  min-width:64px;
  height:34px;
  min-height:34px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0 8px;
  font-size:10px;
  line-height:1;
  vertical-align:middle;
}
.data-table td.actions>.btn+.btn,
.data-table td.module-row-actions>.btn+.btn{margin-left:8px;}
.table-action-group{
  display:flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  flex-wrap:nowrap;
  gap:8px;
  white-space:nowrap;
}
.table-action-group>.btn{
  display:inline-flex;
  width:64px;
  min-width:64px;
  height:34px;
  min-height:34px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0 8px;
  font-size:10px;
  line-height:1;
}
.data-table .table-empty-cell{
  height:72px;
  color:var(--a-text-muted);
  font-size:10.5px;
  text-align:center;
}
@media (max-width:700px){
  .module-toolbar{align-items:stretch;flex-direction:column;gap:10px;padding:12px;}
  .module-filter-group{width:100%;}
  .module-action-group{width:100%;justify-content:flex-start;margin-left:0;}
  .module-toolbar .form-control{min-width:min(100%,160px);max-width:100%;flex:1 1 150px;}
}
@media (max-width:520px){
  .module-filter-group{display:grid;grid-template-columns:1fr 1fr;}
  .module-action-group{display:grid;grid-template-columns:1fr 1fr;}
  .module-toolbar .form-control, .module-toolbar .btn{width:100%;max-width:none;}
  .module-toolbar-intro{grid-column:1/-1;}
  #pager, .pagination{justify-content:center;flex-wrap:wrap;}
}
@media (max-width:820px){
  .module-filter-group .form-control, .module-filter-group .date-range{min-width:0;width:100%;}
  .module-filter-group #f-keyword, .module-filter-group #emp-keyword{grid-column:1 / -1;}
  .module-filter-group .date-range{grid-column:1 / -1;}
  .module-filter-group .date-range .form-control{width:100%;min-width:0;}
  .module-filter-group .btn, .module-action-group .btn{width:100%;}
}
@media (max-width:560px){
  .module-filter-group > *, .module-action-group > *{grid-column:1;}
}

.tag, .employee-status, .employee-order-status{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  padding:2px 8px;
  border:1px solid var(--a-border);
  border-radius:var(--a-pill);
  color:var(--a-text-secondary);
  background:var(--a-surface-soft);
  font-size:10px;
  font-weight:650;
  white-space:nowrap;
}
.tag-success, .employee-status.AVAILABLE{border-color:#D6E1DA;color:var(--a-success);background:#F1F6F2;}
.tag-warning{border-color:#EADCC5;color:var(--a-warning);background:#FBF7EF;}
.tag-danger{border-color:#E4C9C6;color:var(--a-danger);background:#FBF2F1;}
.tag-info{border-color:#D7CDD1;color:var(--a-info);background:#F5F1F3;}

dialog{
  width:min(560px,calc(100vw - 32px));
  max-height:calc(100vh - 48px);
  padding:0;
  border:1px solid var(--a-border);
  border-radius:var(--a-r24);
  color:var(--a-text);
  background:var(--a-surface);
  box-shadow:var(--a-shadow-lg);
  overflow:auto;
}
dialog.modal-wide{width:min(760px,calc(100vw - 32px));}
dialog::backdrop{background:rgba(39,31,27,.30);}
.dialog-header, .dialog-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:64px;
  padding:14px 20px;
}
.dialog-header{border-bottom:1px solid var(--a-border);background:#FFFDF9;}
.dialog-header h3{margin:0;font-size:16px;}
.dialog-footer{
  justify-content:flex-end;
  border-top:1px solid var(--a-border);
  background:var(--a-surface-soft);
}
.dialog-content{padding:20px;}

.empty-state{
  display:grid;
  min-height:150px;
  place-items:center;
  align-content:center;
  gap:5px;
  padding:28px;
  color:var(--a-text-muted);
  text-align:center;
}
.empty-state strong{color:var(--a-text-secondary);font-size:13px;}
.error-state{min-height:260px;}
.section-header{
  display:flex;
  min-height:62px;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 16px;
  border-bottom:1px solid var(--a-border);
}
.section-header h3, .section-heading h3{margin:0;font-size:14px;}
.section-header p, .section-heading p{margin:2px 0 0;color:var(--a-text-muted);font-size:11px;}

@media (max-width:430px){.employee-breakable{max-width:100%;}}
@media (max-width:760px){.employee-mode-hidden{display:none!important;}}

.admin-layout{display:flex;min-height:100vh;}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;display:flex;width:232px;flex-direction:column;border-right:1px solid var(--border);background:#f0ede7;}.sidebar-header{display:flex;min-height:74px;align-items:center;gap:11px;padding:16px;border-bottom:1px solid var(--border);}.sidebar-header h1{margin:0;font:650 17px/1.2 Georgia,"Times New Roman",serif;}.sidebar-header p{margin:3px 0 0;color:var(--text-muted);font-size:11px;}.sidebar-close{display:none;margin-left:auto;}.sidebar-nav{flex:1;padding:12px 10px 18px;overflow-y:auto;scrollbar-width:thin;}.nav-group+.nav-group{margin-top:18px;}.nav-group-label{margin:0 10px 6px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.12em;}.sidebar-nav a{display:flex;min-height:38px;align-items:center;gap:10px;margin:2px 0;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-md);color:#635e58;}.sidebar-nav a svg{width:17px;height:17px;color:#827b73;}.sidebar-nav a:hover{color:var(--text-primary);background:rgba(255,255,255,.58);}.sidebar-nav a.active{border-color:var(--border);color:var(--brand);background:var(--surface);box-shadow:var(--shadow-sm);}.sidebar-nav a.active svg{color:var(--brand);}.sidebar-footer{padding:12px;border-top:1px solid var(--border);}.sidebar-footer .user-info{margin-bottom:9px;color:var(--text-secondary);font-size:11px;overflow-wrap:anywhere;}.sidebar-footer .btn{width:100%;}.sidebar-backdrop{display:none;}.main-content{width:calc(100% - 232px);min-width:0;margin-left:232px;}.topbar{position:sticky;z-index:30;top:0;display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:20px;padding:10px 24px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.94);}.topbar-title-wrap{display:flex;min-width:0;align-items:center;gap:12px;}.topbar h2{margin:0;font-size:18px;line-height:1.25;}.topbar p{margin:2px 0 0;color:var(--text-muted);font-size:11px;}.breadcrumb{margin-bottom:2px;color:var(--text-muted);font-size:10px;}.breadcrumb span{margin-left:4px;}.topbar-actions, .admin-account{display:flex;align-items:center;gap:10px;}.account-avatar{width:27px;height:27px;border-radius:50%;background:var(--brand-soft);box-shadow:inset 0 0 0 1px #ead8dc;}.topbar-account{max-width:200px;color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sidebar-toggle{display:none;}.content-body{padding:22px 24px 36px;}

.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px;}.dashboard-hero h1{margin:0 0 3px;font-size:22px;}.dashboard-hero p{margin-bottom:0;color:var(--text-secondary);}.eyebrow{margin-bottom:6px!important;color:var(--accent)!important;font-size:10px!important;font-weight:700;letter-spacing:.12em!important;text-transform:uppercase;}.kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;}.kpi-card{display:flex;min-width:0;align-items:flex-start;gap:10px;padding:15px 13px;border-right:1px solid var(--border);}.kpi-card:last-child{border-right:0;}.kpi-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--brand);background:var(--brand-soft);}.kpi-icon svg{width:15px;height:15px;}.kpi-card span, .kpi-card small{display:block;color:var(--text-muted);font-size:10px;}.kpi-card strong{display:block;margin:1px 0;font-size:20px;line-height:1.2;font-variant-numeric:tabular-nums;}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;}.dashboard-orders{min-width:0;}.task-list{padding:6px 12px 12px;}.task-list button{display:grid;width:100%;grid-template-columns:8px 1fr auto 16px;align-items:center;gap:10px;padding:13px 4px;border:0;border-bottom:1px solid #eeeae4;color:var(--text-primary);background:transparent;text-align:left;cursor:pointer;}.task-list button:last-child{border-bottom:0;}.task-list button:hover{color:var(--brand);}.task-list button svg{width:14px;height:14px;color:var(--text-muted);}.task-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);}.task-dot.warning{background:var(--warning);}.task-dot.info{background:var(--info);}.task-dot.danger{background:var(--danger);}.quick-actions{display:flex;align-items:center;gap:24px;margin-top:16px;padding:15px 17px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);}.section-heading{min-width:110px;}.quick-action-list{display:flex;gap:8px;flex-wrap:wrap;}.quick-action-list button{display:inline-flex;min-height:36px;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);background:var(--surface-subtle);cursor:pointer;}.quick-action-list button:hover{border-color:var(--border-strong);color:var(--brand);background:var(--brand-soft);}.quick-action-list svg{width:15px;height:15px;}

body.drawer-open{overflow:hidden;}.card-detail-drawer-host{position:fixed;z-index:100;inset:0;}.card-detail-drawer-backdrop{position:absolute;inset:0;background:rgba(36,33,30,.35);}.card-detail-drawer{position:absolute;inset:0 0 0 auto;width:min(620px,94vw);overflow:auto;background:var(--surface);box-shadow:-18px 0 48px rgba(47,42,38,.15);}.drawer-header{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px 15px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.97);}.drawer-header h2{margin:2px 0 6px;font-size:20px;}.drawer-kicker{color:var(--text-muted);font-size:10px;letter-spacing:.08em;}.drawer-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 20px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}.drawer-summary>div{min-width:0;padding:12px;border-right:1px solid var(--border);}.drawer-summary>div:last-child{border-right:0;}.drawer-summary span, .drawer-detail-field span{display:block;margin-bottom:5px;color:var(--text-muted);font-size:10px;}.drawer-summary strong{font-size:15px;overflow-wrap:anywhere;}.drawer-tabs{position:sticky;z-index:1;top:78px;display:flex;gap:20px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface);overflow-x:auto;}.drawer-tabs button{padding:11px 0;border:0;border-bottom:2px solid transparent;color:var(--text-secondary);background:none;cursor:pointer;white-space:nowrap;}.drawer-tabs button.active{border-bottom-color:var(--brand);color:var(--brand);}.drawer-content{padding:18px 20px 26px;}.drawer-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}.drawer-detail-field{min-width:0;padding:11px 13px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);}.drawer-detail-field:nth-child(even){border-right:0;}.drawer-detail-field strong{overflow-wrap:anywhere;}.fixed-action-menu, .card-action-popover{position:fixed;z-index:120;min-width:150px;padding:5px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);}.fixed-action-menu button, .card-action-popover button{display:block;width:100%;padding:8px 10px;border:0;border-radius:4px;color:var(--text-primary);background:transparent;text-align:left;cursor:pointer;}.fixed-action-menu button:hover, .card-action-popover button:hover{background:var(--surface-subtle);}.fixed-action-menu .danger, .card-action-popover .danger{color:var(--danger);}

.page-shell{min-height:100vh;padding:28px;}.front-shell{display:grid;place-items:center;}.redeem-app{width:min(1280px,100%);}.visual-brand{display:block;margin-bottom:12px;font:600 13px Georgia,serif;letter-spacing:.1em;}.form-card{width:min(430px,100%);padding:30px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);}.form-card.wide{width:100%;}.front-card{min-height:100%;padding:48px 62px;border:0;border-radius:0;box-shadow:none;}.redemption-mode-tabs{display:flex;gap:32px;margin-bottom:30px;border-bottom:1px solid var(--border);}.redemption-mode-tab{padding:9px 1px 11px;border:0;border-bottom:2px solid transparent;color:var(--text-muted);background:none;font-weight:600;cursor:pointer;}.redemption-mode-tab.active{border-bottom-color:var(--brand);color:var(--brand);}.steps-indicator{display:flex;align-items:flex-start;margin-bottom:38px;}.step-node{display:grid;justify-items:center;gap:5px;color:var(--text-muted);font-size:10px;}.step-dot{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);}.step-dot.active, .step-dot.done{border-color:var(--brand);color:#fff;background:var(--brand);}.step-line{height:1px;flex:1;margin:16px 12px 0;background:var(--border);}.step-line.done{background:var(--brand);}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;}.panel-heading h2{margin-bottom:6px;font-size:21px;}.panel-heading .summary{max-width:470px;margin:0;color:var(--text-secondary);font-size:12px;}.panel-kicker{margin-bottom:5px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}.verify-layout{display:block;}.verify-form{width:100%;}.front-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;}.front-agreement-row{display:flex;align-items:flex-start;gap:8px;margin:3px 0 16px;color:var(--text-muted);font-size:11px;}.front-agreement-row input{margin-top:3px;accent-color:var(--brand);}.rules-link{padding:0;border:0;color:var(--brand);background:none;cursor:pointer;}.front-action-stack{display:grid;gap:10px;}.front-action-stack #logistics-toggle-btn{min-height:auto;padding:8px;color:var(--text-secondary);font-weight:500;}.front-action-stack #logistics-toggle-btn:hover{color:var(--brand);background:transparent;}.front-notice-bar{display:flex;gap:8px;margin-top:15px;padding:10px 11px;border-left:2px solid var(--accent);color:var(--text-secondary);background:#fbf8f2;font-size:11px;}.front-guide{padding-left:18px;border-left:1px solid var(--border);}.guide-title{margin-bottom:12px;color:var(--text-secondary);font-size:11px;font-weight:650;}.redeem-flow-list{display:grid;gap:14px;margin:0;padding:0;list-style:none;color:var(--text-secondary);font-size:11px;}.redeem-flow-list li{display:flex;align-items:center;gap:8px;}.redeem-flow-list span{display:grid;width:22px;height:22px;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--brand);background:var(--surface-subtle);font-size:10px;}.employee-product-card, .employee-benefit-card, .employee-order-card{position:relative;min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);}.employee-product-card:hover{border-color:var(--border-strong);box-shadow:0 7px 20px rgba(47,42,38,.07);}.employee-product-card img{width:100%;aspect-ratio:1.25;border-radius:var(--radius-md);object-fit:cover;background:var(--surface-subtle);}.employee-order-summary, .employee-order-form, .employee-order-detail-section{padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-subtle);}.redeem-split-app.is-flow-mode .employee-flow{min-height:400px;}.employee-sticky-action{position:sticky;bottom:0;padding:12px 0 max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:rgba(255,255,255,.96);}



.visual-brand{display:flex;align-items:center;gap:7px;margin-bottom:19px;color:#3b3430;font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;font-style:normal;font-weight:600;letter-spacing:0;}
.visual-brand i{color:var(--accent);font-style:normal;font-weight:400;}
.visual-brand em{font:500 16px/1.2 Georgia,"Times New Roman",serif;letter-spacing:.02em;}


.redemption-mode-tab{font-size:14px;}
.step-node{font-size:11px;}
.panel-heading h2{font-size:23px;}
.panel-heading .summary{font-size:13px;line-height:1.65;}
.verify-form .form-group label{font-size:13px;}
.front-form-grid{gap:18px 20px;margin-bottom:22px;}
.verify-form .form-group{margin-bottom:0;}
.verify-form .form-control, .verify-form .captcha-group .btn{height:48px;min-height:48px;padding:10px 14px;border-radius:var(--radius-md);font-size:13px;}
.verify-form .captcha-group{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:8px;}
.verify-form .captcha-group .btn{width:116px;padding-inline:10px;white-space:nowrap;}
.front-agreement-row{display:flex;align-items:center;gap:8px;margin:0 0 20px;color:var(--text-secondary);font-size:12px;line-height:1.5;white-space:nowrap;}
.front-agreement-row input{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:var(--brand);}
.front-agreement-row span{display:flex;align-items:center;gap:3px;min-width:0;}
.rules-link{display:inline-flex;align-items:center;padding:0;line-height:inherit;vertical-align:baseline;}
.front-action-stack .btn-primary{height:50px;min-height:50px;}
.front-action-stack #logistics-toggle-btn{margin-top:2px;padding:7px;font-size:14px;font-weight:400;color:var(--text-muted);}












@media (max-width:760px){.front-agreement-row{align-items:flex-start;white-space:normal;}.front-agreement-row input{margin-top:1px;}.front-agreement-row span{display:block;}}

.auth-shell{display:grid;min-height:100vh;place-items:center;align-content:center;gap:22px;padding:28px;}.auth-brand{display:grid;justify-items:center;gap:5px;}.auth-brand strong{font:650 20px Georgia,serif;}.auth-brand span{color:var(--text-muted);font-size:11px;}.auth-card{box-shadow:var(--shadow-md);}.form-heading{margin-bottom:24px;}.form-heading h1{margin-bottom:6px;font-size:21px;}.form-heading .summary{margin:0;color:var(--text-muted);}.logistics-detail-card{padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);}.shipping-timeline{margin:16px 0 0 8px;padding-left:18px;border-left:1px solid var(--border);list-style:none;}.shipping-timeline li{position:relative;padding:0 0 16px 12px;}.shipping-timeline li::before{position:absolute;top:5px;left:-23px;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--surface);content:"";}.shipping-timeline time{display:block;color:var(--text-muted);font-size:10px;}

.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}.stat-card{padding:15px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);}.stat-card .label{color:var(--text-muted);font-size:11px;}.stat-card .value{margin-top:4px;font-size:21px;font-weight:650;}.pool-grid, .selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.pool-item, .selection-item, .guide-card, .security-note{padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);}.balance-change-positive{color:var(--success);}.balance-change-negative{color:var(--danger);}.card-balance-cell{color:var(--brand);font-weight:700;}.card-book-name{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.toast-container{position:fixed;z-index:200;top:20px;left:50%;width:min(340px,calc(100vw - 32px));transform:translateX(-50%);}.toast{margin-bottom:8px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-md);}.toast-success{border-left:3px solid var(--success);}.toast-error{border-left:3px solid var(--danger);}.toast-warning{border-left:3px solid var(--warning);}.toast-info{border-left:3px solid var(--info);}
@media (max-width:1180px){.kpi-strip{grid-template-columns:repeat(3,1fr);}.kpi-card:nth-child(3){border-right:0;}.kpi-card:nth-child(-n/**/+3){border-bottom:1px solid var(--border);}}
.toast-container-dialog{position:absolute;z-index:20;top:16px;left:50%;width:min(420px,calc(100% - 32px));}
@media (max-width:1024px){.sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--shadow-md);}.sidebar-open .sidebar{transform:translateX(0);}.sidebar-close, .sidebar-toggle{display:grid;}.sidebar-backdrop{position:fixed;z-index:40;inset:0;display:block;border:0;background:rgba(36,33,30,.3);opacity:0;visibility:hidden;transition:opacity .2s;}.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible;}.main-content{width:100%;margin-left:0;}.content-body{padding:18px;}.topbar{padding:9px 18px;}.dashboard-main-grid{grid-template-columns:1fr;}.verify-layout{display:block;}.front-guide{display:none;}.redeem-flow-list{grid-template-columns:repeat(4,1fr);}}
@media (max-width:760px){.page-shell, .front-shell, .auth-shell{padding:0;}.redeem-app{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none;}.front-card{min-height:auto;padding:18px 18px max(24px,env(safe-area-inset-bottom));}.front-card::before{display:none;}.steps-indicator{margin-bottom:22px;}.front-form-grid{grid-template-columns:1fr;}.verify-layout{display:block;}.front-guide{margin-top:18px;}.redeem-flow-list{grid-template-columns:repeat(2,1fr);}.form-control, .btn{min-height:44px;}.captcha-group .btn{flex:0 0 auto;}.auth-shell{align-content:start;padding:54px 18px 24px;}.auth-card{width:100%;padding:24px 20px;box-shadow:none;}.drawer-summary{grid-template-columns:repeat(2,1fr);}.drawer-summary>div:nth-child(2){border-right:0;}.drawer-detail-grid{grid-template-columns:1fr;}.drawer-detail-field{border-right:0;}.quick-actions{align-items:flex-start;flex-direction:column;gap:12px;}.dashboard-hero{align-items:flex-start;flex-direction:column;}.topbar-account, .topbar-actions .btn{display:none;}}
@media (max-width:430px){.content-body{padding:14px 12px 24px;}.topbar{padding:8px 12px;}.topbar p, .breadcrumb{display:none;}.kpi-strip{grid-template-columns:repeat(2,1fr);}.kpi-card{border-right:1px solid var(--border)!important;border-bottom:1px solid var(--border);}.kpi-card:nth-child(even){border-right:0!important;}.kpi-card:nth-last-child(-n/**/+2){border-bottom:0;}.toolbar{align-items:stretch;}.toolbar .form-control, .toolbar .btn{width:100%;flex:1 1 100%;}.toolbar .btn-primary:last-child{margin-left:0;}}

.content-body{background:linear-gradient(180deg,#fbfaf8 0,#f7f4ef 100%);}
.toolbar{padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:rgba(255,255,255,.78);box-shadow:0 4px 16px rgba(47,42,38,.04);}
.toolbar .form-control, .toolbar .btn{min-height:40px;}
.data-card{box-shadow:0 8px 24px rgba(47,42,38,.06);}
.data-table{table-layout:auto;}
.data-table .table-ellipsis{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal;line-height:1.55;}
.data-table td>small{line-height:1.45;overflow-wrap:anywhere;}

.data-table tbody tr{transition:background .16s ease;}
.products-table{table-layout:fixed;}
.products-table th:nth-child(1), .products-table td:nth-child(1){width:42px;}
.products-table th:nth-child(2), .products-table td:nth-child(2){width:auto;}
.products-table th:nth-child(3), .products-table td:nth-child(3){width:92px;}
.products-table th:nth-child(4), .products-table td:nth-child(4){width:132px;}
.products-table th:nth-child(5), .products-table td:nth-child(5){width:84px;}
.products-table th:nth-child(6), .products-table td:nth-child(6){width:190px;}
@media (max-width:760px){.content-body{background:var(--surface-subtle);}.toolbar{padding:10px;background:var(--surface);}}
.modal-card-book-form[open]{display:flex;width:min(820px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));flex-direction:column;overflow:hidden;}
.modal-card-book-form .dialog-header{flex:0 0 auto;padding:20px 28px;background:var(--surface);}
.modal-card-book-form .dialog-header h3{font-size:20px;letter-spacing:.01em;}
.modal-card-book-form .dialog-content{min-height:0;flex:1 1 auto;overflow:auto;padding:26px 28px 28px;background:#fcfbf9;scrollbar-width:thin;}
.modal-card-book-form .dialog-footer{flex:0 0 auto;gap:10px;padding:14px 28px;background:var(--surface);}
.modal-card-book-form .dialog-footer .btn{min-width:92px;min-height:42px;}
.modal-card-book-form .dialog-footer .btn-primary{min-width:112px;}
.card-book-form-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--border);}
.card-book-form-kicker{color:var(--brand);font-size:12px;font-weight:700;}
.card-book-form-intro p{margin:0;color:var(--text-muted);font-size:12px;}
.card-book-form-section{margin-bottom:18px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);}
.card-book-form-section:last-of-type{margin-bottom:0;}
.card-book-form-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px;}
.card-book-form-section-head h4{margin:0;color:var(--text-primary);font-size:15px;}
.card-book-form-section-head span{color:var(--text-muted);font-size:11px;}
.card-book-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;}
.card-book-form-grid .form-group{margin:0;}
.card-book-form-grid .form-group-full{grid-column:1/-1;}
.card-book-form-grid .form-control{min-height:44px;background:var(--surface);}
.card-book-form-section .form-help{margin-top:6px;}
.label-optional{color:var(--text-muted);font-size:11px;font-weight:400;}
.modal-card-book-form #cb-stored-fields{margin-bottom:18px;padding:18px;border:1px solid #ead9dc;border-radius:var(--radius-lg);background:var(--brand-soft);}
.modal-card-book-form #cb-stored-fields .form-group{margin:0;}
.modal-card-book-form #cb-stored-fields .form-control{background:rgba(255,255,255,.82);}
.modal-card-book-form .info-callout{margin-top:0;padding:13px 15px;border-left-width:3px;}
@media (max-width:700px){.modal-card-book-form[open]{width:calc(100vw - 24px);max-height:calc(100vh - 24px);}.modal-card-book-form .dialog-header{padding:16px 18px;}.modal-card-book-form .dialog-content{padding:18px;}.modal-card-book-form .dialog-footer{padding:12px 18px;}.card-book-form-intro{align-items:flex-start;flex-direction:column;gap:4px;}.card-book-form-section{padding:14px;}.card-book-form-grid{grid-template-columns:1fr;}.card-book-form-grid .form-group-full{grid-column:auto;}}
.modal-form-dialog[open]{display:flex;width:min(700px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));flex-direction:column;overflow:hidden;}
.modal-form-dialog .dialog-header{flex:0 0 auto;min-height:70px;padding:20px 28px;background:var(--surface);}
.modal-form-dialog .dialog-header h3{font-size:20px;font-weight:700;letter-spacing:0;}
.modal-form-dialog .dialog-content{min-height:0;flex:1 1 auto;overflow:auto;padding:26px 28px 28px;background:#fcfbf9;scrollbar-width:thin;}
.modal-form-dialog .dialog-content>form, .modal-form-dialog .dialog-content>div{max-width:100%;}
.modal-form-dialog .dialog-footer{flex:0 0 auto;gap:10px;padding:14px 28px;background:var(--surface);}
.modal-form-dialog .dialog-footer .btn{min-width:92px;min-height:42px;}
.modal-form-dialog .dialog-footer .btn-primary{min-width:112px;}
.modal-form-dialog .dialog-content>.form-group{margin-bottom:16px;padding:0;}
.modal-form-dialog .dialog-content>.form-group:last-child{margin-bottom:0;}
.modal-form-dialog .dialog-content>.form-group>label, .modal-form-dialog .dialog-content .form-row label{margin-bottom:7px;color:var(--text-secondary);font-size:12px;font-weight:650;}
.modal-form-dialog .dialog-content>.form-group>.form-control, .modal-form-dialog .dialog-content .form-row .form-control{min-height:44px;background:var(--surface);}
.modal-form-dialog .dialog-content>.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-bottom:16px;}
.modal-form-dialog .dialog-content>.form-row .form-group{min-width:0;margin:0;}
.modal-form-dialog .dialog-content .info-callout{margin-top:18px;}
.slider-captcha-field{margin-top:4px;}
.slider-captcha-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;}
.slider-captcha-label label{margin:0!important;}
.slider-captcha-refresh{padding:0;border:0;color:var(--brand);background:transparent;font-size:11px;cursor:pointer;}
.slider-captcha-refresh:hover{text-decoration:underline;}
.slider-captcha{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);}
.slider-captcha-stage{position:relative;width:100%;aspect-ratio:2/1;overflow:hidden;background:#f1eee8;}
.slider-captcha-stage img{position:absolute;display:block;user-select:none;pointer-events:none;}
#captcha-background{inset:0;width:100%;height:100%;object-fit:cover;}
#captcha-piece{left:0;width:13.125%;height:26.25%;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(47,42,38,.24));}
.slider-captcha-track{position:relative;height:48px;padding:5px;background:var(--surface);}
.slider-captcha-hint{display:grid;height:38px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:11px;}
.slider-captcha-handle{position:absolute;z-index:1;top:5px;left:5px;display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid var(--brand);border-radius:var(--radius-sm);color:#fff;background:var(--brand);font-size:22px;line-height:1;cursor:grab;touch-action:none;}
.slider-captcha-handle:active{cursor:grabbing;}
.slider-captcha-handle[data-state="success"]{border-color:var(--success);background:var(--success);}
.slider-captcha-handle[data-state="error"]{border-color:var(--danger);background:var(--danger);}
.slider-captcha-status{min-height:18px;padding-top:5px;color:var(--text-muted);font-size:11px;}
.slider-captcha-status[data-state="success"]{color:var(--success);}
.slider-captcha-status[data-state="error"]{color:var(--danger);}
.captcha-modal{width:min(360px,calc(100vw - 32px));padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 22px 70px rgba(38,31,27,.28);}
.captcha-modal::backdrop{background:rgba(31,27,24,.48);}
.captcha-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);}
.captcha-modal-header h2{margin:0;font-size:18px;color:var(--text-primary);}
.captcha-modal-header .dialog-close{width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);background:var(--surface);font-size:22px;line-height:1;cursor:pointer;}
.captcha-modal-body{padding:18px 20px 20px;}.captcha-modal .slider-captcha-label{font-size:12px;color:var(--text-secondary);}
.captcha-modal .slider-captcha-stage{width:100%;}
@media (max-width:430px){.slider-captcha-track{height:46px;}.slider-captcha-hint{height:36px;}.slider-captcha-handle{width:36px;height:36px;}}
@media (max-width:700px){.modal-form-dialog[open]{width:calc(100vw - 24px);max-height:calc(100vh - 24px);}.modal-form-dialog .dialog-header{min-height:62px;padding:16px 18px;}.modal-form-dialog .dialog-content{padding:18px;}.modal-form-dialog .dialog-footer{padding:12px 18px;}.modal-form-dialog .dialog-content>.form-row{grid-template-columns:1fr;}}
.modal-product-detail{flex-direction:column;}.modal-product-detail[open]{display:flex;}.modal-product-detail .dialog-content{min-height:0;max-height:calc(100vh - 142px);padding:0 18px 18px;overflow:auto;}.modal-product-detail .drawer-tabs{position:sticky;top:0;z-index:1;margin:0 -18px 18px;padding-inline:18px;}.product-detail-section{margin-top:16px;}.product-detail-section h4{margin:0 0 8px;font-size:12px;color:var(--text-secondary);}.product-detail-books{display:grid;gap:8px;}.product-detail-book{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);}.product-detail-book span{color:var(--text-secondary);font-size:12px;white-space:nowrap;}.inventory-table-scroll .inventory-ledger-table{min-width:920px;table-layout:fixed;}.inventory-ledger-table .inventory-ledger-col-type{width:112px;}.inventory-ledger-table .inventory-ledger-col-change,.inventory-ledger-table .inventory-ledger-col-before,.inventory-ledger-table .inventory-ledger-col-after{width:78px;}.inventory-ledger-table .inventory-ledger-col-order{width:170px;}.inventory-ledger-table .inventory-ledger-col-operator{width:92px;}.inventory-ledger-table .inventory-ledger-col-reason{width:auto;}.inventory-ledger-table .inventory-ledger-col-time{width:138px;}.inventory-ledger-table td{overflow:hidden;text-overflow:ellipsis;}.inventory-ledger-table .inventory-ledger-nowrap{white-space:nowrap;}.inventory-ledger-table .inventory-ledger-reason{overflow-wrap:break-word;}
.modal-product-detail .dialog-header, .modal-product-detail .dialog-footer{flex:0 0 auto;}.manual-order-panel>#manual-verify-btn{margin-bottom:14px;}.manual-order-result{margin:0 0 16px;line-height:1.55;}
.product-detail-summary{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:20px;margin:18px 0 0;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);}.product-detail-summary>div{display:grid;gap:4px;}.product-detail-summary .product-detail-product{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;min-width:0}.product-detail-product>img,.product-detail-image-empty{width:56px;height:56px;border:1px solid var(--border);border-radius:10px;background:var(--surface);object-fit:cover}.product-detail-image-empty{display:grid;place-items:center;color:var(--text-muted);font-size:11px}.product-detail-product-copy{display:grid;gap:4px;min-width:0}.product-detail-product-copy strong,.product-detail-product-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-detail-summary span, .product-detail-summary small{color:var(--text-muted);font-size:11px;}.product-detail-summary strong{font-size:16px;}.modal-product-detail .drawer-tabs{position:static;margin:14px 0 18px;padding:0;top:auto;}.modal-product-detail .dialog-content{padding:0 18px 18px;}

.employee-product-card{display:flex;min-height:330px;flex-direction:column;padding:0;overflow:hidden;}.employee-product-image{display:grid;width:100%;height:168px;min-height:168px;padding:12px;border:0;border-bottom:1px solid var(--border);place-items:center;background:var(--surface-subtle);cursor:pointer;}.employee-product-image img, .employee-product-card img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;background:transparent;}.employee-product-body{display:flex;min-height:0;flex:1;flex-direction:column;padding:14px 14px 10px;}.employee-product-card h3{margin:8px 0 5px;color:var(--text-primary);font-size:15px;line-height:1.45;}.employee-product-card p{min-height:36px;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5;}
.confirm-section{padding:18px 0;border-top:1px solid var(--border);}
.product-selector-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto auto auto;gap:8px;align-items:center;margin:0 0 12px;}.product-selector-toolbar .form-control{margin:0;}.pool-money-field{flex:0 0 108px;}.pool-money-field .form-control{width:92px;}.pool-sel-item[hidden]{display:none!important;}
@media (max-width:760px){.employee-product-card{min-height:300px;}.employee-product-image{height:150px;min-height:150px;}.product-selector-toolbar{grid-template-columns:1fr 120px;}.product-selector-toolbar #option-product-page{grid-column:1/3;}.product-selector-toolbar .btn{width:auto;}}

.employee-toolbar .form-control{max-width:240px;}
.employee-toolbar select.form-control{max-width:200px;}
.readonly-field{display:flex;align-items:center;background:#f7f4f1;color:var(--text-secondary);}
.batch-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;}
.import-tabs{display:flex;gap:24px;margin-bottom:18px;border-bottom:1px solid var(--border);}.import-tab{padding:10px 2px 12px;border:0;border-bottom:2px solid transparent;color:var(--text-muted);background:none;font-weight:650;cursor:pointer;}.import-tab.active{border-bottom-color:var(--brand);color:var(--brand);}.page-section-title{margin:0 0 4px;font-size:18px;}.import-panel{padding:20px;}.import-panel .toolbar{margin-bottom:0;}
.batch-choice-grid section{min-width:0;border:1px solid var(--border-color);border-radius:8px;background:#fff;}
.batch-choice-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-color);font-size:14px;}
.batch-choice-list{max-height:240px;overflow:auto;padding:8px;}
.batch-choice-list label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;font-size:14px;}
.batch-choice-list label:hover{background:#f8f5f2;}
@media (max-width:760px){.batch-choice-grid{grid-template-columns:1fr;}.employee-toolbar .form-control, .employee-toolbar select.form-control{max-width:none;}}

.redeem-split-app.is-flow-mode{grid-template-columns:minmax(0,1fr);}
.redeem-split-app.is-flow-mode .redeem-visual-panel{display:none;}
.redeem-split-app.is-flow-mode .front-card{width:100%;max-width:1120px;margin:0 auto;}
.modal-redeem-option[open]{display:flex;max-height:min(760px,calc(100vh - 40px));flex-direction:column;overflow:hidden;}.modal-redeem-option .dialog-header, .modal-redeem-option .dialog-footer{flex:0 0 auto;}.modal-redeem-option .dialog-content{min-height:0;flex:1 1 auto;overflow:auto;}.modal-redeem-option .pool-list{display:grid;gap:8px;max-height:min(420px,42vh);overflow-y:auto;padding-right:4px;}.modal-redeem-option .pool-sel-item{align-items:center;}.modal-redeem-option .pool-sel-product{min-width:0;flex:1;}.modal-redeem-option .pool-money-field{margin:0;}

.redeem-app{width:min(1480px,100%);}






.redeem-option-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-subtle);}
.redeem-option-summary-copy{display:grid;min-width:0;gap:4px;}
.redeem-option-summary-label{color:var(--text-muted);font-size:11px;font-weight:650;}
.redeem-option-summary-copy strong{font-size:17px;line-height:1.35;}
.redeem-option-summary-copy span:last-child{color:var(--text-secondary);font-size:13px;}
.redeem-option-summary .btn{min-height:42px;flex:0 0 auto;}
.redeem-option-summary-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.redeem-option-section{margin-top:22px;}
.redeem-option-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.redeem-option-section-heading h4{margin:0;font-size:15px;}
.redeem-option-section-heading span{color:var(--text-muted);font-size:12px;}
.redeem-option-list{display:grid;gap:8px;max-height:min(560px,55vh);overflow-y:auto;padding-right:4px;}
.redeem-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);}
.redeem-option-main{display:grid;min-width:0;gap:4px;}
.redeem-option-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;}
.redeem-option-main span, .redeem-option-meta{color:var(--text-muted);font-size:11px;}
.redeem-option-meta{display:flex;align-items:center;gap:14px;white-space:nowrap;}
.redeem-option-empty{display:grid;min-height:190px;place-items:center;align-content:center;gap:7px;padding:24px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center;background:var(--surface-subtle);}
.redeem-option-empty strong{color:var(--text-secondary);font-size:14px;}
.redeem-option-empty-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--border-strong);border-radius:50%;color:var(--brand);font-size:22px;line-height:1;}
@media (max-width:700px){.redeem-option-summary{align-items:flex-start;flex-direction:column;}.redeem-option-summary .btn{width:100%;}.redeem-option-row{grid-template-columns:1fr;gap:10px;}.redeem-option-meta{flex-wrap:wrap;}.redeem-option-row .pool-sel-btns{justify-content:flex-start;}}
.redeem-sort-context{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle);}
.redeem-sort-context span,.redeem-sort-toolbar span{color:var(--text-muted);font-size:12px;}
.redeem-sort-context strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.redeem-sort-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:16px 0 10px;}
.redeem-sort-toolbar .form-control{min-width:0;}
.redeem-sort-notice{margin-bottom:10px;padding:9px 12px;border-left:3px solid var(--brand);background:var(--surface-subtle);color:var(--text-secondary);font-size:12px;}
.redeem-sort-list{display:grid;gap:8px;max-height:min(560px,55vh);overflow-y:auto;padding-right:4px;}
.redeem-sort-row{display:grid;grid-template-columns:24px 34px minmax(0,1fr) 62px 126px;align-items:center;gap:10px;min-height:60px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease;}
.redeem-sort-row[draggable=true]{cursor:grab;}
.redeem-sort-row.is-dragging{opacity:.5;}
.redeem-sort-row.is-drag-over{border-color:var(--brand);box-shadow:0 0 0 3px rgba(130,28,45,.08);}
.redeem-sort-handle{color:var(--text-muted);font-size:18px;letter-spacing:-4px;cursor:grab;}
.redeem-sort-position{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center;}
.redeem-sort-product{display:grid;min-width:0;gap:3px;}
.redeem-sort-product strong,.redeem-sort-product small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.redeem-sort-product small{color:var(--text-muted);font-size:11px;}
.redeem-sort-move{display:grid;grid-template-columns:54px 64px;gap:6px;}
.redeem-sort-move input{width:54px;min-width:0;height:34px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);text-align:center;}
.redeem-sort-move input:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px rgba(130,28,45,.08);}
@media (max-width:700px){.redeem-option-summary-actions{width:100%;}.redeem-option-summary-actions .btn{flex:1;}.redeem-sort-row{grid-template-columns:22px 28px minmax(0,1fr);}.redeem-sort-row>[data-pin],.redeem-sort-move{grid-column:3;}.redeem-sort-move{justify-content:start;}}

.option-cover-preview{
  margin-top: 10px;
  width: 132px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--line, #e5ded6);
  border-radius: 8px;
  background: #faf8f5;
}

.option-cover-preview img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.modal-redeem-option{width:min(860px,calc(100vw - 40px));border-radius:16px;background:#fff;}
.modal-redeem-option .dialog-header{padding:20px 28px;background:#fff;}
.modal-redeem-option .dialog-header h3{font-size:20px;letter-spacing:.01em;}
.modal-redeem-option .dialog-content{padding:24px 28px 28px;background:#fcfbf9;scrollbar-width:thin;}
.modal-redeem-option .dialog-content>.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff;}
.modal-redeem-option .dialog-content>.form-grid .form-group{margin:0;}
.modal-redeem-option .dialog-content>.form-grid .form-group-full{grid-column:1/-1;}
.modal-redeem-option .dialog-content>.form-grid label{margin-bottom:7px;color:var(--text-secondary);font-size:12px;font-weight:650;}
.modal-redeem-option .dialog-content>.form-grid .form-control{min-height:44px;background:#fff;}
.modal-redeem-option .dialog-content>.pool-section-title{margin:24px 0 10px;color:var(--text-primary);font-size:15px;font-weight:700;}
.modal-redeem-option .product-selector-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 150px auto auto auto;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;}
.modal-redeem-option .product-selector-toolbar .form-control{min-width:0;min-height:40px;}
.modal-redeem-option .product-selector-toolbar .btn{min-height:40px;white-space:nowrap;}
.modal-redeem-option .pool-list{padding:8px;border:1px solid var(--border);border-radius:12px;background:#f8f6f2;}
.pool-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;color:var(--text-muted);font-size:12px;}
.modal-redeem-option .pool-sel-item{display:grid;grid-template-columns:20px minmax(0,1fr) 86px 118px;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;}
.modal-redeem-option .pool-sel-item + .pool-sel-item{margin-top:8px;}
.modal-redeem-option .pool-sel-product{display:grid;gap:4px;align-content:center;}
.modal-redeem-option .pool-sel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;}
.modal-redeem-option .pool-sel-sku{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px;}
.modal-redeem-option .pool-money-field{display:grid;align-content:center;gap:4px;}
.modal-redeem-option .pool-money-field span{color:var(--text-muted);font-size:11px;}
.modal-redeem-option .pool-money-field .form-control{min-height:38px;padding-inline:9px;}
.modal-redeem-option .dialog-footer{padding:14px 28px;background:#fff;}
.redeem-create-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.redeem-create-intro>div{display:grid;gap:4px;}.redeem-create-intro strong{font-size:16px;}.redeem-create-cardbook{max-width:42%;color:var(--text-muted);font-size:12px;text-align:right;overflow-wrap:anywhere;}
.redeem-create-fields{display:grid;grid-template-columns:140px minmax(180px,1fr) 140px;gap:12px 16px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:#fff;}.redeem-create-fields .form-group{margin:0;}.redeem-create-fields .form-group-wide{grid-column:1/-1;}.readonly-badge, .readonly-value{display:inline-flex;min-height:40px;align-items:center;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--brand);background:var(--brand-soft);font-size:13px;font-weight:650;}.readonly-value{color:var(--text-secondary);background:var(--surface-subtle);font-weight:500;}.redeem-create-fields textarea.form-control{min-height:64px;}
.redeem-create-products{min-width:0;}.redeem-create-products-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px;}.redeem-create-products-head h4{margin:0 0 3px;font-size:15px;}.redeem-create-products-head span{color:var(--text-muted);font-size:11px;}.redeem-create-products-head strong{color:var(--brand);font-size:12px;white-space:nowrap;}.redeem-product-select-actions{display:flex;align-items:center;justify-content:space-between;margin:-3px 0 8px;color:var(--text-secondary);font-size:11px;}.redeem-product-select-actions label{display:flex;align-items:center;gap:6px;}.redeem-product-list{display:grid;gap:7px;max-height:300px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:10px;background:#f8f6f2;}.redeem-product-row{display:grid;grid-template-columns:18px 48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;}.redeem-product-row:hover{border-color:#cbb1b5;background:#fffdfb;}.redeem-product-thumb{display:grid;width:48px;height:48px;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:7px;color:var(--brand);background:var(--brand-soft);font-weight:700;}.redeem-product-thumb img{width:100%;height:100%;object-fit:contain;}.redeem-product-info{display:grid;min-width:0;gap:4px;}.redeem-product-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}.redeem-product-info small{color:var(--text-muted);font-size:11px;}.redeem-product-stock{color:var(--text-secondary);font-size:11px;white-space:nowrap;}.redeem-product-empty{padding:30px;color:var(--text-muted);text-align:center;}
@media (max-width:700px){.modal-redeem-option{width:calc(100vw - 24px);}.modal-redeem-option .dialog-header{padding:16px 18px;}.modal-redeem-option .dialog-content{padding:18px;}.modal-redeem-option .dialog-content>.form-grid{grid-template-columns:1fr;padding:14px;}.modal-redeem-option .dialog-content>.form-grid .form-group-full{grid-column:auto;}.modal-redeem-option .product-selector-toolbar{grid-template-columns:1fr 1fr;}.modal-redeem-option .product-selector-toolbar .text-muted{grid-column:1/-1;}.modal-redeem-option .pool-sel-item{grid-template-columns:20px minmax(0,1fr);gap:8px;}.modal-redeem-option .pool-money-field{grid-column:2;}.modal-redeem-option .dialog-footer{padding:12px 18px;}}
.redeem-component-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;}.redeem-component-summary-list{display:flex;gap:8px;flex-wrap:wrap;}.redeem-component-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #ead9dc;border-radius:999px;background:#fbf3f4;color:#7f1d2d;}.redeem-component-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1;}.redeem-add-component{margin:8px 0 12px;}
.redeem-option-search{display:flex;gap:8px;margin:10px 0;}
.redeem-option-search .form-control{flex:1;min-width:0;}
.redeem-option-pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);color:var(--text-muted);font-size:11px;}
.redeem-option-pagination .btn{min-width:32px;}
.redeem-product-row.is-disabled{opacity:.55;cursor:not-allowed;background:#f7f5f2;}

.modal-redeem-option .form-help{display:block;margin-top:5px;color:var(--text-muted);font-size:11px;}

 .redeem-option-title{display:flex;align-items:center;gap:6px;min-width:0;}
 .redeem-option-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .redeem-option-rename{padding:0!important;color:var(--brand)!important;font-size:11px;white-space:nowrap;}
 .redeem-option-rename-input{min-width:180px;min-height:32px;}
.redeem-option-rename-actions{display:inline-flex;gap:5px;white-space:nowrap;}

.toast-container, #global-toast-root{position:fixed;z-index:2000;inset:20px auto auto 50%;width:min(380px,calc(100vw - 32px));margin:0;padding:0;border:0;background:transparent;overflow:visible;transform:translateX(-50%);pointer-events:none;isolation:isolate;filter:none;opacity:1;}
.toast-container:popover-open{display:block;}.toast-container .toast{pointer-events:auto;}
.toast-container{isolation:isolate;filter:none;overflow:visible;pointer-events:none;}
.toast{animation:global-toast-in 180ms ease-out both;}
@keyframes global-toast-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.toast{animation:none!important;transition:none!important;}}
.modal-redeem-option .redeem-edit-product{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.modal-redeem-option .redeem-product-thumb{display:grid;width:56px;height:56px;flex:0 0 56px;place-items:center;overflow:hidden;border-radius:10px;background:var(--surface-subtle);color:var(--brand);font-weight:700;}
.modal-redeem-option .redeem-product-thumb img{width:100%;height:100%;object-fit:cover;}
.modal-redeem-option .redeem-product-info{display:grid;min-width:0;gap:4px;}
.modal-redeem-option .redeem-product-info strong{display:-webkit-box;overflow:hidden;color:var(--text-primary);-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.modal-redeem-option .redeem-product-info small{overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;}
.modal-redeem-option .redeem-edit-inline{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.modal-redeem-option .redeem-edit-fields{display:block!important;}
.modal-redeem-option .redeem-edit-fields>.form-group{margin:0 0 18px;}
.modal-redeem-option .redeem-edit-fields>.form-group:last-child{margin-bottom:0;}
.modal-redeem-option .redeem-edit-inline .form-group{min-width:0;margin:0;}
.modal-redeem-option .input-with-suffix{width:100%;}
.modal-redeem-option .input-with-suffix .form-control{min-width:0;flex:1;}
.status-segmented{display:flex;gap:8px;}
.status-segment{min-width:96px;padding:10px 18px;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);background:var(--surface);cursor:pointer;transition:160ms ease;}
.status-segment.active{border-color:var(--brand);color:var(--brand);background:#fbf0f1;box-shadow:0 0 0 2px rgba(139,31,51,.08);}
@media (max-width:700px){.modal-redeem-option .redeem-edit-inline{grid-template-columns:1fr;}}
.modal-redeem-option .redeem-edit-inline{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;max-width:100%;box-sizing:border-box;}
.modal-redeem-option .redeem-edit-inline>*{min-width:0;width:100%;box-sizing:border-box;}
.modal-redeem-option .field-control{position:relative;display:block;width:100%;height:48px;max-width:100%;box-sizing:border-box;}
.modal-redeem-option .field-control .form-control{width:100%;height:48px;box-sizing:border-box;border-radius:10px;padding-right:16px;}
.modal-redeem-option .field-control-suffix .form-control{padding-right:54px;}
.modal-redeem-option .field-control-prefix .form-control{padding-left:42px;}
.modal-redeem-option .field-control>span{position:absolute;z-index:1;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;line-height:1;}
.modal-redeem-option .field-control-suffix>span{right:16px;}
.modal-redeem-option .field-control-prefix>span{left:16px;}
.modal-redeem-option input[type=number]{appearance:textfield;-moz-appearance:textfield;}
.modal-redeem-option input[type=number]::-webkit-inner-spin-button, .modal-redeem-option input[type=number]::-webkit-outer-spin-button{margin:0;appearance:none;-webkit-appearance:none;}
.modal-redeem-option .field-control:focus-within{border-radius:10px;}
@media (max-width:719px){.modal-redeem-option .redeem-edit-inline{grid-template-columns:minmax(0,1fr);gap:0;}.modal-redeem-option .redeem-edit-inline>.form-group{margin-bottom:18px;}.modal-redeem-option .redeem-edit-inline>.form-group:last-child{margin-bottom:0;}}
.redeem-inline-row{display:grid;grid-template-columns:minmax(220px,1fr) 62px 94px 56px;align-items:center;gap:8px;min-width:0;min-height:72px;padding:14px 0;border-bottom:1px solid #eee8df;background:#fff;transition:background-color 160ms ease;}
.redeem-inline-row:hover{background:#fdfbf8;}.redeem-inline-row:focus-within{background:#fcfaf7;}
.redeem-inline-name, .redeem-inline-row .field-control{width:100%;min-width:0;box-sizing:border-box;}
.redeem-inline-name-wrap{position:relative;display:block;min-width:0;}
.redeem-inline-name-wrap .redeem-inline-name{padding-right:66px;}
.redeem-inline-status{position:absolute;right:9px;top:50%;transform:translateY(-50%);padding:3px 7px;border:1px solid #e4c9cf;border-radius:999px;background:#fff5f7;color:var(--brand);font-size:11px;font-weight:650;line-height:1;pointer-events:none;}
.redeem-inline-name{width:100%;height:42px;box-sizing:border-box;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary);font-size:14px;font-weight:600;outline:none;transition:160ms ease;}
.redeem-inline-name:hover, .redeem-inline-name:focus{border-color:var(--border-strong);background:#fff;}.redeem-inline-name:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(139,31,51,.08);}
.redeem-inline-row .field-control{position:relative;width:100%;height:42px;min-width:0;box-sizing:border-box;}.redeem-inline-row .field-control .form-control{width:100%;height:42px;box-sizing:border-box;border-radius:8px;font-size:12px;font-variant-numeric:tabular-nums;}.redeem-inline-row .field-control>i{position:absolute;z-index:1;top:50%;transform:translateY(-50%);font-style:normal;line-height:1;color:var(--text-muted);pointer-events:none;}.redeem-inline-row .field-control-suffix .form-control{padding-right:20px;padding-left:6px;text-align:center;}.redeem-inline-row .field-control-prefix .form-control{padding-right:6px;padding-left:20px;text-align:center;}.redeem-inline-row .field-control-suffix>i{right:6px;}.redeem-inline-row .field-control-prefix>i{left:7px;}
.redeem-inline-row input[type=number]{appearance:textfield;-moz-appearance:textfield;}
.redeem-inline-row input[type=number]::-webkit-inner-spin-button, .redeem-inline-row input[type=number]::-webkit-outer-spin-button{margin:0;appearance:none;-webkit-appearance:none;}
.redeem-inline-remove{display:inline-flex;width:56px;height:34px;align-items:center;justify-content:center;justify-self:end;padding:0;border:1px solid #E2C8CE;border-radius:8px;color:var(--brand);background:#FFF9FA;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap;transition:border-color 160ms ease,background-color 160ms ease,color 160ms ease;}.redeem-inline-remove:hover{border-color:#C98E9B;color:var(--brand);background:#FBEFF2;}.redeem-inline-remove:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(139,31,51,.10);}
.redeem-inline-saved{grid-column:3;color:var(--success);font-size:11px;white-space:nowrap;}
@media (max-width:760px){.redeem-inline-row{grid-template-columns:minmax(0,1fr) 60px 90px 56px;gap:7px;}.redeem-inline-saved{display:none;}}
@media (max-width:560px){.redeem-inline-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;}.redeem-inline-row .redeem-inline-name-wrap{grid-column:1/-1;}.redeem-inline-remove{justify-self:start;}.redeem-inline-saved{grid-column:2;display:inline;}}



.modal-redeem-option{width:min(960px,calc(100vw - 32px));}
.redeem-edit-product{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle);}
.redeem-edit-product .redeem-product-info{flex:1;}.redeem-edit-fields{grid-template-columns:minmax(220px,1.4fr) minmax(150px,.7fr) minmax(150px,.7fr);}
.input-with-suffix{display:flex;align-items:center;}.input-with-suffix .form-control{border-radius:var(--radius-md) 0 0 var(--radius-md);}.input-with-suffix>span{display:grid;min-width:42px;min-height:40px;place-items:center;border:1px solid var(--border-strong);border-left:0;border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-muted);background:var(--surface-subtle);}
@media (max-width:700px){.redeem-edit-fields{grid-template-columns:1fr;}.redeem-edit-fields .form-group-wide{grid-column:auto;}}

.settlement-breakdown{margin:14px 0 16px;padding:14px 0 0;border-top:1px solid var(--border);}
.settlement-title{margin-bottom:8px;color:var(--text-primary);font-size:13px;font-weight:650;}
.settlement-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:5px 0;color:var(--text-secondary);font-size:12px;}
.settlement-row strong{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums;}
.settlement-total{margin-top:3px;padding-top:8px;border-top:1px solid var(--border);}
.settlement-total strong{color:var(--brand);font-weight:700;}

body{background:linear-gradient(180deg,#f4efe9 0%,#eee7df 100%);color:var(--text-primary);}
.front-shell{display:block;padding:24px 28px 40px;}
.redeem-app{width:min(1480px,calc(100vw - 56px));margin:0 auto;}


.redeem-split-app.is-flow-mode{display:block!important;width:100%!important;grid-template-columns:none!important;}
.redeem-split-app.is-flow-mode .redeem-visual-panel{display:none!important;}
.redeem-split-app.is-flow-mode .redeem-work-panel{display:block!important;width:100%!important;max-width:none!important;}
.redeem-split-app.is-flow-mode .front-card{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:42px clamp(36px,4.5vw,72px) 34px!important;box-sizing:border-box;}

.redemption-mode-tabs{max-width:520px;margin-bottom:26px;border-bottom:1px solid #eadfd6;}

.steps-indicator{width:min(620px,100%);margin:0 0 42px;}
.step-node{gap:8px;font-size:11px;}
.step-dot{width:38px;height:38px;border-color:#dfd2c6;background:#fff;font-size:11px;box-shadow:0 3px 10px rgba(69,48,35,.04);}
.step-dot.active, .step-dot.done{box-shadow:0 6px 18px rgba(143,33,55,.18);}
.step-line{margin-top:19px;background:#e8ddd4;}

.panel-heading{align-items:flex-end;margin-bottom:28px;}
.panel-kicker{margin-bottom:7px;color:#ad7b45;font-size:11px;letter-spacing:.16em;}
.panel-heading h2{margin:0;font-size:30px;line-height:1.25;letter-spacing:-.02em;}
.select-counter{border:1px solid #ead5da;border-radius:999px;padding:8px 14px;color:var(--brand);background:#fbf1f3;font-size:12px;font-weight:650;}

#redeem-rules-modal[open]{border:1px solid #e8ddd4;border-radius:20px;box-shadow:0 28px 80px rgba(39,25,16,.22);}

@media (min-width:1100px) and (max-width:1439px){
  .redeem-split-app.is-flow-mode .front-card{padding-inline:40px!important;}

}
@media (min-width:768px) and (max-width:1099px){
  .redeem-app{width:calc(100vw - 32px);}
  .redeem-split-app.is-flow-mode .front-card{padding:32px 24px!important;}

}
@media (max-width:767px){
  .front-shell{padding:0;}
  .redeem-app{width:100%;}

  .redeem-split-app.is-flow-mode .front-card{padding:24px 16px!important;}
  .panel-heading h2{font-size:24px;}

}








.redeem-split-app.is-flow-mode{
  position:relative;
  width:min(1480px,calc(100vw - 56px))!important;
  min-height:min(900px,calc(100vh - 56px));
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.52)!important;
  border-radius:30px!important;
  background:rgba(255,250,246,.14)!important;
  box-shadow:0 28px 88px rgba(43,25,18,.20),inset 0 1px 0 rgba(255,255,255,.64)!important;

}
.redeem-split-app.is-flow-mode::before{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  content:"";
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,250,246,.04));
}
.redeem-split-app.is-flow-mode .redeem-work-panel{
  position:relative;
  z-index:1;
  background:transparent!important;
}
.redeem-split-app.is-flow-mode .front-card{
  position:relative;
  min-height:min(900px,calc(100vh - 56px));
  border:0!important;
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,250,246,.38))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;

}

.redeem-split-app.is-flow-mode .redemption-mode-tabs{
  border-bottom-color:rgba(97,66,53,.16)!important;
}
.redeem-split-app.is-flow-mode .step-dot{
  border-color:rgba(118,85,69,.22)!important;
  background:rgba(255,255,255,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84),0 5px 14px rgba(70,44,31,.04);

}
.redeem-split-app.is-flow-mode .step-dot.active, .redeem-split-app.is-flow-mode .step-dot.done{
  border-color:var(--brand)!important;
  color:#fff!important;
  background:var(--brand)!important;
  box-shadow:0 8px 22px rgba(143,33,55,.20)!important;
}
.redeem-split-app.is-flow-mode .step-line{background:rgba(106,75,61,.16)!important;}
.redeem-split-app.is-flow-mode .step-line.done{background:var(--brand)!important;}
.redeem-split-app.is-flow-mode .panel-heading h2{color:#2b241f;}
.redeem-split-app.is-flow-mode .panel-kicker{color:#9b6e42;}
.redeem-split-app.is-flow-mode .select-counter{
  border:1px solid rgba(255,255,255,.60)!important;
  background:rgba(255,255,255,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74),0 6px 18px rgba(71,45,32,.045);

}

.redeem-split-app.is-flow-mode #order-settlement-summary>*{
  border-color:rgba(255,255,255,.55)!important;
  background:rgba(255,255,255,.40)!important;

}

#redeem-rules-modal[open]{
  border:1px solid rgba(255,255,255,.68)!important;
  background:linear-gradient(150deg,rgba(255,255,255,.80),rgba(255,250,246,.66))!important;
  box-shadow:0 30px 90px rgba(39,25,16,.28),inset 0 1px 0 rgba(255,255,255,.92)!important;

}
#redeem-rules-modal::backdrop{
  background:rgba(34,22,17,.26)!important;

}

@media (max-width:760px){

  .redeem-split-app.is-flow-mode{
    width:100%!important;
    min-height:100vh;
    border:0!important;
    border-radius:0!important;
    background:rgba(255,250,246,.10)!important;
    box-shadow:none!important;
  }
  .redeem-split-app.is-flow-mode .front-card{
    min-height:100vh;
    background:rgba(255,255,255,.52)!important;

  }

}

.redeem-split-app.is-flow-mode{
  background:rgba(255,250,246,.08)!important;
  box-shadow:0 26px 82px rgba(43,25,18,.18),inset 0 1px 0 rgba(255,255,255,.54)!important;

}
.redeem-split-app.is-flow-mode::before{
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,250,246,.015))!important;
}
.redeem-split-app.is-flow-mode .front-card{
  background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,250,246,.20))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.56)!important;

}

.redeem-split-app.is-flow-mode .panel-heading{
  align-items:flex-end;
  margin-bottom:20px;
}
.redeem-split-app.is-flow-mode .panel-heading .summary{
  max-width:360px;
  text-align:right;
}
.redeem-split-app.is-flow-mode .select-counter{
  background:rgba(255,255,255,.54)!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 8px 22px rgba(71,45,32,.05)!important;
}

@media (max-width:760px){
  .redeem-split-app.is-flow-mode .front-card{
    background:linear-gradient(145deg,rgba(255,255,255,.52),rgba(255,250,246,.32))!important;

  }

  .redeem-split-app.is-flow-mode .panel-heading{
    align-items:flex-start;
  }
  .redeem-split-app.is-flow-mode .panel-heading .summary{
    text-align:left;
  }
}



/* ==========================================================
   UI-A Homepage Form Consistency — RC2.2
   One component system for 礼品卡兑换 / 手机号登录.
   ========================================================== */

.front-shell:has(.redeem-split-app:not(.is-flow-mode)){
  min-height:100vh;
  padding:20px;
  background:#F1ECE6;
}
.redeem-split-app:not(.is-flow-mode){
  --home-title-size:23px;
  --home-summary-size:10px;
  --home-label-size:10px;
  --home-input-size:11px;
  --home-help-size:9.5px;
  --home-input-height:48px;
  --home-primary-height:50px;
  --home-primary-size:13px;
  --home-secondary-size:10.5px;
  --home-field-gap:16px;
  --home-radius:10px;
  position:relative;
  display:block;
  width:min(1480px,calc(100vw - 40px));
  min-height:min(920px,calc(100vh - 40px));
  margin:0 auto;
  border:1px solid rgba(181,138,85,.18);
  border-radius:30px;
  background:#D9C6B5;
  box-shadow:0 24px 70px rgba(62,45,35,.13);
  overflow:hidden;
}

/* Shared brand styles are kept only because logistics.html still uses them. */
.a-home-brand{display:inline-flex;width:max-content;align-items:center;gap:10px;color:#483B33}
.a-home-brand:hover{color:#483B33}
.a-home-brand-mark{display:grid;width:38px;height:38px;place-items:center;border:1px solid #DCC4A4;border-radius:50%;color:#A77C4E;font:500 20px/1 Georgia,serif}
.a-home-brand-copy{display:grid;gap:1px}
.a-home-brand-copy strong{font:650 15px/1.2 "Songti SC","SimSun",serif;letter-spacing:.08em}
.a-home-brand-copy small{color:#A58666;font:600 7px/1.2 Georgia,serif;letter-spacing:.12em}

.redeem-split-app:not(.is-flow-mode) .redeem-visual-panel{
  position:absolute;z-index:1;inset:0;min-height:100%;overflow:hidden;background:#D9C6B5;
}
.redeem-split-app:not(.is-flow-mode) .redeem-visual-image{position:absolute;inset:0;display:block!important}
.redeem-split-app:not(.is-flow-mode) .redeem-visual-image img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:50% 51%;transform:scale(1.015);
}
.redeem-split-app:not(.is-flow-mode) .redeem-visual-panel::after{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(251,244,234,.52) 0%,rgba(251,244,234,.22) 35%,rgba(67,43,31,.03) 63%,rgba(64,38,28,.12) 100%),
    linear-gradient(180deg,rgba(255,251,246,.05) 52%,rgba(60,34,24,.13) 100%);
  content:"";pointer-events:none;
}

.redeem-split-app:not(.is-flow-mode) .redeem-visual-copy{
  position:absolute;z-index:3;top:15%;left:6.3%;width:min(470px,37vw);
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.redeem-split-app:not(.is-flow-mode) .redeem-visual-copy h1{
  margin:0 0 22px;color:#522B21;
  font:650 clamp(42px,4vw,62px)/1.17 "Songti SC","SimSun",serif;
  letter-spacing:.05em;text-shadow:0 1px 0 rgba(255,255,255,.28);
}
.redeem-split-app:not(.is-flow-mode) .emotional-hero-title__slot{
  position:relative;display:block;block-size:1.2em;min-inline-size:0;
  font-size:.72em;font-weight:500;white-space:nowrap;
}
.redeem-split-app:not(.is-flow-mode) .emotional-hero-title__slot > span{
  display:inline-block;clip-path:inset(0 0 0 0);
}
.emotional-hero-title__slot > span.is-withdrawing{animation:emotionalHeroWithdraw 460ms ease-in both;}
.emotional-hero-title__slot > span.is-revealing{animation:emotionalHeroReveal 760ms cubic-bezier(.22,.61,.36,1) both;}
.emotional-hero-title__slot > i{
  position:relative;display:inline-block;width:3px;height:3px;margin-left:7px;border-radius:50%;
  background:#b99455;vertical-align:middle;opacity:0;
}
.emotional-hero-title__slot > span.has-spark + i{animation:emotionalHeroSpark 420ms ease-out both;}
@keyframes emotionalHeroWithdraw{to{clip-path:inset(0 100% 0 0);}}
@keyframes emotionalHeroReveal{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes emotionalHeroSpark{0%,100%{opacity:0;transform:scale(.7);}50%{opacity:.8;transform:scale(1.15);}}
.emotional-hero-ambience{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;}
.emotional-hero-gift{
  position:absolute;display:block;width:22px;height:22px;box-sizing:border-box;opacity:.18;
  animation:emotionalHeroDrift var(--drift-duration) ease-in-out both;
  transition:opacity 500ms ease,transform 500ms cubic-bezier(.22,.61,.36,1);
}
.emotional-hero-gift--box{width:19px;height:17px;border:1px solid #956f55;background:rgba(255,252,245,.7);box-shadow:inset 8px 0 0 rgba(121,35,54,.23);}
.emotional-hero-gift--box::after{content:"";position:absolute;left:8px;top:-4px;width:2px;height:24px;background:#792336;}
.emotional-hero-gift--ribbon{width:5px;height:25px;border:1px solid rgba(121,35,54,.6);border-radius:45% 20% 40% 25%;transform:rotate(20deg);}
.emotional-hero-gift--seal{width:21px;height:21px;border:1px solid #b99455;background:rgba(255,250,239,.55);transform:rotate(45deg);}
.emotional-hero-gift--seal::after{content:"礼";position:absolute;inset:0;color:#876b45;font:10px/20px "Songti SC",serif;text-align:center;transform:rotate(-45deg);}
.emotional-hero-gift--flower{width:7px;height:7px;border-radius:50%;background:#c5a065;box-shadow:6px 0 #c5a065,-6px 0 #c5a065,0 6px #c5a065,0 -6px #c5a065;}
.emotional-hero-gift--moon{width:21px;height:21px;border-radius:50%;box-shadow:4px 0 0 #a88b63;}
.emotional-hero-gift--spark{width:2px;height:22px;background:#b99455;}
.emotional-hero-gift--spark::after{content:"";position:absolute;left:-10px;top:10px;width:22px;height:2px;background:#b99455;}
@keyframes emotionalHeroDrift{from{opacity:.08;translate:0 10px;}35%{opacity:.18;}to{opacity:.04;translate:var(--drift-x) -28px;}}
.emotional-hero-focused .emotional-hero-gift{opacity:.15;animation-duration:calc(var(--drift-duration) * 1.3);}
.emotional-hero-resolving .emotional-hero-gift{animation-duration:calc(var(--drift-duration) * 1.3);}
.emotional-hero-converging .emotional-hero-gift{animation:none;opacity:0;transform:translate(var(--converge-x),var(--converge-y)) scale(.7);}
@media(max-width:820px){.redeem-split-app:not(.is-flow-mode) .emotional-hero-title__slot{font-size:.74em;}}
@media(prefers-reduced-motion:reduce){
  .emotional-hero-title__slot > span{animation:none;clip-path:none;opacity:1;transition:opacity 160ms ease;}
  .emotional-hero-title__slot > span.is-withdrawing{animation:none;opacity:0;transition-duration:120ms;}
  .emotional-hero-title__slot > span.is-revealing{animation:none;opacity:1;transition-duration:160ms;}
  .emotional-hero-title__slot > span.has-spark + i{animation:none;opacity:0;}
  .emotional-hero-gift{animation:none;}
  .emotional-hero-converging .emotional-hero-gift{transition:opacity 220ms ease;}
}
.redeem-split-app:not(.is-flow-mode) .a-visual-kicker{
  margin:0 0 25px;color:#664B3B;font-size:12px;font-weight:650;letter-spacing:.08em;
}
.redeem-split-app:not(.is-flow-mode) .a-visual-en{
  display:block;color:#977858;font:600 9px/1.65 Georgia,"Times New Roman",serif;letter-spacing:.25em;
}

.redeem-split-app:not(.is-flow-mode) .a-visual-trust{
  position:absolute;z-index:3;bottom:7.5%;left:6.3%;display:grid;width:min(640px,48vw);
  grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(106,75,53,.18);
  border-bottom:1px solid rgba(106,75,53,.13);background:rgba(255,249,241,.18);
}
.redeem-split-app:not(.is-flow-mode) .a-visual-trust>span{
  display:grid;min-width:0;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;padding:12px 16px 12px 0;
}
.redeem-split-app:not(.is-flow-mode) .a-visual-trust>span+span{padding-left:16px;border-left:1px solid rgba(106,75,53,.14)}
.redeem-split-app:not(.is-flow-mode) .a-visual-trust i{display:grid;width:30px;height:30px;place-items:center;color:#8B5D3C;font-size:19px;font-style:normal}
.redeem-split-app:not(.is-flow-mode) .a-visual-trust em{display:grid;gap:2px;min-width:0;font-style:normal}
.redeem-split-app:not(.is-flow-mode) .a-visual-trust b{color:#5E4636;font-size:9.5px}
.redeem-split-app:not(.is-flow-mode) .a-visual-trust small{color:#8F7B6D;font-size:8px}

.redeem-split-app:not(.is-flow-mode) .redeem-work-panel{
  position:absolute;z-index:8;top:clamp(58px,7vh,84px);right:clamp(34px,4.7vw,72px);
  display:block;width:min(470px,35.5vw);max-width:470px;background:transparent;
}
.redeem-split-app:not(.is-flow-mode) .front-card{
  width:100%;min-height:0;margin:0;padding:26px 30px 24px;
  position:relative;overflow:hidden;isolation:isolate;
  border:1px solid rgba(255,255,255,.62);border-radius:22px;
  background:linear-gradient(145deg,rgba(255,253,249,.72),rgba(255,248,242,.58));
  -webkit-backdrop-filter:blur(24px) saturate(1.18);
  backdrop-filter:blur(24px) saturate(1.18);
  box-shadow:0 26px 68px rgba(62,39,28,.18),inset 0 1px 0 rgba(255,255,255,.86),inset 0 0 0 1px rgba(171,132,101,.04);
}

.redeem-split-app:not(.is-flow-mode) .front-card::before{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(circle at 86% 6%,rgba(255,255,255,.46),transparent 32%),
    linear-gradient(135deg,rgba(255,255,255,.16),transparent 46%);
  content:"";
}
.redeem-split-app:not(.is-flow-mode) .front-card::after{
  position:absolute;right:-70px;top:-88px;width:220px;height:220px;z-index:-1;
  border:1px solid rgba(158,111,82,.10);border-radius:50%;content:"";pointer-events:none;
}
.redeem-split-app:not(.is-flow-mode) .front-steps{display:none!important}
.redeem-split-app:not(.is-flow-mode) .redemption-mode-tabs{display:flex;gap:28px;margin:0 0 26px;padding:0;border-bottom:1px solid rgba(158,127,105,.22)}
.redeem-split-app:not(.is-flow-mode) .redemption-mode-tab{
  position:relative;min-height:38px;padding:0 0 11px;border:0;color:#8A7F77;background:transparent;font-size:10.5px;font-weight:650;
}
.redeem-split-app:not(.is-flow-mode) .redemption-mode-tab.active{color:var(--a-burgundy)}
.redeem-split-app:not(.is-flow-mode) .redemption-mode-tab.active::after{
  position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--a-burgundy);content:"";
}

/* 主标题两种模式完全统一。 */
.redeem-split-app:not(.is-flow-mode) .verify-login-heading{margin:0 0 28px;text-align:left}
.redeem-split-app:not(.is-flow-mode) .verify-login-heading>div{display:block}
.redeem-split-app:not(.is-flow-mode) .verify-login-heading h2, .redeem-split-app:not(.is-flow-mode) .employee-login-panel .panel-heading h2{
  margin:0 0 10px;color:#2F2926;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:var(--home-title-size);font-weight:700;line-height:1.25;letter-spacing:0;
}
.redeem-split-app:not(.is-flow-mode) .verify-login-heading .summary, .redeem-split-app:not(.is-flow-mode) .employee-login-panel .panel-heading .summary{
  margin:0;color:#8F837A;font-size:var(--home-summary-size);line-height:1.65;
}

.redeem-split-app:not(.is-flow-mode) .verify-layout, .redeem-split-app:not(.is-flow-mode) .verify-form{display:block;width:100%}
.redeem-split-app:not(.is-flow-mode) .front-form-grid{display:grid;grid-template-columns:1fr;gap:var(--home-field-gap)}
.redeem-split-app:not(.is-flow-mode) .form-group{margin:0}
.redeem-split-app:not(.is-flow-mode) .form-group label{display:block;margin-bottom:8px;color:#514740;font-size:var(--home-label-size);font-weight:650;line-height:1.4}
.redeem-split-app:not(.is-flow-mode) .form-control{
  min-height:var(--home-input-height);height:var(--home-input-height);padding:0 14px;
  border:1px solid rgba(180,146,123,.34);border-radius:var(--home-radius);color:#4D423B;
  background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,252,248,.50));
  -webkit-backdrop-filter:blur(10px) saturate(1.08);backdrop-filter:blur(10px) saturate(1.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80),0 6px 16px rgba(72,46,34,.035);
  font-size:var(--home-input-size);line-height:1;
}
.redeem-split-app:not(.is-flow-mode) .form-control::placeholder{color:#B4A89E}
.redeem-split-app:not(.is-flow-mode) .form-control:focus{border-color:#B77B88;outline:0;box-shadow:none}
.redeem-split-app:not(.is-flow-mode) .form-control:focus-visible{border-color:#A95E6E;outline:0;box-shadow:0 0 0 3px rgba(148,29,53,.11)}
.redeem-split-app:not(.is-flow-mode) .captcha-group{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px}
.redeem-split-app:not(.is-flow-mode) #send-sms-btn{
  width:112px;min-height:var(--home-input-height);height:var(--home-input-height);padding:0 10px;
  border:1px solid rgba(180,146,123,.36);border-radius:var(--home-radius);color:#7D3948;
  background:rgba(255,252,248,.56);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);font-size:var(--home-secondary-size);font-weight:650;
}
.redeem-split-app:not(.is-flow-mode) .front-agreement-row{
  display:flex;align-items:flex-start;gap:8px;margin:16px 0 0;color:#91857C;font-size:var(--home-help-size);line-height:1.6;
}
.redeem-split-app:not(.is-flow-mode) .front-agreement-row input{width:14px;height:14px;flex:0 0 14px;margin-top:1px}
.redeem-split-app:not(.is-flow-mode) .rules-link{color:var(--a-burgundy)}
.redeem-split-app:not(.is-flow-mode) .front-action-stack{display:grid;gap:12px;margin-top:16px}
.redeem-split-app:not(.is-flow-mode) #verify-btn, .redeem-split-app:not(.is-flow-mode) .employee-login-form>.btn-primary{
  width:100%;min-height:var(--home-primary-height);height:var(--home-primary-height);margin:0;
  border:1px solid rgba(255,255,255,.12);border-radius:var(--home-radius);color:#fff;
  background:linear-gradient(180deg,rgba(166,37,64,.96),rgba(132,20,43,.98));
  box-shadow:0 12px 28px rgba(142,29,52,.20),inset 0 1px 0 rgba(255,255,255,.18);
  font-size:var(--home-primary-size);font-weight:700;
  line-height:1;letter-spacing:.01em;
}
.redeem-split-app:not(.is-flow-mode) #verify-btn:hover, .redeem-split-app:not(.is-flow-mode) .employee-login-form>.btn-primary:hover{background:#86172C}
.redeem-split-app:not(.is-flow-mode) #logistics-toggle-btn{
  min-height:30px;height:30px;padding:0;color:#9B8D84;background:rgba(255,255,255,.16);box-shadow:none;font-size:var(--home-help-size);
}
.redeem-split-app:not(.is-flow-mode) #logistics-toggle-btn:hover{color:var(--a-burgundy)}

/* 手机号登录：18px 纵向节奏，输入框和按钮彻底分开。 */
.redeem-split-app:not(.is-flow-mode) .employee-login-panel{width:100%;margin:0;padding:0;transform:none}
.redeem-split-app:not(.is-flow-mode) .employee-login-panel>.panel-heading{margin-bottom:28px}
.redeem-split-app:not(.is-flow-mode) .employee-login-form{display:grid;gap:24px}
.redeem-split-app:not(.is-flow-mode) .employee-login-form .form-group{margin:0}
.redeem-split-app:not(.is-flow-mode) .employee-login-form .form-group label{margin-bottom:10px}
.redeem-split-app:not(.is-flow-mode) .employee-login-form .form-control, .redeem-split-app:not(.is-flow-mode) .employee-login-form .captcha-group .btn{height:var(--home-input-height);min-height:var(--home-input-height)}
.redeem-split-app:not(.is-flow-mode) .employee-login-help{margin:0;color:#857A72!important;font-size:var(--home-help-size);line-height:1.7}

/* Single keyboard focus ring for homepage actions. */
.redeem-split-app:not(.is-flow-mode) #verify-btn:focus-visible, .redeem-split-app:not(.is-flow-mode) .employee-login-form>.btn-primary:focus-visible, .redeem-split-app:not(.is-flow-mode) #send-sms-btn:focus-visible, .redeem-split-app:not(.is-flow-mode) .employee-login-form .captcha-group .btn:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(148,29,53,.16);
}

@media (max-width:1180px) and (min-width:761px){
  .redeem-split-app:not(.is-flow-mode){width:calc(100vw - 32px);min-height:880px;border-radius:24px}
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-copy{top:14%;left:5%;width:42vw}
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-copy h1{font-size:clamp(38px,4.6vw,50px)}
  .redeem-split-app:not(.is-flow-mode) .a-visual-trust{left:5%;width:48vw}
  .redeem-split-app:not(.is-flow-mode) .redeem-work-panel{top:42px;right:28px;width:min(420px,40vw)}
  .redeem-split-app:not(.is-flow-mode) .front-card{padding:23px 24px 21px}
}

@media (max-width:760px){
  .front-shell:has(.redeem-split-app:not(.is-flow-mode)){padding:0;background:#F6F0EA}
  .redeem-split-app:not(.is-flow-mode){
    display:block;width:100%;min-height:100vh;border:0;border-radius:0;background:#F6F0EA;box-shadow:none;overflow:visible;
  }
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-panel{position:relative;min-height:460px;border-radius:0 0 24px 24px}
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-image img{object-position:48% 48%;transform:none}
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-panel::after{
    background:
      linear-gradient(180deg,rgba(255,247,238,.18) 0%,rgba(255,247,238,.08) 52%,rgba(50,29,21,.18) 100%),
      linear-gradient(90deg,rgba(255,247,238,.40),transparent 75%);
  }
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-copy{top:52px;left:24px;width:72%}
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-copy h1{margin-bottom:14px;font-size:34px}
  .redeem-split-app:not(.is-flow-mode) .a-visual-kicker{margin-bottom:15px;font-size:10px}
  .redeem-split-app:not(.is-flow-mode) .a-visual-en{font-size:7.5px}
  .redeem-split-app:not(.is-flow-mode) .a-visual-trust{right:18px;bottom:24px;left:18px;width:auto}
  .redeem-split-app:not(.is-flow-mode) .a-visual-trust>span{grid-template-columns:24px minmax(0,1fr);gap:5px;padding:9px 8px 9px 0}
  .redeem-split-app:not(.is-flow-mode) .a-visual-trust>span+span{padding-left:8px}
  .redeem-split-app:not(.is-flow-mode) .a-visual-trust i{width:22px;height:22px;font-size:14px}
  .redeem-split-app:not(.is-flow-mode) .a-visual-trust b{font-size:8px}
  .redeem-split-app:not(.is-flow-mode) .a-visual-trust small{display:none}
  .redeem-split-app:not(.is-flow-mode) .redeem-work-panel{
    position:relative;top:auto;right:auto;z-index:8;width:auto;max-width:none;margin:-44px 14px 22px;
  }
  .redeem-split-app:not(.is-flow-mode) .front-card{padding:22px 16px 18px;border-radius:16px;box-shadow:0 18px 38px rgba(67,42,30,.14)}
  .redeem-split-app:not(.is-flow-mode) .captcha-group{grid-template-columns:minmax(0,1fr) 104px}
  .redeem-split-app:not(.is-flow-mode) #send-sms-btn{width:104px}
}
@media (max-width:380px){
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-panel{min-height:420px}
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-copy{top:42px;left:20px}
  .redeem-split-app:not(.is-flow-mode) .redeem-visual-copy h1{font-size:30px}
  .redeem-split-app:not(.is-flow-mode) .a-visual-trust{left:14px;right:14px}
}


/* ==========================================================
   UI-A Phase 4 — Product Selection / 静奢 2.0
   One canonical product-selection component source.
   ========================================================== */

.redeem-split-app.is-flow-mode, .redeem-split-app.is-flow-mode button, .redeem-split-app.is-flow-mode input, .redeem-split-app.is-flow-mode select, .redeem-split-app.is-flow-mode textarea{
  font-family:var(--a-font-ui);
}


.redeem-split-app.is-flow-mode .product-step{
  width:100%;
  min-width:0;
}

.a-product-shell{
  display:grid;
  min-height:650px;
  grid-template-columns:190px minmax(0,1fr);
  border:1px solid var(--a-border);
  border-radius:var(--a-r20);
  background:#fff;
  overflow:hidden;
}

.a-product-sidebar{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:22px 14px 18px;
  border-right:1px solid var(--a-border);
  background:#FBF8F4;
}

.a-product-sidebar-head{
  display:grid;
  gap:4px;
  padding:0 8px 18px;
}
.a-product-sidebar-kicker{
  color:var(--a-gold);
  font:650 8px/1.2 var(--a-font-en);
  letter-spacing:.16em;
}
.a-product-sidebar-head strong{
  color:#4d4038;
  font:650 17px/1.3 var(--a-font-editorial);
  letter-spacing:.04em;
}

.a-product-category-nav{
  display:grid;
  gap:4px;
}
.a-category-item{
  display:flex;
  min-height:42px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:0 10px;
  border:0;
  border-radius:var(--a-r10);
  color:#756A62;
  background:transparent;
  font-size:11px;
  text-align:left;
  cursor:pointer;
  transition:background-color .14s var(--a-ease),color .14s var(--a-ease);
}
.a-category-item small{
  color:#A69B92;
  font-size:9px;
}
.a-category-item:hover{
  color:var(--a-burgundy);
  background:#F8EFF1;
}
.a-category-item.active{
  color:var(--a-burgundy);
  background:var(--a-burgundy-soft);
  font-weight:700;
}
.a-category-item.active::before{
  width:2px;
  height:16px;
  margin-right:2px;
  border-radius:999px;
  background:var(--a-burgundy);
  content:"";
}
.a-category-item.active span{margin-right:auto;}

.a-product-sidebar-note{
  display:grid;
  gap:5px;
  margin-top:auto;
  padding:15px 10px 2px;
  border-top:1px solid var(--a-border);
}
.a-product-sidebar-note strong{
  color:#67584E;
  font-size:10px;
}
.a-product-sidebar-note span{
  color:#9D9188;
  font-size:9px;
  line-height:1.65;
}

.a-product-main{
  min-width:0;
  padding:26px 28px 22px;
  background:#FFFDFB;
}
.product-panel-heading{
  display:flex;
  align-items:flex-end!important;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px!important;
}
.product-panel-heading .panel-kicker{
  margin-bottom:5px;
  color:var(--a-gold);
  font-size:9px;
  letter-spacing:.14em;
}
.product-panel-heading h2{
  margin:0;
  color:#332B26;
  font:650 24px/1.25 var(--a-font-editorial);
}
.a-product-heading-note{
  margin:6px 0 0;
  color:#988C83;
  font-size:10px;
}
.product-panel-heading .select-counter{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid #EAD7DB;
  border-radius:var(--a-pill);
  color:var(--a-burgundy);
  background:#FCF4F5;
  font-size:10px;
  font-weight:700;
}

.a-product-tools{
  display:grid;
  grid-template-columns:minmax(260px,420px) minmax(0,1fr);
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.a-product-search{
  position:relative;
}
.a-product-search>span{
  position:absolute;
  z-index:1;
  top:50%;
  left:13px;
  color:#A3978E;
  font-size:18px;
  transform:translateY(-52%);
  pointer-events:none;
}
.a-product-search .form-control{
  height:44px;
  min-height:44px;
  padding-left:38px;
  border-color:#E1D6CB;
  border-radius:var(--a-r10);
  font-size:11px;
}
.product-meta-row{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  color:#9C9086;
  font-size:9.5px;
}
.product-meta-row span:first-child{
  color:#786B62;
  font-weight:650;
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
  contain:layout paint style;
}

.product-card{
  position:relative;
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:0;
  border:1px solid #E9E0D8;
  border-radius:var(--a-r16);
  background:#fff;
  box-shadow:var(--a-shadow-xs);
  overflow:hidden;
  content-visibility:auto;
  contain:layout paint style;
  contain-intrinsic-size:350px 250px;
  transition:border-color .15s var(--a-ease),box-shadow .15s var(--a-ease),background-color .15s var(--a-ease);
}
.product-card:hover{
  border-color:#D8C9BC;
  box-shadow:0 7px 22px rgba(63,43,32,.07);
}
.product-card.selected{
  border-color:rgba(148,29,53,.50);
  background:#FFFCFC;
  box-shadow:0 8px 24px rgba(148,29,53,.10);
}

.product-selected-badge{
  position:absolute;
  z-index:3;
  top:10px;
  right:10px;
  display:none;
  min-height:22px;
  align-items:center;
  padding:2px 8px;
  border-radius:var(--a-pill);
  color:#fff;
  background:var(--a-burgundy);
  font-size:9px;
  font-weight:700;
}
.product-card.selected .product-selected-badge{display:inline-flex;}

.product-image-button{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:#fff;
  cursor:pointer;
  overflow:hidden;
  contain:paint;
}
.product-image-button img{
  display:block;
  width:100%;
  aspect-ratio:1.12/1;
  object-fit:contain;
  padding:14px;
  background:#fff;
  transform:none;
  transition:transform .20s var(--a-ease);
}
@media (hover:hover) and (pointer:fine){
  .product-card:hover .product-image-button img{transform:scale(1.025);}
}
.product-image-empty{
  display:grid;
  aspect-ratio:1.12/1;
  place-items:center;
  color:#A99E95;
  background:#FBF8F5;
  font-size:10px;
}

.product-card-body{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  padding:13px 14px 8px;
  border-top:1px solid #F0E9E3;
}
.a-product-eyebrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
}
.a-product-eyebrow span{
  color:#A47B55;
  font-size:9px;
  font-weight:650;
}
.a-product-eyebrow small{
  color:#AAA097;
  font-size:8.5px;
}
.product-card .name{
  display:-webkit-box;
  min-height:2.85em;
  overflow:hidden;
  color:#342D28;
  font-size:12px;
  font-weight:680;
  line-height:1.42;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.product-card .spec{
  min-height:18px;
  margin-top:4px;
  overflow:hidden;
  color:#9A8F86;
  font-size:9.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.a-product-price{
  display:flex;
  align-items:baseline;
  gap:6px;
  margin-top:10px;
}
.a-product-price strong{
  color:var(--a-burgundy);
  font:700 15px/1.2 Georgia,"Times New Roman",serif;
}
.a-product-price span{
  color:#A3988F;
  font-size:8.5px;
}
.a-product-price-gift strong{
  color:#795F4C;
  font-family:inherit;
  font-size:11px;
}

.product-card-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:7px;
  padding:8px 14px 14px;
}
.product-detail-btn, .product-select-btn{
  display:inline-flex;
  height:36px;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  border-radius:var(--a-r8);
  font-family:var(--a-font-ui);
  font-size:10.5px;
  font-weight:650;
  cursor:pointer;
}
.product-detail-btn{
  border:1px solid var(--a-border-strong);
  color:#786C63;
  background:#fff;
}
.product-detail-btn:hover{
  border-color:#C9B8A9;
  color:#4E423A;
}
.product-select-btn{
  border:1px solid rgba(148,29,53,.58);
  color:var(--a-burgundy);
  background:#FFF9FA;
}
.product-select-btn:hover{
  border-color:var(--a-burgundy);
  color:#fff;
  background:var(--a-burgundy);
}
.product-card.selected .product-select-btn{
  border-color:var(--a-burgundy);
  color:#fff;
  background:var(--a-burgundy);
}

.product-quantity-control{
  display:grid;
  grid-template-columns:30px minmax(26px,1fr) 30px;
  align-items:center;
  height:36px;
  border:1px solid #DFC9CE;
  border-radius:var(--a-r8);
  background:#FFF9FA;
  overflow:hidden;
}
.product-quantity-control button{
  height:100%;
  padding:0;
  border:0;
  color:var(--a-burgundy);
  background:transparent;
  font-size:14px;
  cursor:pointer;
}
.product-quantity-control button:hover{background:#F8EBEE;}
.product-quantity-control button:disabled{opacity:.35;cursor:not-allowed;}
.product-quantity-control span{
  color:#5A4548;
  font-size:10px;
  font-weight:700;
  text-align:center;
}

.product-empty{
  grid-column:1/-1;
  display:grid;
  min-height:240px;
  place-items:center;
  align-content:center;
  gap:6px;
  border:1px dashed #DED2C7;
  border-radius:var(--a-r16);
  color:#9E9289;
  background:#FCFAF7;
  text-align:center;
}
.product-empty strong{color:#675B53;font-size:12px;}
.product-empty span{font-size:10px;}

.a-product-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:22px;
  padding:14px 0 0;
  border-top:1px solid var(--a-border);
  background:transparent!important;
  box-shadow:none!important;
}
.a-product-actions .btn{min-height:46px;font-family:var(--a-font-ui);font-size:11px;}
.a-product-actions #next-to-order{min-width:220px;}

@media (min-width:1100px) and (max-width:1439px){
  .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (min-width:768px) and (max-width:1099px){
  .a-product-shell{grid-template-columns:150px minmax(0,1fr);}
  .a-product-main{padding:22px 20px 20px;}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .a-product-tools{grid-template-columns:1fr;}
  .product-meta-row{justify-content:space-between;}
  .product-card-body{padding:11px 11px 7px;}
  .product-card-actions{padding:7px 11px 11px;}
  .product-detail-btn, .product-select-btn{font-size:9.5px;}
}
@media (max-width:767px){
  .a-product-shell{
    display:block;
    min-height:0;
    border:0;
    border-radius:0;
  }
  .a-product-sidebar{
    padding:12px 14px 11px;
    border-right:0;
    border-bottom:1px solid var(--a-border);
  }
  .a-product-sidebar-head, .a-product-sidebar-note{display:none;}
  .a-product-category-nav{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    overflow:visible;
    padding-bottom:0;
  }
  .a-category-item{
    width:auto;
    flex:0 0 auto;
    min-height:34px;
    padding:0 11px;
    border:1px solid var(--a-border);
    border-radius:var(--a-pill);
    background:#fff;
    white-space:nowrap;
  }
  .a-category-item.active::before{display:none;}
  .a-category-item.active span{margin-right:0;}
  .a-product-main{padding:18px 14px 18px;}
  .product-panel-heading{align-items:flex-start!important;}
  .product-panel-heading h2{font-size:21px;}
  .product-panel-heading .select-counter{
    max-width:48%;
    white-space:normal;
    text-align:right;
  }
  .a-product-tools{
    grid-template-columns:minmax(0,1fr);
    gap:9px;
    margin-bottom:14px;
  }
  .product-meta-row{
    width:100%;
    min-width:0;
    justify-content:flex-start;
    gap:0;
    font-size:10px;
    line-height:1.4;
  }
  .product-meta-row span:first-child{
    display:inline-flex;
    max-width:100%;
    white-space:nowrap;
  }
  .product-meta-row span:last-child{display:none;}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .product-card-body{padding:10px 10px 6px;}
  .product-card-actions{grid-template-columns:1fr;padding:6px 10px 10px;}
  .product-detail-btn{display:none;}
  .product-image-button img{padding:9px;}
  .a-product-actions{
    position:sticky;
    z-index:5;
    bottom:max(8px,env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
    gap:8px;
    padding:9px;
    border:1px solid var(--a-border);
    border-radius:var(--a-r12);
    background:rgba(255,253,249,.98)!important;
    box-shadow:var(--a-shadow-sm)!important;
  }
  .a-product-actions #next-to-order{min-width:0;}
}
@media (max-width:379px){
  .product-grid{grid-template-columns:1fr;}
}

/* ==========================================================
   UI-A Phase 5 — Delivery + Order Confirmation / 静奢 2.0
   One canonical STEP03 and confirm-modal source.
   ========================================================== */

.order-step{
  width:100%;
  min-width:0;
}

.a-order-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.a-order-heading .panel-kicker{
  margin-bottom:5px;
  color:var(--a-gold);
  font-size:9px;
  letter-spacing:.14em;
}
.a-order-heading h2{
  margin:0;
  color:#332B26;
  font:650 24px/1.25 var(--a-font-editorial);
}
.a-order-heading p{
  margin:7px 0 0;
  color:#958980;
  font-size:10px;
}
.a-order-assurance{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid #E8D8C1;
  border-radius:var(--a-pill);
  color:#8A6848;
  background:#FBF5EC;
  font-size:9.5px;
  font-weight:650;
}

.a-order-shell{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(560px,1.22fr);
  gap:18px;
  align-items:start;
}

.a-order-summary-panel, .a-order-form-card{
  min-width:0;
  border:1px solid var(--a-border);
  border-radius:var(--a-r20);
  background:#fff;
  box-shadow:var(--a-shadow-xs);
}

.a-order-summary-panel{
  position:sticky;
  top:18px;
  padding:22px;
  background:linear-gradient(180deg,#FFFDFA,#FBF7F2);
}

.a-order-form-card{
  padding:24px 26px 22px;
}

.a-order-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--a-border);
}
.a-order-section-head>div{
  display:grid;
  gap:3px;
}
.a-order-section-head span{
  color:var(--a-gold);
  font:650 8px/1.2 var(--a-font-en);
  letter-spacing:.15em;
}
.a-order-section-head h3{
  margin:0;
  color:#43372F;
  font:650 17px/1.25 var(--a-font-editorial);
}
.a-order-section-head small{
  color:#9F938A;
  font-size:9px;
}
.a-order-edit-link{
  padding:0;
  border:0;
  color:var(--a-burgundy);
  background:transparent;
  font-size:10px;
  font-weight:650;
  cursor:pointer;
}
.a-order-edit-link:hover{color:var(--a-burgundy-dark);}

.order-summary{
  display:grid;
  gap:10px;
}

.selected-order-item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-width:0;
  padding:10px;
  border:1px solid #ECE3DB;
  border-radius:var(--a-r12);
  background:#fff;
}
.selected-order-media{
  width:72px;
  height:72px;
  overflow:hidden;
  border:1px solid #EFE7E0;
  border-radius:var(--a-r10);
  background:#fff;
}
.selected-order-media img, .selected-order-placeholder{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  object-fit:contain;
  color:#B08A66;
  background:#fff;
}
.selected-order-copy{
  display:grid;
  min-width:0;
  gap:3px;
}
.selected-order-copy strong{
  overflow:hidden;
  color:#433A34;
  font-size:11.5px;
  font-weight:680;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.selected-order-copy span{
  overflow:hidden;
  color:#9B9087;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.selected-order-copy small{
  color:#8A6D55;
  font-size:9px;
  font-weight:650;
}
.selected-order-copy .redeem-product-extra{display:grid;gap:4px;margin-top:5px;min-width:0;color:#74685F;font-size:9px;line-height:1.45;}
.selected-order-copy .redeem-product-extra__row,.a-success-item + .redeem-product-extra .redeem-product-extra__row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:7px;min-width:0;}
.selected-order-copy .redeem-product-extra__label,.a-success-item + .redeem-product-extra .redeem-product-extra__label{color:#A0958D;}
.selected-order-copy .redeem-product-extra__value,.a-success-item + .redeem-product-extra .redeem-product-extra__value{min-width:0;color:#74685F;font-weight:500;overflow-wrap:break-word;white-space:normal;}
.a-success-item + .redeem-product-extra{padding:0 14px 6px;}

#order-settlement-summary{
  margin-top:14px;
}
#order-settlement-summary:empty{display:none;}
#order-settlement-summary>*{
  border:1px solid #EADFD5;
  border-radius:var(--a-r12);
  background:#fff;
  box-shadow:none;
}

.a-order-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.a-order-form-card .form-group{
  margin-bottom:16px;
}
.a-order-form-card .form-group label{
  color:#5B5048;
  font-size:11px;
}
.a-order-form-card .form-control{
  min-height:48px;
  height:48px;
  border-color:#DDD1C6;
  border-radius:var(--a-r10);
  background:#fff;
  font-size:11px;
}
.a-order-form-card textarea.form-control{
  height:auto;
  min-height:84px;
  padding-top:12px;
  padding-bottom:12px;
  line-height:1.65;
  resize:vertical;
}
.a-order-form-card #order-remark{min-height:72px;}
.a-order-optional{
  margin-left:4px;
  color:#A79C93;
  font-size:9px;
  font-weight:500;
}

.region-selects{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.a-order-safe-note{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:4px;
  padding:12px 14px;
  border:1px solid #EDE2D7;
  border-radius:var(--a-r12);
  color:#8B6B4F;
  background:#FCF8F2;
}
.a-order-safe-note>span{
  display:grid;
  width:28px;
  height:28px;
  flex:0 0 28px;
  place-items:center;
  border:1px solid #E6D2BB;
  border-radius:50%;
  color:var(--a-gold);
  background:#fff;
  font-size:13px;
}
.a-order-safe-note p{
  display:grid;
  gap:2px;
  margin:0;
}
.a-order-safe-note strong{
  color:#6B5544;
  font-size:10px;
}
.a-order-safe-note small{
  color:#A09287;
  font-size:9px;
}

.a-order-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:18px;
  padding:16px 0 0;
  border-top:1px solid var(--a-border);
  background:transparent;
}
.a-order-actions .btn{
  min-width:142px;
  min-height:48px;
  font-family:var(--a-font-ui);
  font-size:11px;
  font-weight:650;
}
.a-order-actions #submit-order{
  min-width:190px;
}

#step-1.gift-reveal-login-outro{animation:giftRevealLoginOut 180ms ease-in both;}
@keyframes giftRevealLoginOut{to{opacity:.42;transform:translateY(-6px) scale(.985);}}
.gift-reveal-intro{
  --gift-enter-duration:380ms;
  --gift-anticipation-duration:260ms;
  --gift-seal-duration:220ms;
  --gift-lid-duration:540ms;
  --gift-particle-duration:1050ms;
  --gift-resolve-duration:620ms;
  position:fixed;
  z-index:9999;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:rgba(63,42,38,.16);
  color:#7a2433;
  transition:opacity var(--gift-resolve-duration) ease-in-out,background 180ms ease-out;
}
.gift-reveal-intro.is-visible{background:#f8f5ef;}
.gift-reveal-intro.is-resolving{opacity:0;pointer-events:none;}
.gift-reveal-intro__scene{position:relative;width:min(88vw,400px);height:280px;transform:translateY(-12px);}
.gift-reveal-intro .pixel-gift--opening{
  position:absolute;left:50%;top:54%;width:240px;height:auto;max-width:none;overflow:visible;
  opacity:0;transform:translate(-50%,-50%) scale(.86);
  transition:opacity var(--gift-enter-duration) ease-out,transform var(--gift-enter-duration) cubic-bezier(.22,1,.36,1);
}
.gift-reveal-intro .pixel-gift--opening g,.gift-reveal-intro .pixel-gift--opening rect{animation:none;opacity:1;}
.gift-reveal-intro.is-visible .pixel-gift--opening{opacity:1;transform:translate(-50%,-50%) scale(1);}
.gift-reveal-intro[data-state="GIFT_REVEAL_ANTICIPATE"] .pixel-gift--opening{animation:giftRevealAnticipate var(--gift-anticipation-duration) ease-in-out;}
.gift-reveal-intro .pixel-gift--opening .pixel-gift-lid{transform-box:fill-box;transform-origin:center bottom;transition:transform var(--gift-lid-duration) cubic-bezier(.22,1,.36,1);}
.gift-reveal-intro .pixel-gift--opening .pixel-gift-seal{transform-box:fill-box;transform-origin:center;transition:transform 240ms ease-out,opacity 300ms ease-out;}
.gift-reveal-intro .pixel-gift--opening .pixel-gift-knot{transform-box:fill-box;transform-origin:center;transition:transform 240ms ease-out,opacity 300ms ease-out;}
.gift-reveal-intro .pixel-gift--opening .pixel-gift-bow-left,.gift-reveal-intro .pixel-gift--opening .pixel-gift-bow-right{transform-box:fill-box;transform-origin:center;transition:transform 300ms ease-out,opacity 300ms ease-out;}
.gift-reveal-intro .pixel-gift--opening .pixel-gift-lid g{transition:transform 370ms ease-out,opacity 370ms ease-out;}
.gift-reveal-intro.is-knot-loose .pixel-gift-seal{transform:translateY(-5px) rotate(-3deg) scale(1.08);}
.gift-reveal-intro.is-knot-loose .pixel-gift-knot{transform:translateY(-4px) scale(1.08);}
.gift-reveal-intro.is-unsealed .pixel-gift-seal,.gift-reveal-intro.is-unsealed .pixel-gift-knot{opacity:0;}
.gift-reveal-intro.is-unsealed .pixel-gift-bow-left{transform:translateX(-24px) rotate(-7deg);opacity:.55;}
.gift-reveal-intro.is-unsealed .pixel-gift-bow-right{transform:translateX(24px) rotate(7deg);opacity:.55;}
.gift-reveal-intro.is-ribbon-free .pixel-gift-bow-left{transform:translateX(-28px) rotate(-8deg);opacity:0;}
.gift-reveal-intro.is-ribbon-free .pixel-gift-bow-right{transform:translateX(28px) rotate(8deg);opacity:0;}
.gift-reveal-intro.is-ribbon-free .pixel-gift-ribbon-lid-left,.gift-reveal-intro.is-ribbon-free .pixel-gift-ribbon-lid-vertical-left{transform:translateX(-20px);opacity:0;}
.gift-reveal-intro.is-ribbon-free .pixel-gift-ribbon-lid-right,.gift-reveal-intro.is-ribbon-free .pixel-gift-ribbon-lid-vertical-right{transform:translateX(20px);opacity:0;}
.gift-reveal-intro.is-open .pixel-gift-lid{transform:translate(2px,-34px) rotate(-2.5deg);}
.gift-reveal-intro__glow{position:absolute;left:50%;top:49%;width:180px;height:110px;border-radius:50%;background:radial-gradient(ellipse,rgba(216,176,96,.14),transparent 70%);opacity:0;transform:translate(-50%,-50%) scale(.7);transition:opacity 220ms ease-out,transform 220ms ease-out;}
.gift-reveal-intro.is-open .gift-reveal-intro__glow{opacity:1;transform:translate(-50%,-50%) scale(1);}
.gift-reveal-intro__fragments{position:absolute;inset:0;pointer-events:none;}
.gift-reveal-intro__fragments i{position:absolute;top:49%;left:50%;width:5.5px;height:5.5px;background:var(--fragment-color);opacity:0;}
.gift-reveal-intro__fragments i.is-ribbon{width:3.3px;height:27.5px;border-radius:2px;}
.gift-reveal-intro.is-burst .gift-reveal-intro__fragments i{animation:giftRevealFragment var(--gift-particle-duration) var(--fragment-delay) cubic-bezier(.22,1,.36,1) both;}
.gift-reveal-intro__ambient{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 200ms ease;}
.gift-reveal-intro__ambient i{position:absolute;left:50%;top:40%;width:3px;height:3px;background:#c9a35b;opacity:.4;}
.gift-reveal-intro:is([data-state="GIFT_REVEAL_HOLD"],[data-state="OPEN_GIFT_WAITING"],[data-state="GIFT_REVEAL_RESOLVE"]) .gift-reveal-intro__ambient{opacity:1;}
.gift-reveal-intro:is([data-state="GIFT_REVEAL_HOLD"],[data-state="OPEN_GIFT_WAITING"],[data-state="GIFT_REVEAL_RESOLVE"]) .gift-reveal-intro__ambient i{animation:giftRevealAmbient 1800ms var(--ambient-delay) ease-in-out infinite alternate;}
.gift-reveal-intro__caption{position:absolute;bottom:20%;color:#887467;font-size:12px;letter-spacing:0;opacity:0;transition:opacity 220ms ease-out;}
.gift-reveal-intro[data-state="GIFT_REVEAL_ENTER"] .gift-reveal-intro__caption,.gift-reveal-intro.is-waiting .gift-reveal-intro__caption{opacity:1;}
@keyframes giftRevealAnticipate{0%,100%{transform:translate(-50%,-50%) scale(1);}50%{transform:translate(-50%,-50%) scale(.985);}}
@keyframes giftRevealFragment{0%{opacity:0;transform:translate(0,0) scale(.7);}22%{opacity:.85;transform:translate(var(--fragment-x-mid),var(--fragment-y-mid)) scale(1);}100%{opacity:0;transform:translate(var(--fragment-x),var(--fragment-y)) scale(.6);}}
@keyframes giftRevealAmbient{from{opacity:.2;transform:translate(var(--ambient-x),0);}to{opacity:.6;transform:translate(var(--ambient-x),-12px);}}
@media(max-width:820px){.gift-reveal-intro .pixel-gift--opening{width:196px;}.gift-reveal-intro__scene{height:240px;}}
@media(min-width:821px){.gift-reveal-intro{--gift-enter-duration:440ms;--gift-anticipation-duration:260ms;--gift-seal-duration:240ms;--gift-lid-duration:600ms;--gift-particle-duration:1150ms;--gift-resolve-duration:500ms;}}
@media(prefers-reduced-motion:reduce){
  #step-1.gift-reveal-login-outro{animation:none;}
  .gift-reveal-intro{--gift-resolve-duration:180ms;}
  .gift-reveal-intro .pixel-gift--opening,.gift-reveal-intro .pixel-gift--opening .pixel-gift-lid,.gift-reveal-intro .pixel-gift--opening .pixel-gift-seal,.gift-reveal-intro .pixel-gift--opening .pixel-gift-knot,.gift-reveal-intro .pixel-gift--opening .pixel-gift-lid g,.gift-reveal-intro__glow{animation:none;transition:none;}
  .gift-reveal-intro__fragments,.gift-reveal-intro__ambient{display:none;}
  .gift-reveal-intro.is-open .pixel-gift-lid{transform:translateY(-8px);}
}
.gift-preparation-overlay {
  position: fixed;
  z-index: 9998;
  inset: 0;
  display: grid;
  min-height: 100vh;
  min-height: 100dvh;
  padding: calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));
  place-items: center;
  overflow: hidden;
  color: #332C28;
  background: #F8F5EF;
  animation: giftPrepOverlayIn 200ms ease-out both;
}
.gift-preparation-overlay.is-leaving {
  animation: giftPrepOverlayOut 220ms ease-in both;
}
.gift-preparation-stage {
  position: relative;
  display: grid;
  width: min(100%, 460px);
  min-width: 0;
  justify-items: center;
  text-align: center;
}
.gift-preparation-moon {
  position: absolute;
  top: 42%;
  left: 50%;
  width: 238px;
  height: 238px;
  border-radius: 50%;
  background: rgba(212,185,128,.06);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.gift-preparation-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 9px;
  max-width: 100%;
  margin-bottom: 42px;
}
.gift-preparation-copy h2,
.gift-preparation-copy p { margin: 0; }
.gift-preparation-copy h2 {
  color: #332C28;
  font: 600 25px/1.35 "Songti SC", "SimSun", serif;
  animation: giftPrepCopyIn 360ms 80ms cubic-bezier(.16,1,.3,1) both;
}
.gift-preparation-copy p {
  color: #94877D;
  font-size: 13px;
  line-height: 1.6;
  animation: giftPrepCopyIn 360ms 180ms cubic-bezier(.16,1,.3,1) both;
}
.pixel-gift {
  position: relative;
  z-index: 1;
  display: block;
  width: 192px;
  height: 144px;
  max-width: 100%;
  overflow: visible;
}
.gift-preparation-tag{position:relative;z-index:1;margin-top:22px;padding:8px 13px;border:1px solid rgba(184,154,104,.4);color:#9a7950;background:rgba(255,252,247,.75);font-size:11px;letter-spacing:.08em;opacity:0;transform:translateY(12px);animation:giftPrepTagArrive 350ms 1150ms cubic-bezier(.22,1,.36,1) both;}
.gift-preparation-overlay[data-state="COMPLETING"] .gift-preparation-tag,.gift-preparation-overlay[data-state="COMPLETED"] .gift-preparation-tag{animation:giftPrepTagSettle 300ms cubic-bezier(.22,1,.36,1) both;}
@keyframes giftPrepTagArrive{to{opacity:1;transform:translateY(0);}}
@keyframes giftPrepTagSettle{from{opacity:.7;transform:translateY(-8px) scale(1.04);}to{opacity:1;transform:translateY(0) scale(1);}}
.pixel-gift-base {
  animation: giftPrepBaseIn 420ms 220ms cubic-bezier(.16,1,.3,1) both;
}
.pixel-gift-lid {
  animation: giftPrepLidIn 380ms 360ms cubic-bezier(.16,1,.3,1) both;
}
.pixel-gift-ribbon-v {
  transform-origin: 96px 41px;
  animation: giftPrepRibbonV 420ms 700ms cubic-bezier(.16,1,.3,1) both;
}
.pixel-gift-ribbon-h {
  transform-origin: 96px 85px;
  animation: giftPrepRibbonH 380ms 900ms cubic-bezier(.16,1,.3,1) both;
}
.pixel-gift-bow {
  transform-origin: 96px 37px;
  animation: giftPrepBowIn 340ms 1030ms cubic-bezier(.16,1,.3,1) both;
}
.pixel-gift-sparkles rect { opacity: 0; animation: giftPrepSparkle 340ms 520ms ease-out both; }
.pixel-gift-sparkles .pixel-sparkle-two { animation-delay: 660ms; }
.pixel-gift-sparkles .pixel-sparkle-three { animation-delay: 780ms; }
.pixel-gift-sparkles .pixel-sparkle-four { animation-delay: 880ms; }
.pixel-gift-seal { opacity: 0; transform-origin: 96px 85px; }
.pixel-gift-seal text { font: 600 17px "Songti SC", "SimSun", serif; }
.gift-preparation-overlay[data-state="WAITING"] .pixel-gift {
  animation: giftPrepBreathe 2s ease-in-out infinite;
}
.gift-preparation-overlay[data-state="WAITING"] .gift-preparation-moon {
  animation: giftPrepMoon 2s ease-in-out infinite;
}
.gift-preparation-overlay[data-state="WAITING"] .gift-preparation-copy,
.gift-preparation-overlay[data-state="COMPLETING"] .gift-preparation-copy,
.gift-preparation-overlay[data-state="FAILED"] .gift-preparation-copy {
  animation: giftPrepCopyIn 280ms cubic-bezier(.16,1,.3,1) both;
}
.gift-preparation-overlay[data-state="COMPLETING"] .pixel-gift-seal,
.gift-preparation-overlay[data-state="COMPLETED"] .pixel-gift-seal {
  opacity: 1;
  animation: giftPrepSealIn 300ms cubic-bezier(.16,1,.3,1) both;
}
.gift-preparation-overlay[data-state="FAILED"] .pixel-gift {
  opacity: .35;
  transition: opacity 200ms ease-out;
}
@keyframes giftPrepOverlayIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes giftPrepOverlayOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(.985); } }
@keyframes giftPrepCopyIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes giftPrepBaseIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes giftPrepLidIn { from { opacity: 0; transform: translateY(-9px); } to { opacity: 1; transform: translateY(0); } }
@keyframes giftPrepRibbonV { from { opacity: 0; transform: scaleY(0); } to { opacity: 1; transform: scaleY(1); } }
@keyframes giftPrepRibbonH { from { opacity: 0; transform: scaleX(0); } to { opacity: 1; transform: scaleX(1); } }
@keyframes giftPrepBowIn { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: scale(1); } }
@keyframes giftPrepSparkle { from { opacity: 0; } to { opacity: .55; } }
@keyframes giftPrepSealIn { 0% { opacity: 0; transform: scale(.82); } 70% { opacity: 1; transform: scale(1.025); } 100% { opacity: 1; transform: scale(1); } }
@keyframes giftPrepButtonPress { 0%, 100% { transform: scale(1); } 50% { transform: scale(.975); } }
#order-confirm-modal .gift-preparation-pressed { animation: giftPrepButtonPress 110ms ease-out; }
@keyframes giftPrepBreathe { 0%, 100% { opacity: .94; } 50% { opacity: 1; } }
@keyframes giftPrepMoon { 0%, 100% { opacity: .04; } 50% { opacity: .07; } }
@media (max-width: 820px) {
  .gift-preparation-stage { width: min(calc(100vw - 40px), 360px); }
  .gift-preparation-copy h2 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .gift-preparation-overlay,
  .gift-preparation-overlay.is-leaving,
  .gift-preparation-copy,
  .gift-preparation-copy h2,
  .gift-preparation-copy p,
  .pixel-gift,
  .pixel-gift-base,
  .pixel-gift-lid,
  .pixel-gift-ribbon-v,
  .pixel-gift-ribbon-h,
  .pixel-gift-bow,
  .pixel-gift-sparkles rect,
  .gift-preparation-tag,
  .gift-preparation-overlay[data-state="COMPLETING"] .pixel-gift-seal,
  .gift-preparation-overlay[data-state="COMPLETED"] .pixel-gift-seal {
    animation: none;
    transform: none;
  }
  .gift-preparation-overlay.is-leaving { opacity: 0; }
  .pixel-gift-sparkles rect { opacity: .55; }
  .gift-preparation-tag { opacity: 1; transform: none; }
}

#order-confirm-modal{
  width:min(720px,calc(100vw - 36px));
  max-height:min(88vh,820px);
  border-radius:var(--a-r24);
  overflow:hidden;
}
#order-confirm-modal[open]{
  display:flex;
  flex-direction:column;
  border:1px solid var(--a-border);
  background:var(--a-surface);
  box-shadow:var(--a-shadow-lg);
}
#order-confirm-modal::backdrop{
  background:rgba(39,30,25,.32);

}
#order-confirm-modal .dialog-header, #order-confirm-modal .dialog-footer{
  flex:0 0 auto;
}
.a-confirm-header{
  min-height:84px!important;
  padding:18px 22px!important;
  background:#FFFDF9!important;
}
.a-confirm-header>div:first-child{
  display:grid;
  gap:3px;
}
.a-confirm-kicker{
  color:var(--a-gold);
  font:650 8px/1.2 var(--a-font-en);
  letter-spacing:.16em;
}
.a-confirm-header h3{
  margin:0!important;
  color:#3B312B;
  font:650 18px/1.25 var(--a-font-editorial)!important;
}
.a-confirm-header p{
  margin:0;
  color:#9C9188;
  font-size:9.5px;
}
.a-confirm-body{
  display:grid;
  flex:1 1 auto;
  min-height:0;
  gap:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:0 22px!important;
}
.a-confirm-section{
  padding:18px 0;
  border-top:1px solid var(--a-border);
}
.a-confirm-section:first-child{border-top:0;}
.a-confirm-section-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:12px;
}
.a-confirm-section-title>span{
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border:1px solid #E5D2B8;
  border-radius:50%;
  color:#9B724E;
  background:#FBF5EC;
  font:650 9px/1 var(--a-font-en);
}
.a-confirm-section-title h4{
  margin:0;
  color:#574A41;
  font-size:11px;
  font-weight:700;
}

.confirm-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.confirm-item{
  display:grid;
  min-width:0;
  grid-template-columns:52px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:9px;
  border:1px solid #ECE3DB;
  border-radius:var(--a-r10);
  background:#fff;
}
.confirm-item-thumb{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  overflow:hidden;
  border:1px solid #F0E8E1;
  border-radius:var(--a-r8);
  color:#AF8B68;
  background:#fff;
  font-size:9px;
}
.confirm-item-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.confirm-item-copy{
  display:grid;
  min-width:0;
  gap:3px;
}
.confirm-item-name{
  overflow:hidden;
  color:#443A33;
  font-size:10px;
  font-weight:680;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.confirm-item-spec{
  overflow:hidden;
  color:#9C9188;
  font-size:8.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.a-confirm-address-card{
  padding:12px 14px;
  border:1px solid #ECE2DA;
  border-radius:var(--a-r12);
  background:#FCF9F6;
}
.confirm-row{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:12px;
  padding:6px 0;
}
.confirm-label{
  color:#9B8F86;
  font-size:9px;
}
.confirm-value{
  min-width:0;
  overflow-wrap:anywhere;
  color:#4B4038;
  font-size:10px;
}

.a-confirm-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:70px!important;
  padding:13px 22px!important;
  background:#FBF7F2!important;
}
.a-confirm-footer>span{
  color:#9C9087;
  font-size:9px;
}
.a-confirm-footer>div{
  display:flex;
  gap:8px;
}
.a-confirm-footer .btn{
  min-width:112px;
  min-height:40px;
}

@media (max-width:1080px){
  .a-order-shell{
    grid-template-columns:1fr;
  }
  .a-order-summary-panel{
    position:static;
  }
}
@media (max-width:760px){
  .a-order-heading{
    align-items:flex-start;
  }
  .a-order-heading h2{font-size:22px;}
  .a-order-assurance{
    max-width:44%;
    white-space:normal;
    text-align:right;
  }
  .a-order-summary-panel, .a-order-form-card{
    border-radius:var(--a-r16);
  }
  .a-order-summary-panel{padding:18px 14px;}
  .a-order-form-card{padding:18px 14px 16px;}
  .a-order-form-grid{grid-template-columns:1fr;}
  .region-selects{grid-template-columns:1fr;}
  .a-order-actions{
    position:sticky;
    z-index:5;
    bottom:max(8px,env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
    gap:8px;
    padding:9px;
    border:1px solid var(--a-border);
    border-radius:var(--a-r12);
    background:rgba(255,253,249,.98);
    box-shadow:var(--a-shadow-sm);
  }
  .a-order-actions .btn, .a-order-actions #submit-order{
    min-width:0;
  }
  .a-confirm-header{min-height:76px!important;padding:15px 16px!important;}
  .a-confirm-body{padding:0 16px!important;}
  .confirm-items{grid-template-columns:1fr;}
  .a-confirm-footer{
    align-items:stretch!important;
    flex-direction:column!important;
    padding:12px 16px!important;
  }
  .a-confirm-footer>span{text-align:center;}
  .a-confirm-footer>div{display:grid;grid-template-columns:1fr 1.2fr;}
  .a-confirm-footer .btn{min-width:0;}
}

/* ==========================================================
   UI-A Phase 6 — C-end Experience Unification / 静奢 2.0
   ========================================================== */

#product-detail-modal, #product-detail-modal button{
  font-family:var(--a-font-ui);
}

#product-detail-modal{width:min(760px,calc(100vw - 36px));max-height:min(88vh,860px);border-radius:var(--a-r24);overflow:hidden;}
#product-detail-modal[open]{display:flex;flex-direction:column;border:1px solid var(--a-border);background:var(--a-surface);box-shadow:var(--a-shadow-lg);}
#product-detail-modal::backdrop{background:rgba(39,30,25,.32);}
.a-pd-dialog-header{min-height:76px!important;padding:16px 22px!important;}.a-pd-dialog-header>div{display:grid;gap:3px;}
.a-pd-kicker, .a-rules-kicker, .a-success-kicker, .a-logistics-kicker{color:var(--a-gold);font:650 8px/1.2 var(--a-font-en);letter-spacing:.16em;}
.a-pd-dialog-header h3{margin:0!important;color:#40352E;font:650 18px/1.25 var(--a-font-editorial)!important;}
.a-pd-body{min-height:0;overflow:auto;padding:22px;}.a-pd-hero{display:grid;grid-template-columns:minmax(260px,42%) minmax(0,1fr);gap:24px;align-items:center;}
.a-pd-media{display:grid;aspect-ratio:1/1;place-items:center;overflow:hidden;border:1px solid #ECE3DB;border-radius:var(--a-r16);background:#fff;}.a-pd-media img{display:block;width:100%;height:100%;padding:18px;object-fit:contain;background:#fff;}
.a-pd-empty{display:grid;width:100%;height:100%;place-items:center;color:#B28B67;background:#FBF8F4;font:650 32px/1 var(--a-font-editorial);}.a-pd-info{min-width:0;}
.a-pd-category{display:inline-flex;margin-bottom:10px;padding:4px 8px;border-radius:var(--a-pill);color:#9B744F;background:#FBF4EA;font-size:8.5px;font-weight:650;}
.a-pd-info h2{margin:0 0 10px;color:#342C27;font-family:var(--a-font-ui);font-size:19px;font-weight:680;line-height:1.48;letter-spacing:0;}.a-pd-spec{margin:0 0 14px;color:#958A82;font-size:10px;}
.a-pd-meta{display:flex;flex-wrap:wrap;gap:8px;}.a-pd-meta span{padding:7px 9px;border:1px solid #EAE0D7;border-radius:var(--a-r8);color:#8B7E75;background:#FCFAF7;font-size:9px;}.a-pd-meta strong{color:#6E5543;font-weight:700;}
.a-pd-note{margin:14px 0 0;color:#AAA096;font-size:9px;line-height:1.65;}.a-pd-sections{margin-top:22px;border-top:1px solid var(--a-border);}
.a-pd-section{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:17px 0;border-bottom:1px solid #EFE7E0;}.a-pd-section-title{display:flex;align-items:center;gap:8px;}
.a-pd-section-title>span{color:#B08A66;font:650 9px/1 var(--a-font-en);}.a-pd-section-title h4{margin:0;color:#66564B;font-size:10px;font-weight:700;}.a-pd-section-body{color:#776C64;font-family:var(--a-font-ui);font-size:10.5px;line-height:1.75;}
.a-pd-empty-copy{padding:24px 0;color:#9F948B;font-size:10px;text-align:center;}.a-pd-footer{display:flex!important;justify-content:space-between!important;gap:14px!important;min-height:68px!important;padding:12px 22px!important;}
.a-pd-footer>span{color:#9D9188;font-size:9px;}.a-pd-footer>div{display:flex;gap:8px;}.a-pd-footer .btn{min-width:108px;min-height:42px;font-family:var(--a-font-ui);font-size:10.5px;}

.redeem-rules-modal{width:min(720px,calc(100vw - 36px));max-height:min(86vh,820px);border-radius:var(--a-r24);overflow:hidden;}.redeem-rules-modal[open]{display:flex;flex-direction:column;border:1px solid var(--a-border);background:#FFFDF9;box-shadow:var(--a-shadow-lg);}
.redeem-rules-modal::backdrop{background:rgba(39,30,25,.30);}.a-rules-header{min-height:88px!important;padding:17px 22px!important;}.a-rules-header>div{display:grid;gap:3px;}.a-rules-header h3{margin:0!important;color:#3D332D;font:650 18px/1.25 var(--a-font-editorial)!important;}.a-rules-header p{margin:0;color:#A0958D;font-size:9.5px;}
.redeem-rules-body{min-height:0;flex:1 1 auto;padding:22px 26px;overflow:auto;color:#746A63;font-size:11px;line-height:1.85;}.redeem-rules-body p{margin:0 0 10px;}.redeem-rules-body .rules-numbered-list{display:grid;gap:10px;margin:0;padding-left:22px;}.redeem-rules-body .rules-numbered-list li{padding-left:4px;}
.a-rules-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;min-height:72px!important;padding:12px 22px!important;}.a-rules-footer>span{color:#A0958D;font-size:9px;}.a-rules-footer>div{display:flex;gap:8px;}.a-rules-footer .btn{min-width:112px;}

#order-success-modal{width:min(610px,calc(100vw - 36px));max-height:min(88vh,800px);border-radius:var(--a-r24);overflow:hidden;}#order-success-modal[open]{display:flex;flex-direction:column;border:1px solid var(--a-border);background:#FFFDF9;box-shadow:var(--a-shadow-lg);}#order-success-modal::backdrop{background:rgba(39,30,25,.30);}
.a-success-header{min-height:72px!important;padding:14px 20px!important;}.a-success-header>div{display:grid;gap:2px;}.a-success-header h3{margin:0!important;color:#453830;font:650 16px/1.2 var(--a-font-editorial)!important;}
.a-success-body{min-height:0;overflow:auto;padding:24px 26px 18px;}.a-success-hero{display:grid;justify-items:center;margin-bottom:20px;text-align:center;}.a-success-seal{display:grid;width:54px;height:54px;margin-bottom:10px;place-items:center;border:1px solid #DCC6A8;border-radius:50%;color:#fff;background:var(--a-burgundy);box-shadow:0 8px 20px rgba(148,29,53,.15);font-size:20px;}
.a-success-hero p{margin:0 0 4px;color:#AA825F;font-size:9px;font-weight:650;letter-spacing:.08em;}.a-success-hero h2{margin:0 0 6px;color:#3C312B;font:650 23px/1.3 var(--a-font-editorial);}.a-success-hero>span{color:#A0958D;font-size:10px;}
.a-success-order-card{border:1px solid #E9DED4;border-radius:var(--a-r16);background:#fff;overflow:hidden;}.a-success-order-no, .a-success-status{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #F0E8E1;}.a-success-order-no span, .a-success-status>span{color:#988C83;font-size:9px;}.a-success-order-no strong{color:#51443B;font-size:11px;font-variant-numeric:tabular-nums;}
.a-success-items{padding:7px 14px;border-bottom:1px solid #F0E8E1;}.a-success-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0;color:#786C64;font-size:9.5px;}.a-success-item strong{color:#8B6A50;font-weight:650;}
.a-success-money{padding:8px 14px 10px;}.a-success-money>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0;color:#968A81;font-size:9.5px;}.a-success-money strong{color:#5E5047;font-weight:650;font-variant-numeric:tabular-nums;}.a-success-money .balance{margin-top:5px;padding-top:8px;border-top:1px solid #F0E7E0;}.a-success-money .balance strong{color:var(--a-burgundy);font-size:12px;}
.a-success-continue{display:grid;gap:3px;margin-top:12px;padding:11px 13px;border:1px solid #E8D8C1;border-radius:var(--a-r12);background:#FBF5EC;}.a-success-continue strong{color:#76583F;font-size:9.5px;}.a-success-continue span{color:#9A8777;font-size:9px;}.a-success-tip{margin-top:12px;color:#A0958D;font-size:9px;text-align:center;}
.a-success-footer{display:flex!important;justify-content:flex-end!important;gap:8px!important;min-height:68px!important;padding:12px 20px!important;}.a-success-footer .btn{min-width:132px;}

.order-success-dialog.motion-dialog-enter .a-success-seal {
  animation:redeemSuccessSeal 520ms 80ms cubic-bezier(.22,1,.36,1) both;
}
.order-success-dialog.motion-dialog-enter .a-success-hero h2 {
  animation:redeemSuccessContent 440ms 220ms cubic-bezier(.22,1,.36,1) both;
}
.order-success-dialog.motion-dialog-enter .a-success-order-card {
  animation:redeemSuccessContent 440ms 330ms cubic-bezier(.22,1,.36,1) both;
}
@keyframes redeemSuccessSeal {
  from { opacity:0; transform:translateY(12px) scale(.88); }
  to { opacity:1; transform:scale(1); }
}
@keyframes redeemSuccessContent {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:translateY(0); }
}

.logistics-a-page{min-height:100vh;background:radial-gradient(circle at 12% 10%,rgba(181,138,85,.08),transparent 24%),linear-gradient(180deg,#F8F3ED 0%,#F2EBE4 100%);}
.logistics-page-shell{width:min(1120px,calc(100vw - 40px));margin:0 auto;padding:24px 0 40px;}.logistics-page-card{border:1px solid rgba(181,138,85,.22);border-radius:var(--a-r30);background:#FFFDF9;box-shadow:var(--a-shadow-md);overflow:hidden;}.logistics-page-header{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:20px;padding:0 26px;border-bottom:1px solid var(--a-border);background:#FFFDF9;}
.a-logistics-nav{display:flex;align-items:center;gap:16px;color:#9B8F86;font-size:10px;}.a-logistics-nav a{color:#81756D;}.a-logistics-nav a:hover{color:var(--a-burgundy);}.a-logistics-nav span{color:var(--a-burgundy);font-weight:650;}
.a-logistics-intro{padding:44px 36px 30px;text-align:center;}.a-logistics-intro h1{margin:8px 0;color:#3D312B;font:650 30px/1.3 "Songti SC","SimSun",serif;}.a-logistics-intro p{max-width:620px;margin:0 auto;color:#958980;font-size:10.5px;line-height:1.75;}
.logistics-query-card{width:min(830px,calc(100% - 48px));margin:0 auto 28px;padding:22px 24px;border:1px solid var(--a-border);border-radius:var(--a-r20);background:#fff;box-shadow:var(--a-shadow-xs);}
.a-logistics-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px;padding-bottom:13px;border-bottom:1px solid var(--a-border);}.a-logistics-form-head>div{display:grid;gap:3px;}.a-logistics-form-head span{color:var(--a-gold);font:650 8px/1.2 var(--a-font-en);letter-spacing:.15em;}.a-logistics-form-head h2{margin:0;color:#4B3E36;font:650 17px/1.3 var(--a-font-editorial);}.a-logistics-form-head small{color:#A0958D;font-size:9px;}
.logistics-query-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;}.a-logistics-code{grid-column:1/-1;}.logistics-query-card .form-control{min-height:44px;border-radius:var(--a-r10);font-size:11px;}.logistics-query-card .captcha-group .btn{min-width:112px;}.a-logistics-submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:4px;padding-top:15px;border-top:1px solid var(--a-border);}.a-logistics-submit-row>span{color:#A0958D;font-size:9px;}.logistics-page-submit{min-width:150px;min-height:42px;}
.logistics-result-panel{width:min(830px,calc(100% - 48px));min-height:220px;margin:0 auto 30px;}.logistics-empty-state{display:grid;min-height:220px;place-items:center;align-content:center;gap:6px;border:1px dashed #DED2C7;border-radius:var(--a-r16);color:#A0958D;background:#FCF9F6;text-align:center;}.a-logistics-empty-mark{display:grid;width:38px;height:38px;margin-bottom:2px;place-items:center;border:1px solid #E3D2BD;border-radius:50%;color:var(--a-gold);background:#fff;font-size:17px;}.logistics-empty-state strong{color:#66574D;font-size:11px;}.logistics-empty-state>span:last-child{font-size:9px;}
.logistics-loading, .logistics-error{display:grid;min-height:160px;place-items:center;border:1px solid var(--a-border);border-radius:var(--a-r16);color:#8E8279;background:#fff;font-size:10px;text-align:center;}.logistics-error{border-color:#E7CCCC;color:var(--a-danger);background:#FCF4F3;}
.logistics-order-card{margin-bottom:14px;border:1px solid var(--a-border);border-radius:var(--a-r16);background:#fff;box-shadow:var(--a-shadow-xs);overflow:hidden;}.logistics-order-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #EFE7E0;background:#FCFAF7;}.logistics-order-head>div{display:grid;gap:2px;}.logistics-order-head span{color:#A0958D;font-size:8.5px;}.logistics-order-head strong{color:#55483F;font-size:10.5px;font-variant-numeric:tabular-nums;}
.logistics-product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px 16px;border-bottom:1px solid #EFE7E0;}.logistics-product-item{display:grid;min-width:0;grid-template-columns:58px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid #EFE7E0;border-radius:var(--a-r10);}.logistics-product-item img, .logistics-product-empty{display:grid;width:58px;height:58px;place-items:center;object-fit:contain;border-radius:var(--a-r8);color:#B09A87;background:#fff;font-size:8px;}
.logistics-product-info{display:grid;min-width:0;gap:2px;}.logistics-product-info span{color:#AA9E95;font-size:8px;}.logistics-product-info strong{overflow:hidden;color:#594C43;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap;}.logistics-product-info em{overflow:hidden;color:#9D9188;font-size:8.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap;}
.logistics-receiver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:14px 16px;border-bottom:1px solid #EFE7E0;}.logistics-receiver-grid>div{display:grid;gap:2px;}.logistics-receiver-grid .wide{grid-column:1/-1;}.logistics-receiver-grid span{color:#A0958D;font-size:8.5px;}.logistics-receiver-grid strong{color:#5C4F46;font-size:9.5px;font-weight:600;overflow-wrap:anywhere;}
.shipment-list{display:grid;gap:10px;padding:14px 16px 16px;}.shipment-card{border:1px solid #EAE0D7;border-radius:var(--a-r12);background:#FCFAF7;overflow:hidden;}.shipment-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #EEE5DE;}.shipment-card-header strong{color:#65564C;font-size:9.5px;}.shipment-card-header span{color:var(--a-burgundy);font-size:8.5px;font-weight:650;}
.logistics-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:11px 12px;}.logistics-info-grid>div{display:grid;gap:2px;}.logistics-info-grid span{color:#A0958D;font-size:8px;}.logistics-info-grid strong{color:#5A4D44;font-size:9.5px;}.trace-box{margin:0 12px 12px;padding:10px 11px;border:1px solid #E8DDD2;border-radius:var(--a-r8);color:#82766E;background:#fff;font-size:9px;line-height:1.65;}.shipment-card.is-pending .shipment-card-header span{color:#9B7B58;}
.a-logistics-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 26px;border-top:1px solid var(--a-border);color:#A0958D;background:#FCF9F5;font-size:9px;}.a-logistics-footer a{color:var(--a-burgundy);font-weight:650;}

@media (max-width:760px){
  #product-detail-modal, .redeem-rules-modal, #order-success-modal{width:calc(100vw - 24px);max-height:90vh;border-radius:var(--a-r16);}
  .a-pd-body{padding:16px;}.a-pd-hero{grid-template-columns:1fr;gap:14px;}.a-pd-media{max-width:300px;margin:0 auto;}.a-pd-info h2{font-size:19px;}.a-pd-section{grid-template-columns:1fr;gap:7px;}
  .a-pd-footer{align-items:stretch!important;flex-direction:column!important;padding:10px 16px!important;}.a-pd-footer>span{text-align:center;}.a-pd-footer>div{display:grid;grid-template-columns:1fr 1.2fr;}
  .a-rules-header{min-height:80px!important;padding:14px 16px!important;}.redeem-rules-body{padding:18px;}.a-rules-footer{align-items:stretch!important;flex-direction:column!important;padding:10px 16px!important;}.a-rules-footer>span{text-align:center;}.a-rules-footer>div{display:grid;grid-template-columns:1fr 1.2fr;}.a-rules-footer .btn{min-width:0;}
  .a-success-body{padding:20px 16px 15px;}.a-success-footer{display:grid!important;grid-template-columns:1fr!important;padding:10px 16px!important;}.a-success-footer .btn{width:100%;min-width:0;}
  .logistics-page-shell{width:100%;padding:0;}.logistics-page-card{min-height:100vh;border:0;border-radius:0;box-shadow:none;}.logistics-page-header{min-height:64px;padding:0 15px;}.a-logistics-nav{display:none;}
  .a-logistics-intro{padding:32px 18px 22px;}.a-logistics-intro h1{font-size:25px;}.logistics-query-card, .logistics-result-panel{width:calc(100% - 28px);}.logistics-query-card{padding:18px 14px;}.a-logistics-form-head small{display:none;}.logistics-query-grid{grid-template-columns:1fr;}.a-logistics-code{grid-column:auto;}
  .a-logistics-submit-row{align-items:stretch;flex-direction:column;}.a-logistics-submit-row>span{text-align:center;}.logistics-page-submit{width:100%;}.logistics-product-list{grid-template-columns:1fr;}.logistics-receiver-grid{grid-template-columns:1fr;}.logistics-receiver-grid .wide{grid-column:auto;}.logistics-info-grid{grid-template-columns:1fr;}
  .a-logistics-footer{align-items:center;flex-direction:column;text-align:center;}
}

@media (max-width:767px){
  html, body{max-width:100%;overflow-x:hidden!important;}
  .front-shell, .redeem-app, .front-card, .redeem-split-app.is-flow-mode, .redeem-split-app.is-flow-mode .front-card{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  }

  .redeem-split-app.is-flow-mode .front-card{padding:20px 14px 24px!important;}

  .redemption-mode-tabs{width:100%;max-width:none;margin-bottom:18px;}
  .steps-indicator{width:100%!important;max-width:100%!important;margin:0 0 28px!important;}
  .step-node{min-width:0;flex:0 1 auto;font-size:10px;line-height:1.25;text-align:center;}
  .step-node span:last-child{max-width:68px;white-space:normal;}
  .step-dot{width:34px;height:34px;flex:0 0 34px;}
  .step-line{min-width:12px;margin:17px 6px 0;}

  .panel-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end!important;gap:10px!important;margin-bottom:20px!important;}
  .panel-heading>div{min-width:0;}
  .panel-heading h2{font-size:25px!important;line-height:1.2;overflow-wrap:anywhere;}
  .panel-heading .summary{grid-column:1/-1;max-width:none!important;text-align:left!important;}
  .select-counter{max-width:150px;padding:7px 10px!important;font-size:11px!important;white-space:normal;text-align:center;}

  #order-settlement-summary{width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
  #order-settlement-summary>*{min-width:0;box-sizing:border-box;}

}

@media (max-width:430px){
  .redeem-split-app.is-flow-mode .front-card{padding-inline:12px!important;}
  .panel-heading{grid-template-columns:1fr!important;align-items:start!important;}
  .panel-heading .select-counter{justify-self:start;max-width:100%;}
  .step-node span:last-child{max-width:60px;font-size:9px;}
  .step-line{margin-inline:3px;}
}

:root{
  --front-title:clamp(24px,2vw,32px);
  --front-body:14px;
  --front-small:12px;
  --front-muted:#8e837b;
  --front-radius-card:18px;
  --front-control-h:46px;
}

.redeem-split-app.is-flow-mode .front-card{
  padding-top:34px!important;
  padding-bottom:30px!important;
}
.redeem-split-app.is-flow-mode .redemption-mode-tabs{
  margin-bottom:20px!important;
}
.redeem-split-app.is-flow-mode .steps-indicator{
  margin-bottom:34px!important;
}
.redeem-split-app.is-flow-mode .panel-heading{
  margin-bottom:24px!important;
}
.redeem-split-app.is-flow-mode .panel-kicker{
  margin:0 0 7px!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.20em!important;
  font-weight:750!important;
}
.redeem-split-app.is-flow-mode .panel-heading h2{
  margin:0!important;
  font-size:var(--front-title)!important;
  line-height:1.16!important;
  letter-spacing:-.035em!important;
  font-weight:760!important;
}
.redeem-split-app.is-flow-mode .form-group{
  font-size:var(--front-body);
}
.redeem-split-app.is-flow-mode label{
  margin-bottom:8px!important;
  color:#685f58!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:680!important;
  letter-spacing:.01em;
}
.redeem-split-app.is-flow-mode .select-counter{
  padding:7px 12px!important;
  font-size:11px!important;
  line-height:1.2!important;
  box-shadow:0 8px 22px rgba(80,43,40,.055);
}

.redeem-split-app.is-flow-mode .btn-primary, .redeem-split-app.is-flow-mode .btn-accent{
  box-shadow:0 8px 18px rgba(143,33,55,.12)!important;
}

.redeem-split-app.is-flow-mode #order-settlement-summary{
  margin-top:18px!important;
}
.redeem-split-app.is-flow-mode #order-settlement-summary .settlement-breakdown{
  position:relative;
  margin:0!important;
  padding:17px 18px 16px!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:17px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(250,241,237,.30))!important;
  box-shadow:0 14px 34px rgba(75,44,38,.07),inset 0 1px 0 rgba(255,255,255,.78)!important;

}
.redeem-split-app.is-flow-mode #order-settlement-summary .settlement-breakdown::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,rgba(143,33,55,.90),rgba(180,147,98,.72));
}
.redeem-split-app.is-flow-mode #order-settlement-summary .settlement-title{
  margin:0 0 11px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid rgba(116,91,78,.12)!important;
  color:#2d2723!important;
  font-size:14px!important;
  font-weight:760!important;
  letter-spacing:.01em!important;
}
.redeem-split-app.is-flow-mode #order-settlement-summary .settlement-row{
  min-height:28px!important;
  padding:4px 0!important;
  color:#776b63!important;
  font-size:12px!important;
}
.redeem-split-app.is-flow-mode #order-settlement-summary .settlement-row strong{
  color:#302925!important;
  font-size:12.5px!important;
  font-weight:670!important;
}
.redeem-split-app.is-flow-mode #order-settlement-summary .settlement-total{
  margin-top:4px!important;
  padding-top:10px!important;
  border-top:1px dashed rgba(116,91,78,.18)!important;
}
.redeem-split-app.is-flow-mode #order-settlement-summary .settlement-total strong{
  color:var(--brand)!important;
  font-size:15px!important;
  font-weight:780!important;
}

@media (min-width:1200px){
  .redeem-split-app.is-flow-mode .front-card{
    padding-inline:clamp(42px,4vw,64px)!important;
  }
}

@media (max-width:767px){
  .redeem-split-app.is-flow-mode .front-card{padding:18px 12px 22px!important;}
  .redeem-split-app.is-flow-mode .steps-indicator{margin-bottom:24px!important;}
  .redeem-split-app.is-flow-mode .panel-heading{margin-bottom:18px!important;}
  .redeem-split-app.is-flow-mode .panel-heading h2{font-size:24px!important;}

  .redeem-split-app.is-flow-mode #order-settlement-summary .settlement-breakdown{padding:14px 14px 13px!important;border-radius:15px!important;}

}

@media (max-width:390px){

  .redeem-split-app.is-flow-mode .select-counter{font-size:10.5px!important;}
}

.employee-complete-view,
.employee-orders-view{
  width:min(960px,100%);
  margin:0 auto;
}

/* Employee redemption success — quiet editorial card */
.employee-complete-card{
  overflow:hidden;
  border:1px solid #eadfd6;
  border-radius:26px;
  background:#fffdf9;
  box-shadow:0 18px 46px rgba(59,39,30,.075);
}
.employee-complete-view .employee-complete-card{animation:redeemSuccessContent 520ms cubic-bezier(.22,1,.36,1) both;}
.employee-complete-view .employee-complete-seal{animation:redeemSuccessSeal 520ms 160ms cubic-bezier(.22,1,.36,1) both;}
@media (prefers-reduced-motion:reduce){.employee-complete-view .employee-complete-card,.employee-complete-view .employee-complete-seal{animation:none;}}
.employee-complete-header{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:30px 32px 26px;
  border-bottom:1px solid #eee4dc;
}
.employee-complete-seal{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border:1px solid #e6cdd2;
  border-radius:50%;
  color:#a71838;
  background:#fff7f7;
  font-size:22px;
  font-weight:700;
  box-shadow:inset 0 0 0 6px rgba(167,24,56,.025);
}
.employee-complete-heading{min-width:0;}
.employee-complete-kicker{
  margin:0 0 5px;
  color:#a1714f;
  font-size:10px;
  font-weight:750;
  letter-spacing:.18em;
}
.employee-complete-heading h2{
  margin:0;
  color:#28231f;
  font-family:Georgia,"Songti SC","SimSun",serif;
  font-size:32px;
  font-weight:650;
  letter-spacing:-.025em;
}
.employee-complete-heading>p:last-child{
  margin:7px 0 0;
  color:#8a7e75;
  font-size:12px;
}
.employee-complete-order-no{
  min-width:210px;
  padding:11px 14px;
  border:1px solid #eadfd6;
  border-radius:14px;
  background:#fbf7f2;
  text-align:right;
}
.employee-complete-order-no span{
  display:block;
  margin-bottom:3px;
  color:#9a8b80;
  font-size:10px;
}
.employee-complete-order-no strong{
  display:block;
  color:#4c4038;
  font-size:13px;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
.employee-complete-content{padding:24px 32px 0;}
.employee-complete-benefit{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:start;
  gap:15px;
  padding:20px;
  border:1px solid #eee4dc;
  border-radius:18px;
  background:#fcf8f4;
}
.employee-complete-benefit__mark{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border:1px solid #e8d3bd;
  border-radius:14px;
  color:#9a693e;
  background:#fffaf2;
  font-family:Georgia,"Songti SC","SimSun",serif;
  font-size:17px;
}
.employee-complete-benefit__copy{min-width:0;}
.employee-complete-benefit__copy>span,
.employee-complete-remaining span{
  display:block;
  margin-bottom:4px;
  color:#9b8d82;
  font-size:10px;
  letter-spacing:.08em;
}
.employee-complete-benefit__copy h3{
  margin:0 0 10px;
  color:#2d2723;
  font-size:17px;
}
.employee-complete-benefit__copy ul{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}
.employee-complete-benefit__copy li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:#655a52;
  font-size:12px;
}
.employee-complete-benefit__copy li strong{color:#352f2a;font-weight:700;}
.employee-complete-remaining{
  min-width:88px;
  padding-left:18px;
  border-left:1px solid #eadfd6;
  text-align:right;
}
.employee-complete-remaining strong{
  color:#a71838;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  font-weight:500;
  line-height:1;
}
.employee-complete-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:18px 0 0;
  border-top:1px solid #eee4dc;
  border-bottom:1px solid #eee4dc;
}
.employee-complete-meta>div{
  min-width:0;
  padding:15px 2px;
}
.employee-complete-meta>div:nth-child(even){padding-left:22px;border-left:1px solid #eee4dc;}
.employee-complete-meta__address{grid-column:1/-1;border-top:1px solid #eee4dc;}
.employee-complete-meta__address:nth-child(even){padding-left:2px;border-left:0;}
.employee-complete-meta dt{
  margin-bottom:4px;
  color:#9b8d82;
  font-size:10px;
}
.employee-complete-meta dd{
  margin:0;
  color:#3a322d;
  font-size:12px;
  font-weight:650;
  line-height:1.6;
  overflow-wrap:anywhere;
}
.employee-complete-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:20px 32px 28px;
}
.employee-complete-actions .btn{
  min-width:118px;
  min-height:40px;
  border-radius:999px;
}

/* Employee order history */
.employee-orders-view{padding-top:2px;}
.employee-orders-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  align-items:end;
  gap:24px;
  margin-bottom:22px;
  padding-bottom:20px;
  border-bottom:1px solid #eadfd6;
}
.employee-orders-heading{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:14px;
}
.employee-orders-back{
  display:grid;
  width:38px;
  height:38px;
  flex:0 0 auto;
  place-items:center;
  margin-top:2px;
  border:1px solid #dfd1c6;
  border-radius:50%;
  color:#655a52;
  background:#fffdf9;
  cursor:pointer;
  transition:border-color .18s ease,color .18s ease,transform .18s ease;
}
.employee-orders-back:hover{border-color:#b98278;color:#a71838;transform:translateX(-2px);}
.employee-orders-kicker{
  margin:0 0 5px;
  color:#a1714f;
  font-size:10px;
  font-weight:750;
  letter-spacing:.18em;
}
.employee-orders-heading h2{
  margin:0;
  color:#28231f;
  font-family:Georgia,"Songti SC","SimSun",serif;
  font-size:29px;
  font-weight:650;
  letter-spacing:-.02em;
}
.employee-orders-heading div>p:last-child{
  margin:7px 0 0;
  color:#8d8076;
  font-size:12px;
}
.employee-orders-filter label{
  display:block;
  margin-bottom:6px;
  color:#8f8177;
  font-size:10px;
}
.employee-orders-filter .form-control{
  min-height:42px;
  border-radius:12px;
  background:#fffdf9;
}
.employee-order-list--refined{display:grid;gap:12px;}
.employee-orders-view .employee-order-card--refined{
  display:grid;
  width:100%;
  grid-template-columns:minmax(0,1fr) auto 28px;
  align-items:center;
  gap:24px;
  padding:20px 22px;
  border:1px solid #eadfd6;
  border-radius:18px;
  color:#302a26;
  background:#fffdf9;
  box-shadow:none;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.employee-orders-view .employee-order-card--refined:hover{
  border-color:#d9c5b7;
  box-shadow:0 12px 28px rgba(65,43,33,.06);
  transform:translateY(-1px);
}
.employee-order-card__main{min-width:0;}
.employee-order-card__eyebrow{
  margin-bottom:5px;
  color:#ad7b55;
  font-size:9px;
  font-weight:750;
  letter-spacing:.18em;
}
.employee-order-card__title-row{
  display:flex;
  min-width:0;
  align-items:center;
  gap:10px;
}
.employee-order-card__number{
  min-width:0;
  color:#2d2723;
  font-size:14px;
  font-variant-numeric:tabular-nums;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.employee-orders-view .employee-order-status{
  min-height:22px;
  padding:1px 8px;
  border-color:#e3d5c7;
  color:#786a60;
  background:#fbf7f2;
}
.employee-order-card__products{
  margin:9px 0 0;
  color:#6f635a;
  font-size:12px;
  line-height:1.55;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.employee-order-card__meta{
  display:grid;
  grid-template-columns:repeat(3,auto);
  gap:22px;
  color:#5d534c;
  font-size:11px;
  white-space:nowrap;
}
.employee-order-card__meta span{display:block;}
.employee-order-card__meta small{
  display:block;
  margin-bottom:3px;
  color:#a09389;
  font-size:9px;
}
.employee-order-card__arrow{
  color:#b49480;
  font-size:18px;
  transition:transform .18s ease;
}
.employee-order-card--refined:hover .employee-order-card__arrow{transform:translateX(3px);}
.employee-orders-empty{
  display:grid;
  min-height:180px;
  place-items:center;
  align-content:center;
  gap:5px;
  border:1px dashed #e2d6cc;
  border-radius:18px;
  color:#6e625a;
  background:#fcf9f5;
}
.employee-orders-empty small{color:#9a8d84;}
.employee-order-pagination--refined{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #eee4dc;
}
.employee-order-page-info{color:#9a8d84;font-size:11px;}
.employee-order-page-actions{display:flex;gap:8px;}
.employee-order-page-actions .btn{min-height:36px;border-radius:999px;}

@media (max-width:820px){
  .employee-complete-header{grid-template-columns:48px minmax(0,1fr);padding:24px;}
  .employee-complete-order-no{grid-column:1/-1;min-width:0;text-align:left;}
  .employee-orders-header{grid-template-columns:1fr;gap:16px;}
  .employee-orders-filter{width:min(260px,100%);}
  .employee-orders-view .employee-order-card--refined{grid-template-columns:minmax(0,1fr) 20px;gap:14px;}
  .employee-order-card__meta{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px;border-top:1px solid #f0e7e0;white-space:normal;}
  .employee-order-card__arrow{grid-column:2;grid-row:1;}
}
@media (max-width:560px){
  .employee-complete-card{border-radius:20px;}
  .employee-complete-header{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:20px 18px;}
  .employee-complete-seal{width:42px;height:42px;font-size:18px;}
  .employee-complete-heading h2{font-size:26px;}
  .employee-complete-content{padding:18px 18px 0;}
  .employee-complete-benefit{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:16px;}
  .employee-complete-benefit__mark{width:38px;height:38px;border-radius:12px;}
  .employee-complete-remaining{grid-column:2;padding:10px 0 0;border-top:1px solid #eadfd6;border-left:0;text-align:left;}
  .employee-complete-meta{grid-template-columns:1fr;}
  .employee-complete-meta>div,.employee-complete-meta>div:nth-child(even){padding:13px 0;border-left:0;}
  .employee-complete-meta>div+div{border-top:1px solid #eee4dc;}
  .employee-complete-actions{display:grid;grid-template-columns:1fr;padding:18px;}
  .employee-orders-heading h2{font-size:26px;}
  .employee-orders-view .employee-order-card--refined{padding:17px 16px;border-radius:16px;}
  .employee-order-card__meta{grid-template-columns:1fr 1fr;}
  .employee-order-card__meta span:last-child{grid-column:1/-1;}
  .employee-order-pagination--refined{justify-content:space-between;}
}


.redemption-mode-tabs{flex:0 0 auto;}
.redemption-mode-tab{position:relative;border-bottom:0;}
.redemption-mode-tab.active::after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--brand);content:"";}
.redeem-split-app.is-flow-mode .employee-flow{flex:1 1 auto;}
.pagination .info{flex:0 0 auto;}.page-size-label{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;}.page-size-select{width:auto!important;min-width:82px;flex:0 0 82px;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.file-picker{display:flex;align-items:center;gap:10px;min-width:0;}.file-picker-name{min-width:0;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;}.field-help{margin:7px 0 0;color:var(--text-muted);font-size:11px;}
.recon-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:16px 0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--border);overflow:hidden;}.recon-summary>div{min-width:0;padding:13px 15px;background:var(--surface);}.recon-summary span{display:block;margin-bottom:5px;color:var(--text-muted);font-size:11px;}.recon-summary strong{font-size:20px;font-weight:650;}.recon-summary>div:last-child{grid-column:1/-1;padding:9px 15px;color:var(--text-muted);background:var(--surface-subtle);}.recon-summary>div:last-child strong{font-size:12px;font-weight:500;}.recon-summary .is-danger strong{color:var(--danger);}
.recon-filter-tabs{display:flex;gap:6px;margin-bottom:14px;}.recon-filter-tabs button{padding:6px 13px;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);background:var(--surface);cursor:pointer;font-size:12px;}.recon-filter-tabs button.active{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);}
.category-list{display:grid;gap:0;}.cat-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--border);}.cat-row>.form-control{flex:1;min-width:0;}.category-create-row{display:flex;align-items:center;gap:10px;margin-top:18px;}.category-create-row .form-control{flex:1;}.category-create-row .btn{flex:0 0 auto;}
#modal[open]{display:flex;flex-direction:column;width:min(var(--admin-dialog-width,580px),calc(100vw - var(--admin-dialog-gutter,32px)));max-height:min(var(--admin-dialog-max-vh,82vh),var(--admin-dialog-max-px,82vh));overflow:hidden;}#modal .dialog-header{flex:0 0 auto;}#modal .dialog-content{min-height:0;flex:1 1 auto;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;}#modal .dialog-content::-webkit-scrollbar{display:none;width:0;height:0;}#modal .dialog-footer{flex:0 0 auto;}.dialog-content .form-group{margin-bottom:20px;}.dialog-content .form-control{min-height:46px;}



@media (max-width:760px){.recon-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.recon-summary>div:last-child{grid-column:1/-1;}.pagination{justify-content:flex-start;}.category-create-row{align-items:stretch;}.category-create-row .btn{padding-inline:12px;}}

.front-shell:has(.redeem-split-app.is-flow-mode){background:#f2ece7!important;background-image:none!important;background-attachment:scroll!important;}
.redeem-split-app.is-flow-mode .hero-motion-bg, .redeem-split-app.is-flow-mode .redeem-visual-panel{display:none!important;}
.redeem-split-app.is-flow-mode, .redeem-split-app.is-flow-mode *, .redeem-split-app.is-flow-mode *::before, .redeem-split-app.is-flow-mode *::after{}
.redeem-split-app.is-flow-mode{contain:layout paint style;scroll-behavior:auto!important;background:rgba(250,244,239,.94)!important;box-shadow:0 16px 44px rgba(43,25,18,.08),inset 0 1px 0 rgba(255,255,255,.82)!important;}
.redeem-split-app.is-flow-mode::before{background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(248,239,233,.10))!important;}
.redeem-split-app.is-flow-mode .front-card{contain:layout style;background:linear-gradient(145deg,#fffdfa,#fbf6f1)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.96)!important;}

.redeem-split-app.is-flow-mode .select-counter, .redeem-split-app.is-flow-mode #order-settlement-summary>*, .redeem-split-app.is-flow-mode #order-settlement-summary .settlement-breakdown{background:#fff!important;box-shadow:0 3px 10px rgba(57,35,25,.04)!important;}

#redeem-rules-modal[open]{background:linear-gradient(150deg,#fffdfa,#faf5f0)!important;box-shadow:0 18px 48px rgba(39,25,16,.18),inset 0 1px 0 rgba(255,255,255,.94)!important;animation:none!important;transform:none!important;will-change:auto!important;}
#redeem-rules-modal::backdrop, #redeem-rules-modal[open]::backdrop{background:rgba(34,22,17,.30)!important;animation:none!important;}

.front-shell{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.redeem-split-app .panel-heading h2{letter-spacing:-.025em;}
.redeem-split-app .btn{font-weight:650;}
.redeem-split-app .btn-primary, .redeem-split-app .btn-accent{box-shadow:0 7px 18px rgba(132,32,51,.14);}
.redeem-split-app .btn-primary:hover, .redeem-split-app .btn-accent:hover{box-shadow:0 9px 22px rgba(132,32,51,.18);}
.redeem-split-app button:focus-visible, .redeem-split-app input:focus-visible, .redeem-split-app select:focus-visible, .redeem-split-app textarea:focus-visible{outline:2px solid rgba(143,33,55,.42);outline-offset:2px;}
@media (max-width:760px){
.front-shell:has(.redeem-split-app.is-flow-mode){background:#f8f2ed!important;background-image:none!important;background-attachment:scroll!important;}
.redeem-split-app.is-flow-mode{background:#f8f2ed!important;}
.redeem-split-app.is-flow-mode .front-card{background:#fcf9f6!important;}

}

/* ==========================================================
   C-END AESTHETIC SYSTEM — Refined Edition
   Compact, editorial, component-scoped. No admin selectors.
   ========================================================== */

.benefit-home{
  --benefit-ink:#2b2420;
  --benefit-muted:#81756d;
  --benefit-line:rgba(91,69,57,.12);
  --benefit-gold:#9a744f;
  --benefit-wine:#8e1d34;
  --benefit-paper:#fffdf9;
  container-type:inline-size;
  width:min(980px,100%);
  margin:0 auto;
  padding:0 0 10px;
}
.benefit-login-leaving{animation:benefitLoginLeave 180ms ease-in both;}
@keyframes benefitLoginLeave{to{opacity:0;transform:translateY(-6px) scale(.985);}}
.benefit-home-enter-prepared{opacity:0;transform:translateY(20px) scale(.975);filter:blur(4px);}
.benefit-home-enter-active{animation:benefitHomeArrive 620ms 480ms cubic-bezier(.16,1,.3,1) both;}
@keyframes benefitHomeArrive{to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}}
.benefit-arrival{position:fixed;z-index:9998;inset:0;display:grid;place-items:center;overflow:hidden;background:#F8F5EF;color:#332c28;text-align:center;}
.benefit-arrival__moon{position:absolute;top:40%;left:50%;width:min(68vw,270px);aspect-ratio:1;border:1px solid rgba(184,154,104,.24);border-radius:50%;transform:translate(-50%,-50%) scale(.72);opacity:0;}
.benefit-arrival__moon::after{position:absolute;inset:-24px;border:1px solid rgba(184,154,104,.15);border-radius:50%;content:"";}
.benefit-arrival.is-active .benefit-arrival__moon{animation:benefitMoonArrive 620ms ease-out both;}
.benefit-arrival.is-active .benefit-arrival__moon::after{animation:benefitMoonEcho 620ms ease-out both;}
.benefit-arrival__copy{position:relative;margin-top:55px;padding:20px;opacity:0;transform:translateY(18px);}
.benefit-arrival.is-active .benefit-arrival__copy{animation:benefitCopyArrive 520ms 300ms ease-out both;}
.benefit-arrival__copy span{color:#9d8460;font-size:10px;letter-spacing:.16em;}
.benefit-arrival__copy h2{margin:12px 0;color:#3e302c;font-size:clamp(23px,5vw,34px);font-weight:600;letter-spacing:0;}
.benefit-arrival__copy p{margin:0;color:#81736a;font-size:13px;overflow-wrap:break-word;}
.benefit-arrival.is-leaving{animation:benefitArrivalLeave 200ms ease-in both;}
@keyframes benefitMoonArrive{to{opacity:1;transform:translate(-50%,-50%) scale(1.04);}}
@keyframes benefitMoonEcho{from{opacity:.16;transform:scale(.62);}to{opacity:0;transform:scale(1.25);}}
@keyframes benefitCopyArrive{to{opacity:1;transform:translateY(0);}}
@keyframes benefitArrivalLeave{to{opacity:0;}}
@media (prefers-reduced-motion:reduce){
  .benefit-login-leaving,.benefit-home-enter-active,.benefit-arrival.is-active .benefit-arrival__copy,.benefit-arrival.is-leaving{animation:benefitReducedFade 150ms ease-out both;transform:none;filter:none;}
  .benefit-arrival__moon,.benefit-arrival__moon::after{display:none;}
  .benefit-arrival.is-active .benefit-arrival__moon,.benefit-arrival.is-active .benefit-arrival__moon::after{animation:none;}
  @keyframes benefitReducedFade{to{opacity:1;}}
}
.benefit-home-hero{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding:22px 24px;
  border:1px solid rgba(112,82,66,.10);
  border-radius:18px;
  background:#fffdf9;
  box-shadow:0 10px 28px rgba(54,37,29,.045);
}
.benefit-home-hero::before{
  position:absolute;
  top:22px;
  bottom:22px;
  left:0;
  width:2px;
  border-radius:2px;
  background:#9a744f;
  content:"";
  opacity:.72;
}
.benefit-home-hero::after{display:none;}
.benefit-home-hero__copy{
  min-width:0;
  flex:1 1 520px;
  padding-left:2px;
}
.benefit-home-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
  color:#9a744f;
  font-size:8px;
  font-weight:720;
  letter-spacing:.14em;
}
.benefit-home-eyebrow::before{
  width:16px;
  height:1px;
  background:#a47a52;
  content:"";
}
.benefit-home-hero h2{
  margin:0;
  color:var(--benefit-ink);
  font:600 clamp(28px,3cqw,34px)/1.08 var(--a-font-editorial,Georgia,"Times New Roman",serif);
  letter-spacing:-.04em;
  white-space:nowrap;
}
.benefit-home-hero__copy>p{
  max-width:520px;
  margin:8px 0 0;
  color:var(--benefit-muted);
  font-size:10.5px;
  line-height:1.7;
}
.benefit-home-stats{
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:15px;
}
.benefit-home-stats>span{display:flex;align-items:baseline;gap:4px;white-space:nowrap;}
.benefit-home-stats strong{color:var(--benefit-ink);font:600 16px/1 var(--a-font-editorial,Georgia,serif);}
.benefit-home-stats small{color:#9b9088;font-size:8.5px;}
.benefit-home-stats>i{width:1px;height:12px;background:var(--benefit-line);}
.benefit-home-account{
  width:min(340px,100%);
  flex:0 1 340px;
  display:grid;
  gap:11px;
  padding:12px 13px;
  border:1px solid rgba(112,82,66,.10);
  border-radius:14px;
  background:#fff;
}
.benefit-home-account__identity{display:flex;align-items:center;gap:9px;min-width:0;}
.benefit-home-avatar{
  display:grid;
  width:34px;
  height:34px;
  flex:0 0 34px;
  place-items:center;
  border:1px solid rgba(142,29,52,.12);
  border-radius:50%;
  color:var(--benefit-wine);
  background:#fff7f7;
  font:600 12px/1 var(--a-font-editorial,Georgia,serif);
}
.benefit-home-account__identity>div{min-width:0;}
.benefit-home-account__identity strong{display:block;overflow:hidden;color:var(--benefit-ink);font-size:11.5px;font-weight:680;text-overflow:ellipsis;white-space:nowrap;}
.benefit-home-account__identity p{margin:2px 0 0;overflow:hidden;color:#958981;font-size:9px;text-overflow:ellipsis;white-space:nowrap;}
.benefit-home-account__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.benefit-home-action{
  min-height:31px;
  padding:0 11px;
  border:1px solid #e1d6ce;
  border-radius:10px;
  color:#6f645d;
  background:#fff;
  box-shadow:none;
  font-size:9.5px;
  font-weight:650;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease;
}
.benefit-home-action:hover{transform:translateY(-1px);border-color:#ccb9ab;background:#fffdfa;}
.benefit-home-action--primary{border-color:#8e1d34;color:#fff;background:#8e1d34;}
.benefit-home-action--primary:hover{border-color:#7b182d;background:#7b182d;}
.benefit-home-action--quiet{margin-left:auto;border-color:transparent;color:#9a8e86;background:transparent;}
.benefit-home-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:18px 2px 9px;
}
.benefit-home-section-head>div{display:grid;gap:1px;}
.benefit-home-section-head span{color:#9a744f;font-size:7.5px;font-weight:720;letter-spacing:.15em;}
.benefit-home-section-head h3{margin:0;color:var(--benefit-ink);font:600 17px/1.25 var(--a-font-editorial,Georgia,serif);}
.benefit-home-section-head p{margin:0;color:#9a8d84;font-size:9px;}
.benefit-home-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.benefit-home-card{
  position:relative;
  display:grid;
  grid-template-areas:"top" "body" "meta" "footer";
  min-width:0;
  padding:16px 17px 15px;
  border:1px solid rgba(112,82,66,.12);
  border-radius:16px;
  background:#fffdfa;
  box-shadow:0 7px 20px rgba(56,38,29,.035);
}
.benefit-home-card:only-child{
  grid-column:1/-1;
  grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);
  grid-template-areas:"top top" "body meta" "footer footer";
  column-gap:30px;
  max-width:none;
}
.benefit-home-card::after{display:none;}
.benefit-home-card.is-available{border-color:rgba(142,29,52,.13);}
.benefit-home-card__top{grid-area:top;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;}
.benefit-home-card__mark{
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border:1px solid rgba(154,116,79,.20);
  border-radius:9px;
  color:#956a42;
  background:#fffaf2;
  font:600 11px/1 var(--a-font-editorial,Georgia,serif);
}
.benefit-home-card__status-group{display:flex;align-items:center;gap:7px;min-width:0;}
.benefit-home-card__status-group small{color:#a0948c;font-size:8.5px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.benefit-home-card__body{grid-area:body;margin-top:11px;min-width:0;}
.benefit-home-card__kicker{display:block;margin-bottom:4px;color:#9f7752;font-size:7px;font-weight:720;letter-spacing:.13em;}
.benefit-home-card__body h4{margin:0;color:#312a25;font-size:14px;line-height:1.4;font-weight:700;letter-spacing:-.01em;}
.benefit-home-card__body p{margin:3px 0 0;color:#8f837b;font-size:9.5px;line-height:1.55;}
.benefit-home-card__meta{
  grid-area:meta;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:11px;
  padding:9px 0;
  border-top:1px solid var(--benefit-line);
  border-bottom:1px solid var(--benefit-line);
  min-width:0;
}
.benefit-home-card:only-child .benefit-home-card__meta{align-self:end;margin-top:11px;}
.benefit-home-card__meta>div{display:grid;gap:2px;min-width:0;}
.benefit-home-card__meta span{color:#a0958d;font-size:8px;}
.benefit-home-card__meta strong{overflow:hidden;color:#4b413b;font-size:9.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap;}
.benefit-home-card__footer{grid-area:footer;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;min-width:0;}
.benefit-home-card__footer>span{color:#9a8e86;font-size:8px;}
.benefit-home-card__button{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 12px;
  border:1px solid #8e1d34;
  border-radius:10px;
  color:#fff;
  background:#8e1d34;
  box-shadow:none;
  font-size:9.5px;
  font-weight:680;
  cursor:pointer;
  transition:transform .16s ease,background-color .16s ease;
}
.benefit-home-card__button i{font-size:11px;font-style:normal;transition:transform .16s ease;}
.benefit-home-card__button:hover:not(:disabled){transform:translateY(-1px);background:#7c182e;}
.benefit-home-card__button:hover:not(:disabled) i{transform:translateX(2px);}
.benefit-home-card__button:disabled{border-color:#ddd3cb;color:#a79b93;background:#f5f1ed;cursor:not-allowed;}
.benefit-home-empty{
  grid-column:1/-1;
  display:grid;
  min-height:120px;
  place-items:center;
  align-content:center;
  gap:5px;
  padding:20px;
  border:1px dashed #dfd4cb;
  border-radius:16px;
  color:#9b9088;
  background:rgba(255,255,255,.50);
  text-align:center;
}
.benefit-home-empty>span{display:grid;width:30px;height:30px;place-items:center;border:1px solid #ddcdbf;border-radius:50%;color:#9e7753;background:#fffaf4;font-size:12px;}
.benefit-home-empty strong{color:#524840;font-size:11px;}
.benefit-home-empty p{margin:0;font-size:9px;}

/* Service notice — compact editorial treatment */
.announcement-modal.holiday-notice-modal{
  width:min(690px,calc(100vw - 40px));
  max-height:min(84vh,720px);
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:22px;
  color:#302823;
  background:linear-gradient(145deg,rgba(255,253,249,.82),rgba(255,248,242,.68));
  -webkit-backdrop-filter:blur(30px) saturate(1.16);
  backdrop-filter:blur(30px) saturate(1.16);
  box-shadow:0 34px 96px rgba(37,24,18,.27),0 8px 26px rgba(37,24,18,.10),inset 0 1px 0 rgba(255,255,255,.92);
}
.announcement-modal.holiday-notice-modal::backdrop{
  background:rgba(42,30,24,.34);
  -webkit-backdrop-filter:blur(14px) saturate(.92);
  backdrop-filter:blur(14px) saturate(.92);
}
.holiday-notice-shell{display:flex;min-height:0;max-height:min(84vh,720px);flex-direction:column;background:transparent;}
.holiday-notice-header{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex:0 0 auto;
  padding:23px 26px 18px;
  overflow:hidden;
  border-bottom:1px solid rgba(104,79,65,.10);
  background:linear-gradient(180deg,rgba(255,253,249,.48),rgba(255,250,246,.28));
}
.holiday-notice-header::after{
  position:absolute;
  top:0;
  left:26px;
  width:42px;
  height:2px;
  background:linear-gradient(90deg,#8e1d34,#b18a62);
  content:"";
}
.holiday-notice-title-group{position:relative;z-index:1;min-width:0;}
.holiday-notice-eyebrow{display:block;margin-bottom:7px;color:#9b7651;font-size:8px;font-weight:720;letter-spacing:.16em;}
.holiday-notice-title-group h3{margin:0;color:#2d2622;font:600 clamp(23px,2.4vw,28px)/1.18 var(--a-font-editorial,Georgia,"Times New Roman",serif);letter-spacing:-.035em;}
.holiday-notice-title-group p{margin:6px 0 0;color:#9a8e86;font-size:9.5px;line-height:1.5;}
.holiday-notice-close{
  position:relative;
  z-index:2;
  display:grid;
  width:32px;
  height:32px;
  flex:0 0 32px;
  place-items:center;
  padding:0;
  border:1px solid #ded2c9;
  border-radius:50%;
  color:#796d65;
  background:rgba(255,255,255,.42);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  font-size:17px;
  line-height:1;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background-color .16s ease;
}
.holiday-notice-close:hover{transform:rotate(4deg);border-color:#cbb7a8;background:#fffaf5;}
.holiday-notice-body{min-height:0;flex:1 1 auto;overflow-y:auto;padding:20px 26px 18px;background:rgba(255,252,248,.16);scrollbar-width:thin;scrollbar-color:#d8cbc1 transparent;}
.holiday-notice-intro{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid rgba(255,255,255,.58);border-radius:14px;background:rgba(255,250,247,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);}
.holiday-notice-intro>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid rgba(142,29,52,.12);border-radius:50%;color:#8e1d34;background:rgba(255,245,246,.58);font:600 12px/1 var(--a-font-editorial,Georgia,serif);}
.holiday-notice-intro p{margin:0;color:#403732;font-size:11.5px;font-weight:650;line-height:1.55;}
.holiday-notice-intro small{display:block;margin-top:2px;color:#9b8e86;font-size:9px;}
.holiday-notice-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;}
.holiday-notice-date-card{position:relative;display:grid;gap:4px;min-width:0;padding:12px 13px 11px;overflow:hidden;border:1px solid rgba(255,255,255,.62);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(255,248,242,.34));-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08);box-shadow:0 8px 24px rgba(77,49,35,.045),inset 0 1px 0 rgba(255,255,255,.78);}
.holiday-notice-date-card>span{color:#96704d;font-size:8.5px;font-weight:720;letter-spacing:.06em;}
.holiday-notice-date-card>strong{color:#3a312b;font-size:11.5px;line-height:1.5;font-weight:660;}
.holiday-notice-date-card>i{position:absolute;right:10px;bottom:-5px;color:rgba(142,29,52,.04);font:600 42px/1 var(--a-font-editorial,Georgia,serif);font-style:normal;}
.holiday-notice-reminders{margin-top:15px;}
.holiday-notice-section-label{display:block;margin-bottom:6px;color:#997450;font-size:8px;font-weight:720;letter-spacing:.13em;}
.holiday-notice-reminders ul{display:grid;gap:0;margin:0;padding:0;list-style:none;}
.holiday-notice-reminders li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:6px;align-items:start;padding:8px 2px;border-bottom:1px solid rgba(105,79,65,.09);}
.holiday-notice-reminders li:last-child{border-bottom:0;}
.holiday-notice-reminders li>span{color:#a07852;font-size:10px;line-height:1.6;}
.holiday-notice-reminders li p{margin:0;color:#665b54;font-size:10.5px;line-height:1.65;}
.holiday-notice-closing{margin:11px 0 0;padding-top:10px;border-top:1px solid rgba(105,79,65,.09);color:#8f827a;font-size:9.5px;line-height:1.7;}
.holiday-notice-copy{display:grid;gap:8px;}
.holiday-notice-copy p{margin:0;color:#5f554e;font-size:10.5px;line-height:1.7;}
.holiday-notice-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:12px 26px 14px;border-top:1px solid rgba(105,79,65,.10);background:rgba(255,252,248,.34);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
.holiday-notice-signoff{display:flex;align-items:center;gap:6px;color:#9a8e86;font-size:9px;}
.holiday-notice-signoff>span{color:#a07852;}
.holiday-notice-signoff p{margin:0;}
.holiday-notice-confirm{
  min-width:108px;
  min-height:36px;
  padding:0 16px;
  border:1px solid #8e1d34;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(180deg,rgba(157,30,55,.95),rgba(125,20,42,.98));
  box-shadow:0 10px 24px rgba(142,29,52,.20),inset 0 1px 0 rgba(255,255,255,.16);
  font-size:10.5px;
  font-weight:680;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.holiday-notice-confirm:hover{transform:translateY(-1px);background:#7b182d;box-shadow:0 8px 18px rgba(142,29,52,.15);}

@container (max-width:820px){
  .benefit-home-hero{gap:18px;padding:20px;}
  .benefit-home-hero__copy{flex-basis:420px;}
  .benefit-home-account{flex-basis:300px;width:min(300px,100%);}
  .benefit-home-card:only-child{grid-template-columns:1fr;grid-template-areas:"top" "body" "meta" "footer";column-gap:0;}
}
@container (max-width:700px){
  .benefit-home-hero{display:grid;grid-template-columns:1fr;gap:14px;padding:18px 16px;}
  .benefit-home-hero::before{top:18px;bottom:18px;}
  .benefit-home-hero h2{font-size:28px;}
  .benefit-home-account{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;}
  .benefit-home-account__actions{justify-content:flex-end;}
  .benefit-home-action--quiet{margin-left:0;}
  .benefit-home-grid{grid-template-columns:1fr;}
  .benefit-home-card:only-child{grid-column:auto;}
}
@container (max-width:520px){
  .benefit-home-stats{gap:8px;flex-wrap:wrap;}
  .benefit-home-account{grid-template-columns:1fr;padding:12px;}
  .benefit-home-account__actions{justify-content:flex-start;}
  .benefit-home-section-head{align-items:flex-start;flex-direction:column;gap:3px;margin-top:16px;}
  .benefit-home-section-head p{display:none;}
  .benefit-home-card{padding:14px;border-radius:14px;}
  .benefit-home-card__meta{grid-template-columns:1fr 1fr;}
  .benefit-home-card__footer{align-items:center;}
}

@media (max-width:680px){
  .announcement-modal.holiday-notice-modal{width:calc(100vw - 20px);max-height:91vh;border-radius:18px;}
  .holiday-notice-shell{max-height:91vh;}
  .holiday-notice-header{padding:20px 18px 16px;}
  .holiday-notice-header::after{left:18px;}
  .holiday-notice-title-group h3{font-size:23px;}
  .holiday-notice-body{padding:16px 18px;}
  .holiday-notice-schedule{grid-template-columns:1fr;}
  .holiday-notice-footer{align-items:stretch;flex-direction:column;padding:11px 18px 14px;}
  .holiday-notice-signoff{justify-content:center;}
  .holiday-notice-confirm{width:100%;}
}


/* Seasonal redemption V1 */
.product-card.seasonal-unavailable{opacity:.78;}
.seasonal-availability-note{margin-top:8px;padding:8px 10px;border:1px solid rgba(132,51,46,.15);border-radius:10px;background:rgba(250,246,241,.76);display:grid;gap:3px;color:#7b3632;}
.seasonal-availability-note span{font-size:12px;font-weight:700;letter-spacing:.02em;}
.seasonal-availability-note small{font-size:11px;line-height:1.45;color:#7e7068;}
.seasonal-disabled-btn{cursor:not-allowed;opacity:.62;}
.seasonal-benefit-hint{margin:10px 0 2px;padding:9px 11px;border-radius:12px;background:rgba(127,47,43,.06);display:grid;gap:3px;}
.seasonal-benefit-hint span{font-size:12px;font-weight:700;color:#7f302d;}
.seasonal-benefit-hint small{font-size:11px;line-height:1.45;color:#7c6f68;}

/* Seasonal redemption V1 */
.product-card.seasonal-unavailable{opacity:.78;}
.seasonal-availability-note{margin-top:8px;padding:8px 10px;border:1px solid rgba(132,51,46,.15);border-radius:10px;background:rgba(250,246,241,.76);display:grid;gap:3px;color:#7b3632;}
.seasonal-availability-note span{font-size:12px;font-weight:700;letter-spacing:.02em;}
.seasonal-availability-note small{font-size:11px;line-height:1.45;color:#7e7068;}
.seasonal-disabled-btn{cursor:not-allowed;opacity:.62;}
.seasonal-benefit-hint{margin-top:10px;padding:9px 11px;border-radius:12px;background:rgba(127,47,43,.06);display:grid;gap:3px;}
.seasonal-benefit-hint span{font-size:12px;font-weight:700;color:#7f302d;}
.seasonal-benefit-hint small{font-size:11px;line-height:1.45;color:#7c6f68;}


/* Seasonal restriction acknowledgement — blocking centered modal */
.seasonal-restriction-modal{
  width:min(540px,calc(100vw - 36px));
  max-width:none;
  max-height:calc(100vh - 40px);
  margin:auto;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  color:#302823;
  background:linear-gradient(145deg,rgba(255,253,249,.90),rgba(255,247,241,.80));
  -webkit-backdrop-filter:blur(30px) saturate(1.15);
  backdrop-filter:blur(30px) saturate(1.15);
  box-shadow:0 36px 110px rgba(37,24,18,.30),0 10px 30px rgba(37,24,18,.10),inset 0 1px 0 rgba(255,255,255,.94);
}
.seasonal-restriction-modal::backdrop{
  background:rgba(42,30,24,.38);
  -webkit-backdrop-filter:blur(14px) saturate(.92);
  backdrop-filter:blur(14px) saturate(.92);
}
.seasonal-restriction-shell{display:flex;flex-direction:column;background:transparent;}
.seasonal-restriction-header{
  position:relative;
  display:grid;
  justify-items:center;
  padding:30px 34px 20px;
  overflow:hidden;
  border-bottom:1px solid rgba(104,79,65,.09);
  text-align:center;
}
.seasonal-restriction-header::before{
  position:absolute;top:0;left:50%;width:62px;height:2px;
  background:linear-gradient(90deg,#8e1d34,#b18a62);
  transform:translateX(-50%);content:"";
}
.seasonal-restriction-header::after{
  position:absolute;top:-74px;right:-58px;width:178px;height:178px;
  border:1px solid rgba(142,29,52,.055);border-radius:50%;content:"";
}
.seasonal-restriction-eyebrow{position:relative;z-index:1;color:#9b7651;font-size:8px;font-weight:720;letter-spacing:.18em;}
.seasonal-restriction-mark{
  position:relative;z-index:1;display:grid;width:48px;height:48px;margin:15px 0 12px;place-items:center;
  border:1px solid rgba(142,29,52,.16);border-radius:50%;color:#8e1d34;
  background:rgba(255,248,246,.62);box-shadow:0 9px 28px rgba(142,29,52,.08),inset 0 1px 0 rgba(255,255,255,.88);
  font:600 17px/1 var(--a-font-editorial,Georgia,"Times New Roman",serif);
}
.seasonal-restriction-header h3{position:relative;z-index:1;margin:0;color:#2d2622;font:600 clamp(25px,3vw,31px)/1.16 var(--a-font-editorial,Georgia,"Times New Roman",serif);letter-spacing:-.035em;}
.seasonal-restriction-header p{position:relative;z-index:1;max-width:380px;margin:9px 0 0;color:#81756d;font-size:11px;line-height:1.7;}
.seasonal-restriction-body{padding:20px 30px 18px;background:rgba(255,252,248,.18);}
.seasonal-restriction-date{
  display:grid;justify-items:center;gap:5px;padding:15px 18px;border:1px solid rgba(255,255,255,.72);border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.60),rgba(255,248,242,.40));
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:0 10px 28px rgba(77,49,35,.045),inset 0 1px 0 rgba(255,255,255,.84);
}
.seasonal-restriction-date span{color:#9b7651;font-size:8.5px;font-weight:720;letter-spacing:.12em;}
.seasonal-restriction-date strong{color:#3a302a;font-size:17px;font-weight:680;letter-spacing:.02em;}
.seasonal-restriction-message{display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:start;margin-top:14px;padding:12px 2px 10px;border-bottom:1px solid rgba(105,79,65,.09);}
.seasonal-restriction-message>span{color:#a07852;font-size:10px;line-height:1.7;}
.seasonal-restriction-message p{margin:0;color:#5f554e;font-size:10.5px;line-height:1.72;}
.seasonal-restriction-note{margin:10px 0 0;color:#94877f;font-size:9.5px;line-height:1.7;text-align:center;}
.seasonal-restriction-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 30px 16px;border-top:1px solid rgba(105,79,65,.09);background:rgba(255,252,248,.34);}
.seasonal-restriction-footer>span{color:#9a8e86;font-size:9px;letter-spacing:.03em;}
.seasonal-restriction-confirm{
  min-width:118px;min-height:38px;padding:0 18px;border:1px solid #8e1d34;border-radius:999px;color:#fff;
  background:linear-gradient(180deg,rgba(157,30,55,.96),rgba(125,20,42,.99));
  box-shadow:0 10px 24px rgba(142,29,52,.20),inset 0 1px 0 rgba(255,255,255,.16);
  font-size:10.5px;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;
}
.seasonal-restriction-confirm:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(142,29,52,.24);}
.seasonal-restriction-confirm:focus-visible{outline:3px solid rgba(142,29,52,.18);outline-offset:3px;}
@media (max-width:560px){
  .seasonal-restriction-modal{width:calc(100vw - 20px);border-radius:20px;}
  .seasonal-restriction-header{padding:26px 20px 18px;}
  .seasonal-restriction-body{padding:17px 18px 15px;}
  .seasonal-restriction-footer{align-items:stretch;flex-direction:column;padding:12px 18px 15px;}
  .seasonal-restriction-footer>span{text-align:center;}
  .seasonal-restriction-confirm{width:100%;}
}


/* Customer-facing unified notice modal — v1.4 */
dialog.public-notice-modal{
  width:min(470px,calc(100vw - 28px));
  max-width:none;
  max-height:min(78vh,620px);
  margin:auto;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.64);
  border-radius:26px;
  color:#342b27;
  background:rgba(255,250,245,.72);
  box-shadow:0 28px 90px rgba(46,28,20,.30),inset 0 1px 0 rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(28px) saturate(128%);
  backdrop-filter:blur(28px) saturate(128%);
}
dialog.public-notice-modal::backdrop{
  background:rgba(39,26,21,.42);
  -webkit-backdrop-filter:blur(8px) saturate(92%);
  backdrop-filter:blur(8px) saturate(92%);
}
.public-notice-shell{display:flex;flex-direction:column;min-height:100%;background:linear-gradient(180deg,rgba(255,253,250,.46),rgba(255,248,243,.26));}
.public-notice-header{position:relative;display:flex;flex-direction:column;align-items:center;padding:28px 34px 17px;text-align:center;overflow:hidden;}
.public-notice-header::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent 10%,rgba(151,31,55,.88) 34%,rgba(185,145,98,.75) 66%,transparent 90%);}
.public-notice-header::after{content:"";position:absolute;width:170px;height:170px;right:-78px;top:-95px;border:1px solid rgba(170,126,90,.14);border-radius:50%;box-shadow:0 0 0 22px rgba(170,126,90,.04);}
.public-notice-eyebrow{position:relative;z-index:1;color:#9b7651;font-size:9px;font-weight:720;letter-spacing:.18em;}
.public-notice-mark{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;margin:13px 0 11px;border:1px solid rgba(151,31,55,.28);border-radius:50%;color:#9c1f37;background:rgba(255,252,249,.62);box-shadow:inset 0 0 0 5px rgba(151,31,55,.04);font-size:18px;font-weight:700;line-height:1;}
.public-notice-header h3{position:relative;z-index:1;margin:0;color:#302722;font:600 26px/1.18 Georgia,"Times New Roman","Noto Serif SC",serif;letter-spacing:-.025em;}
.public-notice-body{padding:7px 34px 23px;}
.public-notice-message{margin:0;padding:17px 18px;border:1px solid rgba(122,91,72,.10);border-radius:16px;color:#5d514a;background:rgba(255,255,255,.30);font-size:14px;line-height:1.8;text-align:center;white-space:pre-wrap;word-break:break-word;box-shadow:inset 0 1px 0 rgba(255,255,255,.56);}
.public-notice-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px 18px;border-top:1px solid rgba(105,79,65,.09);background:rgba(255,252,248,.30);}
.public-notice-footer>span{color:#9b8d84;font-size:10px;letter-spacing:.03em;}
.public-notice-confirm{min-width:128px;height:44px;padding:0 24px;border:0;border-radius:999px;color:#fff;background:linear-gradient(180deg,#a71f3b,#92172f);box-shadow:0 10px 24px rgba(145,23,47,.20),inset 0 1px 0 rgba(255,255,255,.20);font-size:14px;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;}
.public-notice-confirm:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(145,23,47,.25),inset 0 1px 0 rgba(255,255,255,.22);}
.public-notice-confirm:focus-visible{outline:3px solid rgba(151,31,55,.18);outline-offset:3px;}
.public-notice-modal[data-type="success"] .public-notice-mark{color:#6f6a45;border-color:rgba(133,118,72,.28);box-shadow:inset 0 0 0 5px rgba(133,118,72,.05);}
.public-notice-modal[data-type="info"] .public-notice-mark{font-family:Georgia,"Times New Roman",serif;font-style:italic;}
.public-notice-modal[data-type="error"] .public-notice-mark{color:#9c1f37;}
@media (max-width:560px){
  dialog.public-notice-modal{width:calc(100vw - 20px);border-radius:22px;}
  .public-notice-header{padding:25px 20px 15px;}
  .public-notice-body{padding:6px 18px 18px;}
  .public-notice-message{padding:15px 14px;font-size:13px;}
  .public-notice-footer{align-items:stretch;flex-direction:column;padding:12px 18px 15px;}
  .public-notice-footer>span{text-align:center;}
  .public-notice-confirm{width:100%;}
}

/* ===== V15 PRODUCT SELECTION NOTICE ===== */

.selection-notice-dialog {
  width: min(92vw, 520px);
  max-width: 520px;
  padding: 0;
  border: 1px solid rgba(180, 149, 96, .22);
  border-radius: 24px;
  overflow: hidden;
  background: #fbf7f0;
  color: #302724;
  box-shadow:
    0 30px 90px rgba(46, 28, 25, .26),
    0 8px 28px rgba(46, 28, 25, .10);
}

.selection-notice-dialog::backdrop {
  background: rgba(35, 25, 23, .52);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.selection-notice-dialog.motion-dialog-enter,
#order-confirm-modal.motion-dialog-enter {
  animation: redeemDialogIn 320ms cubic-bezier(.16,1,.3,1) both;
}
#order-success-modal.motion-dialog-enter {
  animation: redeemSuccessDialogIn 320ms cubic-bezier(.16,1,.3,1) both;
}
.selection-notice-dialog.motion-dialog-leave,
#order-confirm-modal.motion-dialog-leave,
#order-success-modal.motion-dialog-leave {
  animation: redeemDialogOut 180ms ease-in both;
}
.selection-notice-dialog.motion-dialog-enter::backdrop,
#order-confirm-modal.motion-dialog-enter::backdrop,
#order-success-modal.motion-dialog-enter::backdrop {
  animation: redeemBackdropIn 200ms ease-out both;
}
.selection-notice-dialog.motion-dialog-leave::backdrop,
#order-confirm-modal.motion-dialog-leave::backdrop,
#order-success-modal.motion-dialog-leave::backdrop {
  animation: redeemBackdropOut 180ms ease-in both;
}
@keyframes redeemDialogIn {
  from { opacity:0; transform:translateY(24px) scale(.985); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes redeemSuccessDialogIn {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes redeemDialogOut {
  from { opacity:1; transform:translateY(0); }
  to { opacity:0; transform:translateY(12px); }
}
@keyframes redeemBackdropIn { from { opacity:0; } to { opacity:1; } }
@keyframes redeemBackdropOut { from { opacity:1; } to { opacity:0; } }

.selection-notice-shell {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 0%, rgba(192, 154, 94, .15), transparent 34%),
    linear-gradient(180deg, #fffdf9 0%, #f7f1e8 100%);
}

.selection-notice-shell::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  right: 28px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(
    90deg,
    rgba(213, 185, 137, .2),
    #b88c59,
    rgba(213, 185, 137, .2)
  );
}

.selection-notice-close {
  position: absolute;
  z-index: 3;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(130, 105, 92, .12);
  border-radius: 50%;
  background: rgba(255, 255, 255, .72);
  color: #7e6a61;
  font-size: 24px;
  line-height: 30px;
  cursor: pointer;
  transition: .18s ease;
}

.selection-notice-close:hover {
  background: #fff;
  color: #8f1f3a;
  transform: rotate(4deg);
}

.selection-notice-head {
  padding: 34px 34px 22px;
  text-align: center;
  border-bottom: 1px solid rgba(139, 105, 77, .10);
}

.selection-notice-eyebrow {
  display: block;
  margin-bottom: 14px;
  color: #ad8958;
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.selection-notice-symbol {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin: 0 auto 14px;
  border: 1px solid rgba(122, 32, 53, .20);
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 28%, #a93450, #7f1f37 72%);
  box-shadow:
    0 9px 22px rgba(126, 31, 55, .18),
    inset 0 0 0 4px rgba(255,255,255,.06);
}

.selection-notice-symbol span {
  color: #f6e7c8;
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 500;
}

.selection-notice-head h3 {
  margin: 0;
  color: #4b292b;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 25px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: .05em;
}

.selection-notice-head p {
  margin: 9px 0 0;
  color: #8d7a71;
  font-size: 13px;
  line-height: 1.65;
}

.selection-notice-body {
  padding: 22px 30px 8px;
}

.selection-notice-product {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding: 12px 13px;
  border: 1px solid rgba(151, 120, 91, .13);
  border-radius: 16px;
  background: rgba(255, 255, 255, .60);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.selection-notice-product img,
.selection-notice-product-mark {
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  border-radius: 13px;
  object-fit: cover;
  background: #fff;
  box-shadow: 0 3px 12px rgba(80, 55, 43, .08);
}

.selection-notice-product-mark {
  display: grid;
  place-items: center;
  color: #8f1f3a;
  font-family: "Songti SC", serif;
  font-size: 24px;
}

.selection-notice-product > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.selection-notice-product small {
  color: #aa8354;
  font-size: 11px;
  letter-spacing: .04em;
}

.selection-notice-product strong {
  overflow: hidden;
  color: #392d2a;
  font-size: 15px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.selection-notice-product span {
  overflow: hidden;
  color: #87756d;
  font-size: 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.selection-notice-copy {
  position: relative;
  padding: 18px 19px 18px 21px;
  border: 1px solid rgba(177, 140, 87, .12);
  border-radius: 4px 15px 15px 4px;
  background:
    linear-gradient(90deg, rgba(185, 142, 84, .08), rgba(255,255,255,.52));
  color: #584943;
  font-size: 14px;
  line-height: 1.9;
}

.selection-notice-copy::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1px;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(#d6bb8b, #aa7943);
}

.selection-notice-check {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 18px 2px 7px;
  padding: 13px 14px;
  border: 1px solid rgba(176, 139, 87, .12);
  border-radius: 13px;
  background: rgba(218, 195, 155, .10);
  color: #50423d;
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
  user-select: none;
}

.selection-notice-check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.selection-notice-check-box {
  position: relative;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 1px solid #b9a89c;
  border-radius: 6px;
  background: #fff;
  transition: .16s ease;
}

.selection-notice-check:hover .selection-notice-check-box {
  border-color: #8f1f3a;
}

.selection-notice-check input:checked + .selection-notice-check-box {
  border-color: #8f1f3a;
  background: #8f1f3a;
  box-shadow: 0 4px 10px rgba(143, 31, 58, .15);
}

.selection-notice-check input:checked + .selection-notice-check-box::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.selection-notice-actions {
  display: grid;
  grid-template-columns: .85fr 1.25fr;
  gap: 11px;
  padding: 20px 30px 30px;
}

.selection-notice-actions .btn {
  min-height: 47px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
}

.selection-notice-actions .btn-default {
  border-color: rgba(160, 126, 91, .24);
  background: rgba(255,255,255,.54);
  color: #6a554c;
}

.selection-notice-actions .btn-default:hover {
  background: #fff;
  border-color: rgba(160, 126, 91, .38);
}

.selection-notice-actions .btn-accent {
  border-color: #8f1f3a;
  background: linear-gradient(180deg, #a42145 0%, #861934 100%);
  color: #fff;
  box-shadow: 0 9px 22px rgba(143, 31, 58, .18);
}

.selection-notice-actions .btn-accent:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 12px 27px rgba(143, 31, 58, .23);
}

.selection-notice-actions .btn-accent:disabled {
  border-color: transparent;
  background: #d9ccca;
  color: rgba(255,255,255,.88);
  box-shadow: none;
  opacity:.68;
  cursor: not-allowed;
}
.selection-notice-actions .btn-accent {
  transition:background-color 180ms ease,color 180ms ease,opacity 180ms ease,border-color 180ms ease,transform 160ms ease;
}
.selection-notice-check input:checked + .selection-notice-check-box::after {
  animation:redeemCheckIn 160ms ease-out both;
}
@keyframes redeemCheckIn { from { transform:rotate(45deg) scale(.75); opacity:0; } to { transform:rotate(45deg) scale(1); opacity:1; } }

/* 手机端：底部轻抽屉式，更适合拇指操作 */
@media (max-width: 600px) {
  .selection-notice-dialog {
    width: calc(100vw - 24px);
    max-width: none;
    margin: auto 12px 12px;
    border-radius: 23px 23px 18px 18px;
  }

  .selection-notice-dialog::backdrop {
    background: rgba(35, 25, 23, .56);
  }

  .selection-notice-head {
    padding: 29px 22px 18px;
  }

  .selection-notice-symbol {
    width: 46px;
    height: 46px;
    margin-bottom: 12px;
  }

  .selection-notice-head h3 {
    font-size: 22px;
  }

  .selection-notice-head p {
    margin-top: 7px;
  }

  .selection-notice-body {
    padding: 18px 18px 5px;
  }

  .selection-notice-product {
    margin-bottom: 15px;
    padding: 10px;
  }

  .selection-notice-product img,
  .selection-notice-product-mark {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
  }

  .selection-notice-copy {
    padding: 15px 15px 15px 18px;
    font-size: 13px;
    line-height: 1.8;
  }

  .selection-notice-check {
    margin-top: 15px;
    padding: 12px;
  }

  .selection-notice-actions {
    grid-template-columns: 1fr;
    padding: 16px 18px 22px;
  }

  .selection-notice-actions .btn {
    width: 100%;
    min-height: 48px;
  }

  .selection-notice-actions .btn-accent {
    order: -1;
  }
}


/* ===== V15 H1.1 BENEFIT HOME PRECISION RWD ===== */

/*
 * Keep original C-END aesthetic system.
 * Only adjust layout proportions and responsive behavior.
 */

.benefit-home{
  width:min(1120px,100%);
}

/* =========================================================
   LARGE DESKTOP
   True two-column benefit dashboard.
   ========================================================= */
@media (min-width:1100px){

  .benefit-home{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    grid-template-areas:
      "hero heading"
      "hero benefits";
    column-gap:30px;
    row-gap:10px;
    align-items:start;
  }

  /*
   * Left account panel.
   * Important: original hero is horizontal flex.
   * It must become vertical inside the 320px left column.
   */
  .benefit-home-hero{
    grid-area:hero;
    position:sticky;
    top:24px;
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:18px;
    padding:24px 22px 21px;
  }

  .benefit-home-hero__copy{
    width:100%;
    min-width:0;
    flex:none;
  }

  .benefit-home-hero h2{
    font-size:31px;
  }

  .benefit-home-hero__copy>p{
    max-width:250px;
    font-size:10px;
  }

  /*
   * Stats stay on one clean row.
   */
  .benefit-home-stats{
    width:100%;
    display:flex;
    flex-wrap:nowrap;
    gap:0;
    justify-content:space-between;
    margin-top:18px;
    padding:14px 0;
    border-top:1px solid var(--benefit-line);
    border-bottom:1px solid var(--benefit-line);
  }

  .benefit-home-stats>span{
    flex:1 1 0;
    display:grid;
    justify-items:center;
    gap:4px;
    white-space:nowrap;
  }

  .benefit-home-stats strong{
    font-size:18px;
  }

  .benefit-home-stats>i{
    width:1px;
    height:auto;
    align-self:stretch;
    background:var(--benefit-line);
  }

  /*
   * Account card uses the full sidebar width.
   */
  .benefit-home-account{
    width:100%;
    max-width:none;
    flex:none;
    padding:13px;
  }

  .benefit-home-account__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .benefit-home-action{
    width:100%;
    min-height:34px;
  }

  .benefit-home-action--quiet{
    grid-column:1/-1;
    width:auto;
    margin:0;
    justify-self:center;
  }

  /*
   * Right title.
   */
  .benefit-home-section-head{
    grid-area:heading;
    margin:2px 2px 10px;
    padding-bottom:10px;
    border-bottom:1px solid var(--benefit-line);
  }

  .benefit-home-section-head h3{
    font-size:20px;
  }

  /*
   * Benefits.
   */
  .benefit-home-grid{
    grid-area:benefits;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
  }

  .benefit-home-card{
    align-self:start;
    padding:18px 19px 17px;
  }

  /*
   * One entitlement:
   * use the full right side but keep natural content height.
   */
  .benefit-home-card:only-child{
    grid-column:1/-1;
    grid-template-columns:minmax(0,1fr) 250px;
    grid-template-areas:
      "top top"
      "body meta"
      "footer footer";
    column-gap:26px;
    min-height:0;
    align-self:start;
  }

  .benefit-home-card:only-child .benefit-home-card__body{
    align-self:center;
  }

  .benefit-home-card:only-child .benefit-home-card__meta{
    align-self:center;
    margin-top:11px;
  }

  .benefit-home-card__body h4{
    font-size:16px;
  }

  .benefit-home-card__button{
    min-width:122px;
    min-height:35px;
  }
}

/* =========================================================
   TABLET / SMALL DESKTOP
   Keep original stacked structure.
   ========================================================= */
@media (min-width:761px) and (max-width:1099px){

  .benefit-home{
    display:block;
    width:min(980px,100%);
  }

  .benefit-home-hero{
    position:relative;
  }

  .benefit-home-card:only-child{
    min-height:0;
  }
}

/* =========================================================
   MOBILE
   Keep original single column, only fix proportions.
   ========================================================= */
@media (max-width:760px){

  .benefit-home{
    display:block;
    width:100%;
    padding-bottom:8px;
  }

  .benefit-home-hero{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    padding:18px 16px;
  }

  .benefit-home-hero::before{
    top:18px;
    bottom:18px;
  }

  .benefit-home-hero__copy{
    width:100%;
    min-width:0;
  }

  .benefit-home-hero h2{
    font-size:28px;
  }

  /*
   * Critical mobile fix:
   * never allow the three benefit counters to wrap.
   */
  .benefit-home-stats{
    display:flex;
    align-items:stretch;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:0;
    width:100%;
    margin-top:15px;
    padding:14px 0;
    border-top:1px solid var(--benefit-line);
    border-bottom:1px solid var(--benefit-line);
  }

  .benefit-home-stats>span{
    display:grid;
    flex:1 1 0;
    min-width:0;
    justify-items:center;
    align-content:center;
    gap:4px;
    white-space:nowrap;
  }

  .benefit-home-stats strong{
    font-size:17px;
  }

  .benefit-home-stats small{
    font-size:8.5px;
  }

  .benefit-home-stats>i{
    width:1px;
    height:auto;
    align-self:stretch;
    flex:0 0 1px;
  }

  /*
   * Identity and actions.
   */
  .benefit-home-account{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:11px;
    padding:12px;
  }

  .benefit-home-account__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    justify-content:stretch;
  }

  .benefit-home-action{
    width:100%;
    min-height:38px;
    padding:0 9px;
    font-size:10px;
  }

  .benefit-home-action--quiet{
    grid-column:1/-1;
    width:auto;
    min-height:28px;
    margin:0;
    justify-self:center;
  }

  /*
   * Force benefit title back to the left.
   */
  .benefit-home-section-head{
    display:block;
    margin:20px 2px 11px;
    text-align:left;
  }

  .benefit-home-section-head>div{
    display:grid;
    justify-items:start;
  }

  .benefit-home-section-head h3{
    font-size:19px;
    text-align:left;
  }

  .benefit-home-section-head p{
    display:none;
  }

  /*
   * Benefit card.
   */
  .benefit-home-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }

  .benefit-home-card,
  .benefit-home-card:only-child{
    grid-column:auto;
    grid-template-columns:1fr;
    grid-template-areas:
      "top"
      "body"
      "meta"
      "footer";
    column-gap:0;
    min-height:0;
    padding:15px;
  }

  .benefit-home-card__body{
    margin-top:15px;
  }

  .benefit-home-card__body h4{
    font-size:16px;
  }

  .benefit-home-card__meta,
  .benefit-home-card:only-child .benefit-home-card__meta{
    grid-template-columns:1fr 1fr;
    align-self:auto;
    margin-top:14px;
    padding:11px 0;
  }

  .benefit-home-card__footer{
    display:block;
    margin-top:14px;
  }

  .benefit-home-card__footer>span{
    display:none;
  }

  .benefit-home-card__button{
    width:100%;
    min-height:42px;
    border-radius:999px;
    font-size:11px;
  }
}

/* Very small phones */
@media (max-width:420px){

  .benefit-home-hero{
    padding:16px 14px;
  }

  .benefit-home-hero h2{
    font-size:26px;
  }

  .benefit-home-stats strong{
    font-size:16px;
  }

  .benefit-home-stats small{
    font-size:8px;
  }

  .benefit-home-card{
    padding:14px;
  }
}


/* ===== V15 H1.2 STEPPER STATE ===== */

/*
 * completed = pale paper + wine check
 * current   = solid wine + white number
 * future    = paper + warm gray border
 */

.redeem-split-app.is-flow-mode .step-dot{
  position:relative;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease;
}

/* 未完成 */
.redeem-split-app.is-flow-mode .step-dot:not(.active):not(.done){
  border-color:rgba(133,108,92,.24)!important;
  color:#9a887d!important;
  background:#fffdfa!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}

/* 已完成，但不是当前步骤 */
.redeem-split-app.is-flow-mode .step-dot.done:not(.active){
  border-color:rgba(143,31,58,.30)!important;
  color:transparent!important;
  background:#fbf3f1!important;
  box-shadow:none!important;
}

.redeem-split-app.is-flow-mode .step-dot.done:not(.active)::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#8f1f3a;
  font-size:14px;
  font-weight:800;
  line-height:1;
}

/* 当前步骤 */
.redeem-split-app.is-flow-mode .step-dot.active{
  border-color:#8f1f3a!important;
  color:#fff!important;
  background:#8f1f3a!important;
  box-shadow:
    0 7px 18px rgba(143,31,58,.16),
    inset 0 1px 0 rgba(255,255,255,.14)!important;
}

/* 若当前步骤同时带 done，仍显示当前数字，不显示 ✓ */
.redeem-split-app.is-flow-mode .step-dot.active::after{
  display:none!important;
}

/* 已走过的连接线 */
.redeem-split-app.is-flow-mode .step-line.done{
  background:rgba(143,31,58,.68)!important;
}

/* 尚未经过的连接线 */
.redeem-split-app.is-flow-mode .step-line:not(.done){
  background:rgba(116,91,77,.14)!important;
}

/* 手机端只做轻微紧凑，不改变整体布局 */
@media (max-width:600px){

  .redeem-split-app.is-flow-mode .steps-indicator{
    margin-bottom:24px!important;
  }

  .redeem-split-app.is-flow-mode .step-dot.done:not(.active)::after{
    font-size:13px;
  }

  .redeem-split-app.is-flow-mode .step-node{
    color:#8f8178;
  }
}

/* =========================================================
   V15-H.2.3-C PERSONALIZED WELCOME EXPERIENCE
   ========================================================= */

.redeem-split-app.is-welcome-mode {
  display: block;
  min-height: min(880px, calc(100vh - 36px));
}

.redeem-split-app.is-welcome-mode > .redeem-visual-panel,
.redeem-split-app.is-welcome-mode > .redeem-work-panel {
  display: none !important;
}
.redeem-split-app.is-welcome-mode.is-welcome-exiting > .redeem-work-panel {
  display: block !important;
  visibility: visible !important;
}

.welcome-experience {
  position: relative;
  width: 100%;
  min-height: min(880px, calc(100vh - 36px));
  overflow: hidden;
  padding: clamp(34px, 5vw, 76px);
  background:
    radial-gradient(
      circle at 74% 25%,
      rgba(184, 154, 104, .17) 0,
      rgba(184, 154, 104, .06) 25%,
      transparent 49%
    ),
    linear-gradient(
      135deg,
      #f8f3e9 0%,
      #f3ede2 54%,
      #eee5d8 100%
    );
}

.welcome-experience::before {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  right: -160px;
  top: -190px;
  border: 1px solid rgba(128, 83, 58, .11);
  border-radius: 50%;
}

.welcome-experience::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(122, 36, 50, .72),
    rgba(184, 154, 104, .8),
    transparent
  );
}

.welcome-stage {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  min-height: 650px;
  margin: 0 auto;
  display: grid;
  grid-template-columns:
    minmax(300px, .86fr)
    minmax(390px, 1.14fr);
  align-items: center;
  gap: clamp(38px, 7vw, 96px);
}

.welcome-copy {
  position: relative;
  padding: 24px 0;
}

.welcome-eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 40px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: .28em;
  color: #967c59;
}

.welcome-eyebrow-line {
  display: block;
  width: 44px;
  height: 1px;
  background: #b89a68;
}

.welcome-book-name {
  min-height: 22px;
  margin: 0 0 15px;
  font-size: 13px;
  letter-spacing: .15em;
  color: rgba(91, 67, 55, .68);
}

#welcome-title {
  max-width: 530px;
  margin: 0;
  font-family:
    "Songti SC",
    "STSong",
    "SimSun",
    serif;
  font-size: clamp(34px, 4.5vw, 62px);
  font-weight: 500;
  line-height: 1.23;
  letter-spacing: .05em;
  color: #4b2527;
}

.welcome-message {
  max-width: 520px;
  margin-top: 27px;
  min-height: 58px;
  white-space: pre-line;
  font-family:
    "Songti SC",
    "STSong",
    "SimSun",
    serif;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 2;
  letter-spacing: .06em;
  color: rgba(69, 57, 49, .76);
}

.welcome-seal {
  width: 37px;
  height: 37px;
  margin-top: 27px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(122, 36, 50, .68);
  color: #7a2432;
  transform: rotate(-4deg);
}

.welcome-seal span {
  font-family: "Songti SC", "STSong", serif;
  font-size: 18px;
}

.welcome-actions {
  margin-top: 38px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 17px;
}
.welcome-experience:not(.welcome-interactive) .welcome-actions{visibility:hidden;opacity:0;pointer-events:none;}
.welcome-experience.welcome-interactive .welcome-actions{visibility:visible;}
.welcome-experience.welcome-idle,
.welcome-experience.welcome-idle .welcome-stage,
.welcome-experience.welcome-idle .welcome-media-column,
.welcome-experience.welcome-idle .welcome-media-frame,
.welcome-experience.welcome-idle .welcome-copy{animation:none;transform:none;filter:none;will-change:auto;}
.welcome-visual-area{display:contents;}
.welcome-fullbleed-bg{display:contents;}
.welcome-mobile-cta-host{display:none;}
.welcome-experience:not(.welcome-interactive) .welcome-mobile-cta-host{visibility:hidden;pointer-events:none;}
.welcome-experience.welcome-interactive .welcome-mobile-cta-host{visibility:visible;pointer-events:auto;}
.welcome-experience.welcome-punch-active .welcome-actions,
.welcome-experience.welcome-punch-active .welcome-mobile-cta-host,
.welcome-experience.welcome-punch-active .welcome-copy{transition:opacity 160ms ease 140ms;}
.welcome-experience.welcome-punch-active .welcome-enter-btn:disabled{opacity:1;}
.welcome-experience.welcome-punch-active:not(.welcome-punch-running) .welcome-enter-btn{transform:scale(.965);}
.welcome-experience.welcome-punch-running .welcome-actions,
.welcome-experience.welcome-punch-running .welcome-mobile-cta-host,
.welcome-experience.welcome-punch-running .welcome-copy{opacity:0;}
.heart-opening-progress {
  position: absolute;
  z-index: 12;
  top: 56%;
  left: 50%;
  display: grid;
  justify-items: center;
  gap: 13px;
  width: 280px;
  max-width: calc(100% - 48px);
  color: #6f2230;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: opacity 190ms ease;
}
.heart-opening-progress.is-visible { opacity: 1; }
.heart-opening-percent { color: #9a7445; font-size: 17px; font-weight: 500; font-variant-numeric: tabular-nums; }
.heart-opening-track {
  width: 260px;
  max-width: 100%;
  height: 10px;
  overflow: hidden;
  border: 1px solid rgba(184, 154, 104, .38);
  border-radius: 999px;
  background: rgba(255, 249, 238, .55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
}
.heart-opening-fill {
  position: relative;
  display: block;
  width: 0;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
  background: linear-gradient(90deg, #6f2230, #8d3545 72%, #c29b5b);
  transition: width 100ms linear;
}
.heart-opening-shimmer {
  position: absolute;
  inset: 0;
  width: 35%;
  background: linear-gradient(90deg, transparent, rgba(255, 236, 198, .28), transparent);
  animation: heartOpeningShimmer 1.9s ease-in-out infinite;
}
.heart-opening-label { display: flex; align-items: center; gap: 6px; font-size: 21px; font-weight: 400; white-space: nowrap; }
.heart-opening-spark { width: 15px; height: 15px; fill: #c29b5b; animation: heartOpeningSpark .9s ease-in-out infinite; }
.heart-opening-progress.is-complete .heart-opening-spark { animation: heartOpeningComplete 320ms ease-out both; }
@keyframes heartOpeningShimmer { from { transform: translateX(-110%); } to { transform: translateX(400%); } }
@keyframes heartOpeningSpark { 0%,100% { opacity: .28; transform: scale(.9) rotate(-5deg); } 50% { opacity: 1; transform: scale(1.1) rotate(5deg); } }
@keyframes heartOpeningComplete { 50% { opacity: 1; transform: scale(1.18); } }
@media(max-width:820px) {
  .heart-opening-progress { top: 59%; width: 220px; }
  .heart-opening-track { width: 196px; height: 8px; }
  .heart-opening-percent { font-size: 15px; }
  .heart-opening-label { font-size: 18px; }
  .heart-opening-spark { width: 12px; height: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .heart-opening-shimmer { animation: none; }
  .heart-opening-spark, .heart-opening-progress.is-complete .heart-opening-spark { animation: heartOpeningSparkReduced 1.8s ease-in-out infinite; }
  .heart-opening-fill { transition: none; }
}
@keyframes heartOpeningSparkReduced { 0%,100% { opacity: .55; } 50% { opacity: .9; } }
@media(min-width:821px){
  .welcome-experience.welcome-idle.welcome-punch-active .welcome-stage{transform-origin:center;transition:transform 420ms cubic-bezier(.16,1,.3,1),filter 80ms ease 340ms;will-change:transform;}
  .welcome-experience.welcome-idle.welcome-punch-running .welcome-stage,
  .welcome-experience.welcome-idle.welcome-punch-settled .welcome-stage{transform:translateY(-8px) scale(1.12);filter:blur(1px);}
  .welcome-experience.welcome-idle.welcome-punch-active.welcome-punch-recovering .welcome-stage{transition:transform 220ms ease,filter 220ms ease;}
}
@media(max-width:820px){
  .welcome-experience.welcome-idle.welcome-punch-active .welcome-fullbleed-bg{transform-origin:center;transition:transform 360ms cubic-bezier(.16,1,.3,1),filter 80ms ease 280ms;will-change:transform;}
  .welcome-experience.welcome-idle.welcome-punch-running .welcome-fullbleed-bg,
  .welcome-experience.welcome-idle.welcome-punch-settled .welcome-fullbleed-bg{transform:translateY(-10px) scale(1.20);filter:blur(1px);}
  .welcome-experience.welcome-idle.welcome-punch-active.welcome-punch-recovering .welcome-fullbleed-bg{transition:transform 220ms ease,filter 220ms ease;}
}
@media(prefers-reduced-motion:reduce){
  .welcome-experience.welcome-idle.welcome-punch-active .welcome-stage,
  .welcome-experience.welcome-idle.welcome-punch-running .welcome-stage,
  .welcome-experience.welcome-idle.welcome-punch-settled .welcome-stage,
  .welcome-experience.welcome-idle.welcome-punch-active .welcome-fullbleed-bg,
  .welcome-experience.welcome-idle.welcome-punch-running .welcome-fullbleed-bg,
  .welcome-experience.welcome-idle.welcome-punch-settled .welcome-fullbleed-bg{transform:none;filter:none;will-change:auto;transition:opacity 160ms ease;}
  .welcome-experience.welcome-punch-running .welcome-fullbleed-bg{opacity:.4;}
  .welcome-experience.welcome-punch-active .welcome-actions,
  .welcome-experience.welcome-punch-active .welcome-mobile-cta-host,
  .welcome-experience.welcome-punch-active .welcome-copy{transition:opacity 160ms ease;}
}
.welcome-enter-btn {
  min-width: 220px;
  min-height: 48px;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(122, 36, 51, .12);
  border-color: #742632;
  background: #742632;
  box-shadow: 0 13px 30px rgba(91, 28, 39, .17);
}

.welcome-enter-btn:hover {
  border-color: #64202b;
  background: #64202b;
}


.welcome-footnote {
  margin-top: 46px;
  font-size: 11px;
  line-height: 1.8;
  letter-spacing: .11em;
  color: rgba(82, 66, 55, .42);
}

.welcome-media-column {
  width: 100%;
}

.welcome-media-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e8dfd1;
  box-shadow:
    0 30px 70px rgba(83, 59, 43, .13),
    inset 0 0 0 1px rgba(255, 255, 255, .55);
}

.welcome-image,
.welcome-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #e8dfd1;
}

.welcome-media-fallback {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  background:
    linear-gradient(
      145deg,
      #eadfce 0%,
      #f5eee4 47%,
      #ded0bd 100%
    );
}

.welcome-media-fallback > span {
  position: relative;
  z-index: 3;
  font-family: "Songti SC", "STSong", serif;
  font-size: clamp(20px, 3vw, 35px);
  letter-spacing: .55em;
  text-indent: .55em;
  color: rgba(105, 42, 47, .76);
}

.welcome-moon {
  position: absolute;
  width: min(52%, 330px);
  aspect-ratio: 1;
  top: 13%;
  right: 13%;
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 38% 34%,
      #f8e5b8 0%,
      #e5bd76 46%,
      #b88643 100%
    );
  box-shadow: 0 18px 55px rgba(163, 116, 55, .2);
}

.welcome-branch {
  position: absolute;
  width: 64%;
  height: 38%;
  left: -8%;
  bottom: 8%;
  border-top:
    2px solid rgba(79, 53, 43, .35);
  transform: rotate(-12deg);
  transform-origin: left center;
}

.welcome-media-caption {
  margin-top: 19px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 18px;
}

.welcome-media-caption span {
  font-size: 9px;
  letter-spacing: .22em;
  color: rgba(91, 72, 59, .42);
}

.welcome-media-caption em {
  font-family: "Songti SC", "STSong", serif;
  font-style: normal;
  font-size: 13px;
  letter-spacing: .1em;
  color: rgba(91, 72, 59, .66);
}


/* ===== END V15-H.2.3-C ===== */


/* ===== V15-H.2.6 WELCOME RESPONSIVE REFINEMENT ===== */
.redeem-split-app.is-welcome-mode { min-height:min(760px,calc(100svh - 28px)); }
.welcome-experience { min-height:min(760px,calc(100svh - 28px)); padding:clamp(26px,3.2vw,44px); }
.welcome-stage { width:min(1120px,100%); min-height:590px; grid-template-columns:minmax(300px,.92fr) minmax(420px,1.08fr); gap:clamp(34px,4.6vw,66px); }
.welcome-copy { padding:12px 0; }
.welcome-eyebrow { margin-bottom:24px; font-size:10px; }
.welcome-book-name { margin-bottom:10px; font-size:12px; }
#welcome-title { max-width:500px; font-size:clamp(36px,3.4vw,52px); line-height:1.18; }
.welcome-message { max-width:500px; margin-top:20px; font-size:clamp(14px,1.05vw,16px); line-height:1.82; }
.welcome-seal { margin-top:20px; }
.welcome-actions { margin-top:26px; gap:12px; }
.welcome-enter-btn { min-width:210px; min-height:46px; }
.welcome-footnote { margin-top:28px; }
.welcome-media-column { position:relative; display:grid; justify-items:center; }
.welcome-media-frame { height:min(64svh,560px); width:auto; aspect-ratio:9/16; overflow:visible; border:1px solid rgba(141,108,78,.16); border-radius:2px; background:#ebe2d5; box-shadow:0 24px 52px rgba(83,59,43,.13),inset 0 0 0 1px rgba(255,255,255,.55); }
.welcome-media-frame.is-video { height:min(64svh,560px); width:auto; aspect-ratio:9/16; max-height:560px; }
.welcome-media-frame::before,.welcome-media-frame::after { position:absolute; z-index:-1; inset:11px -14px -12px 14px; border:1px solid rgba(137,104,73,.10); background:rgba(246,239,228,.72); content:''; }
.welcome-media-frame::after { inset:22px -26px -24px 28px; background:rgba(233,222,205,.50); }
.welcome-image,.welcome-video { object-fit:cover; background:#ebe2d5; }
@media (min-width:821px) {
  .welcome-media-frame.is-image .welcome-image { object-fit:contain; }
}
.welcome-media-frame.is-video .welcome-video { object-fit:contain; }
.welcome-media-caption { width:min(100%,360px); margin-top:14px; }
.welcome-postmark { position:absolute; z-index:5; right:-28px; bottom:42px; display:grid; width:104px; height:104px; place-content:center; justify-items:center; border:2px solid rgba(122,36,50,.42); border-radius:50%; color:rgba(122,36,50,.60); background:rgba(248,243,233,.62); font-family:Georgia,"Times New Roman",serif; transform:rotate(-11deg); pointer-events:none; backdrop-filter:blur(1px); }
.welcome-postmark::before,.welcome-postmark::after { position:absolute; left:12px; right:12px; height:1px; background:rgba(122,36,50,.35); content:''; }
.welcome-postmark::before { top:26px; }.welcome-postmark::after { bottom:25px; }
.welcome-postmark span { font-size:8px; letter-spacing:.16em; }.welcome-postmark strong { margin:7px 0 4px; font-family:"Songti SC","STSong",serif; font-size:17px; font-weight:500; letter-spacing:.08em; }.welcome-postmark small { font-size:7px; letter-spacing:.08em; }
.welcome-message-detail { display:none; }

.welcome-media-guidance { display:grid; gap:3px; margin-top:8px; padding:9px 11px; border-left:2px solid rgba(181,138,85,.48); color:var(--a-text-muted); background:rgba(246,241,234,.72); font-size:11px; line-height:1.55; }
.welcome-media-guidance strong { color:var(--a-text-secondary); font-size:11px; }
.welcome-admin-inline-preview { display:grid; gap:9px; margin-top:12px; padding:12px; border:1px solid var(--a-border); border-radius:14px; background:#f8f4ed; }
.welcome-admin-inline-preview.hidden { display:none; }
.welcome-admin-inline-preview-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.welcome-admin-inline-preview-head strong { color:#654d3d; font-size:12px; }.welcome-admin-inline-preview-head span { color:var(--a-text-muted); font-size:10px; }
.welcome-admin-inline-preview-stage { display:grid; min-height:180px; max-height:340px; place-items:center; overflow:hidden; border:1px solid rgba(157,117,79,.14); border-radius:11px; background:#ebe3d8; }
.welcome-admin-inline-preview-stage img,.welcome-admin-inline-preview-stage video { display:block; width:100%; max-width:340px; max-height:320px; object-fit:contain; }
.welcome-admin-inline-preview-meta { display:grid; gap:2px; color:var(--a-text-muted); font-size:10.5px; }.welcome-admin-inline-preview-meta strong { color:var(--a-text-secondary); font-size:11px; }.welcome-admin-inline-preview-meta em { color:var(--a-warning); font-style:normal; }.welcome-admin-inline-preview-meta i { color:var(--a-success); font-style:normal; }
.welcome-admin-inline-preview-path { overflow:hidden; color:#a19387; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }

@media (min-width:821px) and (max-height:760px) {
  .welcome-experience { min-height:calc(100svh - 20px); padding-block:22px; }
  .welcome-stage { min-height:520px; }
  #welcome-title { font-size:clamp(34px,3vw,46px); }
  .welcome-message { max-height:168px; overflow:auto; }
  .welcome-media-frame { height:min(62svh,500px); }
  .welcome-media-frame.is-video { max-height:500px; }
}


/* ===== END V15-H.2.6 WELCOME RESPONSIVE REFINEMENT ===== */


/* ===== V15-H.2.7 WELCOME TOP / FOOTER VISIBILITY ===== */
body.welcome-experience-active {
  scroll-behavior: auto !important;
}

/* The legal footer belongs to the public landing/flow pages, not the dedicated
   personalized welcome experience after a successful card verification. */
body.welcome-experience-active .site-legal-footer {
  display: none !important;
}
/* ===== END V15-H.2.7 ===== */


/* ===== V15-H.2.8 WELCOME SINGLE CTA ===== */
.welcome-actions { gap:0; }
/* ===== END V15-H.2.8 ===== */


/* ===== V15-H.2.9 WELCOME LAYOUT POLISH ===== */
/* Desktop: pull the two editorial columns toward each other and make the
   composition feel like one invitation, rather than two unrelated blocks. */
.welcome-message-mobile { display:none; }

@media (min-width:821px) {
  .redeem-split-app.is-welcome-mode {
    min-height:min(724px,calc(100svh - 26px));
  }

  .welcome-experience {
    min-height:min(724px,calc(100svh - 26px));
    padding:clamp(30px,3vw,44px) clamp(34px,3.8vw,58px);
  }

  .welcome-stage {
    width:min(1180px,100%);
    min-height:548px;
    grid-template-columns:minmax(0,1.02fr) minmax(360px,.88fr);
    gap:clamp(42px,4.2vw,66px);
    align-items:center;
  }

  .welcome-copy {
    width:min(100%,520px);
    justify-self:end;
    padding:8px 0;
  }

  .welcome-eyebrow { margin-bottom:20px; }
  .welcome-book-name { margin-bottom:8px; }

  #welcome-title {
    max-width:500px;
    font-size:clamp(38px,3.15vw,49px);
    line-height:1.17;
    letter-spacing:.035em;
  }

  .welcome-message {
    max-width:485px;
    margin-top:17px;
    font-size:clamp(13px,1vw,15px);
    line-height:1.78;
    letter-spacing:.045em;
  }

  .welcome-seal { margin-top:17px; }
  .welcome-actions { margin-top:22px; }

  .welcome-enter-btn {
    min-width:224px;
    min-height:46px;
    border-radius:9px;
  }

  .welcome-footnote {
    margin-top:22px;
    font-size:10px;
    letter-spacing:.08em;
  }

  .welcome-media-column {
    justify-self:start;
    align-self:center;
  }

  .welcome-media-frame,
  .welcome-media-frame.is-video {
    height:min(67svh,590px);
    max-height:590px;
  }

  .welcome-media-caption {
    width:100%;
    margin-top:11px;
    padding-inline:2px;
  }

  .welcome-postmark {
    right:-31px;
    bottom:40px;
    width:96px;
    height:96px;
  }
}

/* Mobile: the first viewport is a complete welcome cover.  The complete
   blessing stays below as a second reading section, while the cover itself
   is vertically balanced rather than leaving a large empty lower half. */

/* ===== END V15-H.2.9 ===== */




/* ===== V15-H2.14 MOTION DESIGN V2 START ===== */

/* Legal footer: visible on the original verification page only. */
body.post-verify-active .site-legal-footer,
body.welcome-experience-active .site-legal-footer,
body.redeem-flow-active .site-legal-footer {
  display: none !important;
}

:root {
  --md2-ease-cinema: cubic-bezier(.16, 1, .3, 1);
  --md2-ease-luxury: cubic-bezier(.22, .78, .18, 1);
  --md2-burgundy: 118, 31, 50;
  --md2-ivory: 247, 239, 227;
  --md2-gold: 202, 169, 109;
}

.welcome-experience,
.welcome-stage,
.welcome-media-column,
.welcome-media-frame,
.welcome-image,
.welcome-video,
.welcome-copy,
.welcome-actions,
.welcome-enter-btn {
  -webkit-font-smoothing: antialiased;
}

.welcome-stage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.welcome-experience.welcome-revealing .welcome-media-column { will-change: opacity; }

/* --------------------------------------------------------------------------
   Scene overlays: a real opening curtain, then a warm moving highlight.
   -------------------------------------------------------------------------- */
.welcome-stage::before,
.welcome-stage::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.welcome-stage::before {
  z-index: 40;
  opacity: 0;
  background:
    radial-gradient(circle at 50% 45%, rgba(76,42,39,.22), transparent 48%),
    linear-gradient(180deg, rgba(24,13,16,.96), rgba(64,34,34,.93) 48%, rgba(92,54,43,.86));
}

.welcome-stage::after {
  z-index: 39;
  inset: -18% auto -18% -58%;
  width: 48%;
  opacity: 0;
  transform: skewX(-11deg) translateX(-20%);
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,249,236,.08) 17%,
    rgba(255,249,236,.62) 48%,
    rgba(255,249,236,.16) 74%,
    transparent 100%
  );
  filter: blur(13px);
}

/* A subtle lens vignette lives on the media column itself. */
.welcome-media-column {
  position: relative;
}

.welcome-media-column::after {
  position: absolute;
  z-index: 8;
  inset: 0;
  opacity: .18;
  background:
    radial-gradient(circle at 50% 42%, transparent 40%, rgba(27,16,18,.18) 100%),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 24%, transparent 72%, rgba(44,24,26,.11));
  content: "";
  pointer-events: none;
  transition: opacity 1.2s ease;
}

/* --------------------------------------------------------------------------
   ENTER: stronger contrast and larger camera travel.
   -------------------------------------------------------------------------- */
.welcome-experience.welcome-enter-active .welcome-stage::before {
  animation: md2Curtain .72s var(--md2-ease-cinema) both;
}

.welcome-experience.welcome-enter-active .welcome-stage::after {
  animation: md2LightSweep .82s .1s var(--md2-ease-luxury) both;
}

.welcome-experience.welcome-enter-active .welcome-media-column {
  animation: md2SceneSettle .82s var(--md2-ease-cinema) both;
}

.welcome-experience.welcome-enter-active .welcome-image,
.welcome-experience.welcome-enter-active .welcome-video,
.welcome-experience.welcome-enter-active .welcome-media-fallback {
  animation: md2HeroCamera .9s var(--md2-ease-cinema) both;
  transform-origin: 50% 47%;
}

@keyframes md2Curtain {
  0%   { opacity: 1; }
  16%  { opacity: 1; }
  42%  { opacity: .72; }
  70%  { opacity: .18; }
  100% { opacity: 0; }
}

@keyframes md2LightSweep {
  0%   { opacity: 0; transform: skewX(-11deg) translateX(-28%); }
  22%  { opacity: .18; }
  48%  { opacity: .72; }
  72%  { opacity: .36; }
  100% { opacity: 0; transform: skewX(-11deg) translateX(355%); }
}

@keyframes md2SceneSettle {
  0% {
    opacity: .65;
    transform: translateY(10px) scale(.985);
    filter: blur(2px);
  }
  34% { opacity: .88; }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes md2HeroCamera {
  0% {
    opacity: 0;
    transform: translate3d(0, 10px, 0) scale(1.035);
    filter: blur(2px);
  }
  16% {
    opacity: .35;
  }
  38% {
    opacity: .96;
    filter: blur(2px);
  }
  72% {
    transform: translate3d(0, 2px, 0) scale(1.008);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0);
    filter: blur(0) brightness(1) saturate(1) contrast(1);
  }
}

/* Desktop editorial reveal stays staggered, but with more travel. */
@media (min-width: 821px) {
  .welcome-experience.welcome-enter-active .welcome-eyebrow,
  .welcome-experience.welcome-enter-active .welcome-book-name,
  .welcome-experience.welcome-enter-active #welcome-title,
  .welcome-experience.welcome-enter-active .welcome-message,
  .welcome-experience.welcome-enter-active .welcome-seal,
  .welcome-experience.welcome-enter-active .welcome-footnote {
    animation: md2EditorialIn .56s var(--md2-ease-cinema) both;
  }
  .welcome-experience.welcome-interactive .welcome-actions{animation:md2EditorialIn .46s cubic-bezier(.16,1,.3,1) both;}

  .welcome-experience.welcome-enter-active .welcome-eyebrow { animation-delay: .18s; }
  .welcome-experience.welcome-enter-active .welcome-book-name { animation-delay: .22s; }
  .welcome-experience.welcome-enter-active #welcome-title { animation-delay: .24s; }
  .welcome-experience.welcome-enter-active .welcome-message { animation-delay: .28s; }
  .welcome-experience.welcome-enter-active .welcome-seal { animation-delay: .32s; }
  .welcome-experience.welcome-enter-active .welcome-footnote { animation-delay: .4s; }
}

@keyframes md2EditorialIn {
  0% {
    opacity: 0;
    transform: translateY(26px);
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* --------------------------------------------------------------------------
   CTA: visible choreography, not just a fade.
   -------------------------------------------------------------------------- */
.welcome-actions {
  position: relative;
}

.welcome-enter-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition:
    transform .24s ease,
    background-color .24s ease,
    box-shadow .36s ease,
    letter-spacing .34s ease;
}

.welcome-enter-btn::before {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: -46%;
  width: 34%;
  opacity: 0;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.46), transparent);
  content: "";
  pointer-events: none;
}

.welcome-enter-btn:hover {
  transform: translateY(-2px);
  letter-spacing: .11em;
  box-shadow:
    0 18px 42px rgba(var(--md2-burgundy), .25),
    0 0 0 1px rgba(var(--md2-gold), .18);
}

.welcome-enter-btn:active {
  transform: translateY(1px) scale(.985);
}

.welcome-experience.mobile-cta-visible .welcome-enter-btn::before {
  animation: md2ButtonGlint 1.35s .44s ease-out both;
}

@keyframes md2ButtonGlint {
  0%   { left: -46%; opacity: 0; }
  18%  { opacity: .78; }
  100% { left: 120%; opacity: 0; }
}

/* --------------------------------------------------------------------------
   EXIT: stronger gift-opening push + ivory flash veil.
   -------------------------------------------------------------------------- */
.welcome-experience.welcome-leaving {
  pointer-events: none;
  animation:redeemWelcomeExit 360ms ease-in both;
}

.welcome-experience.welcome-leaving .welcome-stage::before {
  animation:none;
}

.welcome-experience.welcome-leaving .welcome-stage::after {
  animation:none;
}

.welcome-experience.welcome-leaving .welcome-media-column,
.welcome-experience.welcome-leaving .welcome-media-frame,
.welcome-experience.welcome-leaving .welcome-image,
.welcome-experience.welcome-leaving .welcome-video,
.welcome-experience.welcome-leaving .welcome-media-fallback {
  animation: md2HeroExit .36s ease-in both;
}

.welcome-experience.welcome-leaving .welcome-copy {
  animation: md2CopyExit .32s ease both;
}

.welcome-experience.welcome-leaving .welcome-enter-btn {
  animation: md2CtaPressOut .32s ease both;
}

@keyframes redeemWelcomeExit {
  from { opacity:1; }
  to { opacity:0; }
}

@keyframes md2GiftFlash {
  0%   { opacity: 0; }
  24%  { opacity: .08; }
  56%  { opacity: .38; }
  100% { opacity: 1; }
}

@keyframes md2ExitSweep {
  0%   { opacity: 0; transform: skewX(-11deg) translateX(-30%); }
  44%  { opacity: .86; }
  100% { opacity: 0; transform: skewX(-11deg) translateX(340%); }
}

@keyframes md2HeroExit {
  0% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0) brightness(1);
  }
  100% {
    opacity: .75;
    transform: scale(1.015);
    filter: blur(2px);
  }
}

@keyframes md2CopyExit {
  0% { opacity: 1; transform: translateY(0); filter: blur(0); }
  100% { opacity: 0; transform: translateY(-6px); filter: blur(0); }
}

@keyframes md2CtaPressOut {
  0%   { opacity: 1; transform: scale(1); }
  34%  { opacity: 1; transform: scale(.955); }
  100% { opacity: 0; transform: translateY(14px) scale(.98); }
}

/* Product page receives the scene instead of hard cutting in. */
#step-2.motion-flow-entering .a-product-shell,
#step-2.motion-flow-entering .panel-heading,
#step-2.motion-flow-entering .a-product-tools {
  animation: md2ProductIn .36s var(--md2-ease-cinema) both;
}

#step-2.motion-flow-entering .a-product-tools { animation-delay: .10s; }

@keyframes md2ProductIn {
  0% { opacity: 0; transform: translateY(12px) scale(.985); }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

#step-2.motion-step-leave,
#step-3.motion-step-leave {
  animation:redeemStepOut 180ms ease-in both;
}
#step-1.motion-step-enter,
#step-2.motion-step-enter,
#step-3.motion-step-enter {
  animation:redeemStepIn 340ms cubic-bezier(.16,1,.3,1) both;
}
@keyframes redeemStepOut {
  from { opacity:1; transform:translateY(0); }
  to { opacity:0; transform:translateY(-6px); }
}
@keyframes redeemStepIn {
  from { opacity:0; transform:translateY(14px); }
  to { opacity:1; transform:translateY(0); }
}

/* --------------------------------------------------------------------------
   MOBILE 鈥?immersive, clearly visible cinematic motion.
   -------------------------------------------------------------------------- */

/* Accessibility: reduced-motion users still receive a clean fade. */
@media (prefers-reduced-motion: reduce) {
  .welcome-stage::after,
  .welcome-enter-btn::before,
  .welcome-actions::after {
    display: none !important;
  }

  .welcome-experience.welcome-entering .welcome-stage::before,
  .welcome-experience.welcome-entering .welcome-media-column,
  .welcome-experience.welcome-entering .welcome-image,
  .welcome-experience.welcome-entering .welcome-video,
  .welcome-experience.welcome-entering .welcome-media-fallback,
  .welcome-experience.welcome-leaving .welcome-stage::before,
  .welcome-experience.welcome-leaving .welcome-media-column,
  .welcome-experience.welcome-leaving .welcome-image,
  .welcome-experience.welcome-leaving .welcome-video {
    animation-duration: .42s !important;
    filter: none !important;
  }
}

/* ===== V15-H2.14 MOTION DESIGN V2 END ===== */


/* ===== V15-H2.29.4 MOBILE WELCOME NORMAL FLOW ===== */
@media (max-width: 820px) {
  .redeem-split-app.is-welcome-mode {
    position: relative;
    display: block;
    width: 100%;
    max-width: none;
    min-height: 100svh;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
    filter: none;
    perspective: none;
    contain: none;
    will-change: auto;
  }
  .redeem-split-app.is-welcome-mode .welcome-experience {
    position: relative;
    width: 100%;
    min-height: 100svh;
    min-height: 100dvh;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    background: #f4eee5;
    transform: none;
    filter: none;
    perspective: none;
    contain: none;
    will-change: auto;
  }
  .redeem-split-app.is-welcome-mode .welcome-stage {
    position: static;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
    width: 100%;
    min-height: 100svh;
    min-height: 100dvh;
    margin: 0;
    padding: 0;
    gap: 0;
    align-items: stretch;
    transform: none;
    filter: none;
    perspective: none;
    contain: none;
    will-change: auto;
  }
  .welcome-visual-area {
    position: static;
    display: block;
    min-width: 0;
    min-height: 0;
    overflow: visible;
    transform: none;
    filter: none;
    perspective: none;
    contain: none;
    will-change: auto;
  }
  .welcome-fullbleed-bg {
    position: absolute;
    z-index: 0;
    inset: -12px 0;
    width: 100%;
    height: calc(100% + 24px);
    min-height: calc(100% + 24px);
    display: block;
    overflow: hidden;
    pointer-events: none;
    transform: none;
    transform-origin: center center;
    filter: none;
    perspective: none;
    contain: none;
    will-change: auto;
  }
  .welcome-visual-area .welcome-media-column {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    pointer-events: none;
  }
  .welcome-visual-area .welcome-media-frame {
    position: relative;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    background: transparent;
    box-shadow: none;
  }
  .welcome-visual-area .welcome-image,
  .welcome-visual-area .welcome-video,
  .welcome-visual-area .welcome-media-fallback {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
  }
  .welcome-visual-area .welcome-video { pointer-events: none; }
  .welcome-visual-area .welcome-copy,
  .welcome-visual-area .welcome-postmark,
  .welcome-visual-area .welcome-media-caption,
  .welcome-experience .welcome-message-detail { display: none; }

  .welcome-experience::before,
  .welcome-experience::after,
  .welcome-stage::before,
  .welcome-stage::after,
  .welcome-visual-area .welcome-media-column::after,
  .welcome-visual-area .welcome-media-frame::before,
  .welcome-visual-area .welcome-media-frame::after { content: none; display: none; }

  .welcome-mobile-cta-host {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 0;
    padding: 18px 24px max(72px, calc(env(safe-area-inset-bottom) + 42px));
    transform: none;
    filter: none;
    perspective: none;
    contain: none;
    will-change: auto;
  }
  .welcome-mobile-cta-host .welcome-enter-btn {
    position: relative;
    width: 100%;
    max-width: 360px;
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 12px 24px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 18px;
    color: #fff;
    background: #7a2433;
    box-shadow: 0 8px 20px rgba(77,20,31,.16);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0;
    touch-action: manipulation;
    pointer-events: auto;
    -webkit-tap-highlight-color: rgba(122,36,51,.12);
    transform: none;
    filter: none;
    perspective: none;
    will-change: auto;
    animation: none;
    transition: opacity 160ms ease, transform 80ms ease;
  }
  .welcome-mobile-cta-host .welcome-enter-btn::before { content: none; }
  .welcome-mobile-cta-host .welcome-enter-btn:active { transform: scale(.965); }
  .welcome-experience.welcome-interactive .welcome-mobile-cta-host .welcome-enter-btn:not(.welcome-enter-settled) {
    animation: welcomeCtaFlowIn 420ms cubic-bezier(.16,1,.3,1);
  }
  .welcome-experience.welcome-revealing .welcome-fullbleed-bg {
    animation: welcomeSceneRevealMobile 800ms cubic-bezier(.16,1,.3,1);
  }
}
@keyframes welcomeSceneRevealMobile {
  from { opacity: .65; }
  to { opacity: 1; }
}
@keyframes welcomeCtaFlowIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}
@keyframes welcomeSceneReveal {
  from { opacity: .65; transform: scale(1.025); }
  to { opacity: 1; transform: none; }
}
@media (min-width: 821px) {
  .welcome-experience.welcome-revealing .welcome-media-column,
  .welcome-experience.welcome-revealing .welcome-copy {
    animation: welcomeSceneReveal 740ms cubic-bezier(.16,1,.3,1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .welcome-experience.welcome-revealing .welcome-fullbleed-bg,
  .welcome-experience.welcome-revealing .welcome-media-column,
  .welcome-experience.welcome-revealing .welcome-copy {
    animation: welcomeSceneFade 180ms ease;
  }
  .welcome-experience.welcome-interactive .welcome-mobile-cta-host .welcome-enter-btn:not(.welcome-enter-settled) {
    animation: welcomeSceneFade 160ms ease;
  }
}
@keyframes welcomeSceneFade { from { opacity: .4; } to { opacity: 1; } }
/* ===== END V15-H2.29.4 MOBILE WELCOME NORMAL FLOW ===== */

@media (prefers-reduced-motion: reduce) {
  .welcome-stage .welcome-curtain{display:none;}
  .welcome-experience.welcome-enter-active,
  .welcome-experience.welcome-leaving,
  .welcome-experience.welcome-enter-active .welcome-media-column,
  .welcome-experience.welcome-enter-active .welcome-image,
  .welcome-experience.welcome-enter-active .welcome-video,
  .welcome-experience.welcome-leaving .welcome-media-column,
  .redeem-split-app.is-welcome-mode .welcome-enter-btn,
  .selection-notice-dialog.motion-dialog-enter,
  .selection-notice-dialog.motion-dialog-leave,
  #order-confirm-modal.motion-dialog-enter,
  #order-confirm-modal.motion-dialog-leave,
  #order-success-modal.motion-dialog-enter,
  #order-success-modal.motion-dialog-leave,
  #step-1.motion-step-enter,
  #step-2.motion-step-enter,
  #step-2.motion-step-leave,
  #step-3.motion-step-enter,
  #step-3.motion-step-leave,
  #step-2.motion-flow-entering .a-product-shell,
  #step-2.motion-flow-entering .panel-heading,
  #step-2.motion-flow-entering .a-product-tools,
  .order-success-dialog.motion-dialog-enter .a-success-seal,
  .order-success-dialog.motion-dialog-enter .a-success-hero h2,
  .order-success-dialog.motion-dialog-enter .a-success-order-card,
  .selection-notice-check input:checked + .selection-notice-check-box::after {
    animation:none !important;
    transition:none !important;
    filter:none !important;
    transform:none !important;
    opacity:1 !important;
  }
  .welcome-experience:not(.mobile-cta-visible) .welcome-actions {
    opacity:1;
    transform:none;
  }
}




/* ===== V15-H2.20 DESKTOP REFLOW START ===== */
/*
  Goals:
  1) Reflow desktop composition so text and poster feel like one invitation.
  2) Remove the pale gradient / stacked-paper strip on the side of the poster.
  3) Flatten the welcome background so the large blank area no longer shows obvious gradients.
*/

@media (min-width: 821px) {
  .welcome-experience {
    padding: clamp(26px, 2.7vw, 40px) clamp(28px, 3.1vw, 46px) !important;
    background: #f5efe4 !important;
  }

  .welcome-stage {
    width: min(1120px, 100%) !important;
    min-height: 520px !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(350px, 0.98fr) !important;
    gap: clamp(24px, 3.2vw, 42px) !important;
    align-items: center !important;
  }

  .welcome-copy {
    width: min(100%, 580px) !important;
    justify-self: start !important;
    padding: 0 !important;
  }

  #welcome-title {
    max-width: 100% !important;
    font-size: clamp(33px, 2.7vw, 45px) !important;
    line-height: 1.3 !important;
    letter-spacing: 0.015em !important;
    text-wrap: balance;
  }
  #welcome-title span{display:block;}

  .welcome-message {
    max-width: 530px !important;
    margin-top: 15px !important;
    font-size: clamp(13px, 0.98vw, 15px) !important;
    line-height: 1.8 !important;
  }

  .welcome-actions { margin-top: 20px !important; }
  .welcome-footnote { margin-top: 18px !important; }

  .welcome-media-column {
    justify-self: end !important;
    align-self: center !important;
  }

  .welcome-media-frame,
  .welcome-media-frame.is-video {
    height: min(69svh, 600px) !important;
    max-height: 600px !important;
    background: #f4ecdf !important;
    box-shadow: 0 18px 36px rgba(83, 59, 43, 0.10), inset 0 0 0 1px rgba(255,255,255,0.60) !important;
  }

  /* Remove the extra stacked-paper pseudo layers that create the vertical pale strip / gradient. */
  .welcome-media-frame::before,
  .welcome-media-frame::after {
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .welcome-postmark {
    right: -18px !important;
    bottom: 30px !important;
  }
}

@media (max-width: 820px) {
  .welcome-experience {
    background: #f5efe4 !important;
  }

  .welcome-media-frame::before,
  .welcome-media-frame::after {
    content: none !important;
    display: none !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}
/* ===== V15-H2.20 DESKTOP REFLOW END ===== */


/* ===== V15-H2.21 WELCOME TITLE FONT START ===== */
#welcome-title {
  font-family:
    "STZhongsong",
    "Songti SC",
    "STSong",
    "SimSun",
    serif !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
}
/* ===== V15-H2.21 WELCOME TITLE FONT END ===== */


/* ===== V15-H2.22 IPHONE FONT CTA START ===== */

/*
 * iPhone / iOS:
 * use Apple's native system font stack for the welcome title,
 * while keeping a slightly stronger weight for readability.
 */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    #welcome-title {
      font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "PingFang SC",
        "Helvetica Neue",
        Arial,
        sans-serif !important;
      font-weight: 600 !important;
      letter-spacing: 0 !important;
    }
  }
}


/* ===== V15-H2.22 IPHONE FONT CTA END ===== */

/* ===== V15-H2.30.2-SOL MOBILE WELCOME SETTLED COMPOSITION =====
   Real-device recording shows the preferred resting composition sits about
   4.2% of the visible viewport lower than the zero-scroll baseline.
   Keep scrollY normalized at 0, then reproduce that settled composition in
   layout so the user never has to pull/overscroll the page manually.

   IMPORTANT:
   - Do not transform .welcome-stage or the CTA ancestor (Safari hit-testing).
   - Shift only the non-interactive media layer.
   - Move the CTA lower by reducing its bottom reserve, while keeping it in
     normal flow with position:relative.
*/
@media (max-width: 820px) {
  .redeem-split-app.is-welcome-mode .welcome-experience {
    --welcome-settled-y: clamp(32px, 4.25dvh, 38px);
  }

  /* The artwork's top is intentionally near-white, matching the overscroll
     state the user selected. The outer layer stays full-bleed and stable. */
  .redeem-split-app.is-welcome-mode .welcome-fullbleed-bg {
    background: #fffdfa;
  }

  .redeem-split-app.is-welcome-mode .welcome-visual-area .welcome-media-column {
    transform: translate3d(0, var(--welcome-settled-y), 0);
    transform-origin: center top;
    will-change: auto;
  }

  /* Previous reserve was ~72-76px. Reducing it by ~34-36px places the CTA
     at the same visual resting level seen after the iOS pull/rebound, while
     retaining safe-area clearance and avoiding any transformed hit target. */
  .redeem-split-app.is-welcome-mode .welcome-mobile-cta-host {
    padding-bottom: max(36px, calc(env(safe-area-inset-bottom) + 8px));
  }
}
/* ===== END V15-H2.30.2-SOL MOBILE WELCOME SETTLED COMPOSITION ===== */

/* ===== V15-H2.30.2-SOL2 iOS WELCOME LOCK + CEREMONY CAPTION PERSIST ===== */

/* Keep the ceremony caption visible from the moment the gift reveal becomes
   visible until the overlay is removed. The long-media wait may still replace
   the copy, but the text itself no longer disappears during untying/opening. */
.gift-reveal-intro.is-visible .gift-reveal-intro__caption {
  opacity: 1;
}

/* iOS Safari only.
   Android already renders the settled composition correctly, so do not change
   its layout. On iOS, make the Welcome scene a viewport-fixed full-screen
   scene so any document scroll residue cannot shift the whole artwork/CTA up.
   The CTA itself remains normal-flow + position:relative and has no transform. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    body.welcome-experience-active {
      overflow: hidden !important;
      overscroll-behavior: none;
    }

    .redeem-split-app.is-welcome-mode .welcome-experience {
      position: fixed;
      z-index: 9000;
      inset: 0;
      width: 100vw;
      height: 100dvh;
      min-height: 100dvh;
      max-height: none;
      margin: 0;
      padding: 0;
      overflow: hidden;
    }

    .redeem-split-app.is-welcome-mode .welcome-stage {
      width: 100%;
      height: 100%;
      min-height: 100%;
    }
  }
}
/* ===== END V15-H2.30.2-SOL2 ===== */

/* ===== V15-H2.30.2-SOL3 CEREMONY CAPTION POSITION POLISH ===== */
/* Keep the ceremony copy visually attached to the gift instead of the viewport
   bottom. This changes position only; visibility/state behavior from SOL2 stays. */
.gift-reveal-intro__caption {
  top: calc(50% + 148px);
  bottom: auto;
  margin: 0;
  transform: translateY(-50%);
}
@media (max-width: 820px) {
  .gift-reveal-intro__caption {
    top: calc(50% + 128px);
  }
}
/* ===== END V15-H2.30.2-SOL3 CEREMONY CAPTION POSITION POLISH ===== */
