.lfc-payer h3 { margin: 0 0 8px; font-size: 13px; }
.lfc-payer > small { display: block; margin-top: 8px; color: #7a7468; font-size: 11px; }
.lfc-recipient-segment { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lfc-recipient-segment span { font-size: 12px; white-space: normal; text-align: center; }
.lfc-saved-addresses { display: grid; gap: 7px; }
.lfc-saved-addresses article { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 1px solid #e2ded4; border-radius: 6px; }
.lfc-saved-main { min-width: 0; display: grid; gap: 3px; padding: 10px; border: 0; background: transparent; color: inherit; text-align: left; }
.lfc-saved-main span, .lfc-saved-main small { overflow-wrap: anywhere; color: #746f66; font-size: 11px; }
.lfc-saved-main em { color: #9b6f00; font-size: 10px; font-style: normal; }
.lfc-saved-addresses footer { display: grid; gap: 3px; padding: 5px; }
.lfc-saved-addresses footer button { min-height: 30px; border: 0; background: transparent; color: #886600; font-size: 10px; }
.lfc-saved-addresses footer button:last-child { color: #a04a3c; }
.lfc-address-savebook { width: 100%; min-height: 42px; margin-top: 14px; border: 1px solid #d6a80f; border-radius: 6px; background: #fff; color: #8c6800; font-weight: 650; }
.lfc-dialog {
  width: min(100%, 430px);
  max-width: none;
  height: min(860px, calc(100dvh - 28px));
  max-height: none;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #f6f6f4;
  color: #25241f;
  box-shadow: 0 22px 64px #30281738;
  overflow: hidden;
}
.lfc-dialog::backdrop {
  background: #201c147d;
}
.lfc-sheet {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #f6f6f4;
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
}
.lfc-header {
  flex: none;
  min-height: 56px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  padding: env(safe-area-inset-top) 8px 0;
  border-bottom: 1px solid #eeece6;
  background: #fff;
}
.lfc-header h2 {
  margin: 0;
  text-align: center;
  font-size: 17px;
  font-weight: 650;
  letter-spacing: 0;
}
.lfc-header i {
  width: 44px;
}
.lfc-back,
.lfc-save {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #292823;
}
.lfc-back {
  font:
    32px/1 Georgia,
    serif;
}
.lfc-save {
  color: #9b6f00;
  font-size: 14px;
  font-weight: 650;
}
.lfc-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 10px 10px 24px;
  overscroll-behavior: contain;
}
.lfc-address-card,
.lfc-card {
  box-sizing: border-box;
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: #fff;
}
.lfc-address-card {
  min-height: 88px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 20px;
  align-items: center;
  padding: 14px 13px;
  border-top: 3px solid #f4c62b;
  color: inherit;
  text-align: left;
}
.lfc-address-card > b {
  color: #aa7900;
  font-size: 22px;
}
.lfc-address-card > span {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.lfc-address-card strong {
  overflow-wrap: anywhere;
  font-size: 15px;
}
.lfc-address-card small {
  color: #858178;
  font-size: 12px;
}
.lfc-address-card em {
  color: #aaa59b;
  font:
    26px Georgia,
    serif;
}
.lfc-card {
  margin-top: 10px;
  padding: 15px 14px;
}
.lfc-order > header {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #efede7;
}
.lfc-order h3 {
  flex: 1;
  margin: 0;
  font-size: 14px;
}
.lfc-order header small {
  color: #918c82;
}
.lfc-order ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.lfc-order li {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #f1efe9;
  font-size: 13px;
}
.lfc-order li > span:first-child {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 3px;
}
.lfc-order li > span:last-child {
  flex: none;
  display: flex;
  gap: 10px;
}
.lfc-order li small {
  color: #928d84;
  font-size: 11px;
}
.lfc-row {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #f1efe9;
  font-size: 13px;
}
.lfc-row > span {
  flex: 1;
}
.lfc-row select {
  max-width: 68%;
  min-height: 36px;
  border: 0;
  border-radius: 6px;
  padding: 0 8px;
  background: #f8f8f7;
  color: #393732;
  font: 12px inherit;
}
.lfc-order dl {
  margin: 9px 0 0;
}
.lfc-order dl div {
  display: flex;
  padding: 4px 0;
  font-size: 12px;
}
.lfc-order dt {
  flex: 1;
  color: #6f6b63;
}
.lfc-order dd {
  margin: 0;
}
.lfc-order .discount dd {
  color: #b66328;
}
.lfc-note {
  display: block;
  padding-top: 12px;
  font-size: 13px;
}
.lfc-note > span {
  display: block;
  margin-bottom: 8px;
}
.lfc-note small,
.lfc-field small {
  color: #969188;
  font-weight: 400;
}
.lfc-note textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 70px;
  border: 1px solid #e3e0d9;
  border-radius: 6px;
  padding: 10px;
  background: #fafafa;
  font: 14px/1.5 inherit;
}
.lfc-story {
  margin: 10px 4px 0;
  display: grid;
  gap: 3px;
  color: #766b51;
  font-size: 11px;
}
.lfc-story b {
  font-size: 12px;
}
.lfc-story small {
  color: #928a78;
}
.lfc-error {
  margin: 10px 4px 0;
  color: #b03c32;
  font-size: 12px;
}
.lfc-tip {
  margin: 7px 4px 0;
  color: #8b867d;
  font-size: 10px;
}
.lfc-actions {
  flex: none;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 15px;
  padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
  border-top: 1px solid #ece9e1;
  background: #fff;
}
.lfc-actions > span {
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.lfc-actions small {
  color: #6f6a61;
  font-size: 11px;
}
.lfc-actions b {
  font-size: 22px;
}
.lfc-actions button {
  min-width: 112px;
  min-height: 46px;
  border: 0;
  border-radius: 7px;
  background: #f4c62b;
  color: #2d2717;
  font-size: 14px;
  font-weight: 680;
}
.lfc-actions button:disabled,
.lfc-back:disabled {
  opacity: 0.48;
}
.lfc-address-view {
  padding: 14px 16px 28px;
  background: #fff;
}
.lfc-address-view section {
  padding: 5px 0 17px;
  border-bottom: 1px solid #efede7;
}
.lfc-address-view h3 {
  margin: 0;
  font-size: 14px;
}
.lfc-segment {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.lfc-segment label {
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid #dedad0;
  border-radius: 6px;
}
.lfc-segment label.selected {
  border-color: #d6a80f;
  background: #fff8d9;
}
.lfc-segment input {
  position: absolute;
  opacity: 0;
}
.lfc-segment span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lfc-field {
  display: block;
  margin-top: 15px;
}
.lfc-field > span {
  display: block;
  margin-bottom: 7px;
  color: #565249;
  font-size: 12px;
  font-weight: 600;
}
.lfc-field input,
.lfc-field textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #ddd9d0;
  border-radius: 6px;
  background: #fff;
  color: #292720;
  font: 16px/1.4 inherit;
  padding: 11px 12px;
  outline: none;
}
.lfc-field textarea {
  min-height: 88px;
  resize: vertical;
}
.lfc-field input:focus,
.lfc-field textarea:focus,
.lfc-note textarea:focus {
  border-color: #c7990d;
  box-shadow: 0 0 0 3px #edc63c24;
  outline: none;
}
.lfc-field > small {
  display: block;
  margin-top: 5px;
  font-size: 11px;
}
.lfc-payer-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lfc-split-preview { display: grid; gap: 6px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #efede7; }
.lfc-split-preview span { display: flex; gap: 10px; font-size: 11px; }
.lfc-split-preview span b { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lfc-split-preview em { color: #8b6906; font-style: normal; }
.lfc-split-preview small { color: #8b867d; line-height: 1.5; }
.lfc-group header { display: flex; align-items: center; gap: 10px; }
.lfc-group header h3 { flex: 1; }
.lfc-group header small { color: #8b867d; }
.lfc-group-list { display: grid; gap: 8px; margin-top: 10px; }
.lfc-group-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 9px; border: 1px solid #e5e1d8; border-radius: 6px; }
.lfc-group-list article.selected { border-color: #d6a80f; background: #fffdf4; }
.lfc-group-list article > button { grid-column: 1 / -1; min-height: 38px; display: flex; align-items: center; gap: 8px; border: 0; padding: 0; background: transparent; color: inherit; text-align: left; }
.lfc-group-list article > button b { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lfc-group-list article > button small { color: #8c867c; }
.lfc-group-list article > label:not(.lfc-known) { min-width: 0; display: grid; gap: 4px; color: #6f6a61; font-size: 10px; }
.lfc-group-list article input[type="text"] { min-width: 0; height: 36px; border: 1px solid #ddd9d0; border-radius: 5px; padding: 0 8px; background: #fff; }
.lfc-known { align-self: end; min-height: 36px; display: flex; align-items: center; gap: 5px; color: #6f6a61; font-size: 10px; }
.lfc-group > p { margin: 10px 0 0; color: #8b867d; font-size: 10px; line-height: 1.55; }
@media (max-width: 480px) {
  .lfc-dialog {
    width: 100%;
    height: 100dvh;
    border-radius: 0;
  }
}
@media (max-width: 340px) {
  .lfc-body {
    padding-inline: 7px;
  }
  .lfc-address-view {
    padding-inline: 12px;
  }
  .lfc-card {
    padding-inline: 11px;
  }
  .lfc-actions {
    gap: 9px;
    padding-inline: 9px;
  }
  .lfc-actions b {
    font-size: 20px;
  }
  .lfc-actions button {
    min-width: 104px;
  }
  .lfc-payer-three { grid-template-columns: 1fr; }
}
