/* Sayuri Farmer Assistant — Main DRAFT visual baseline adaptation v1.
 * Physical Outer Frame, MBCO, Global Back, role typography and Global CTA/footer
 * remain shared canonical owners. Inner DRAFT presentation is feature-owned.
 */
body.sayuri-fa-is-open { overflow: hidden; }

#sayuri_fa_backdrop.sayuri-fa-backdrop,
.sayuri-fa-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--sayuri-z-modal-backdrop, 10000000);
  display: none;
  align-items: stretch;
  justify-content: center;
  pointer-events: auto;
  background: var(--sayuri-modal-color-surface-soft, #F8FAFC);
  overflow: hidden;
}
.sayuri-fa-backdrop.is-open { display:flex; }
.sayuri-fa-sheet { position:relative;width:min(100%,760px);height:min(92dvh,860px);max-height:92dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;overflow:hidden;box-sizing:border-box;background:transparent; }
.sayuri-fa-header { position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:calc(var(--sayuri-modal-block-outer-padding-top,44px) + var(--sayuri-modal-type-main-title-size,20px));padding:var(--sayuri-modal-block-outer-padding-top,44px) var(--sayuri-modal-block-padding-x,16px) var(--sayuri-modal-block-gap,8px);box-sizing:border-box; }
.sayuri-fa-workflow-back { grid-column:1;inline-size:40px;block-size:40px;justify-self:start; }
.sayuri-fa-title { grid-column:2;margin:0;min-width:0;text-align:center;font-family:var(--sayuri-modal-type-main-title-font-family,inherit);font-size:var(--sayuri-modal-type-main-title-size,20px);font-weight:var(--sayuri-modal-type-main-title-weight,800);line-height:var(--sayuri-modal-type-main-title-line-height,1.2);color:var(--sayuri-modal-color-title,inherit); }
.sayuri-fa-body,.sayuri-fa-view { min-width:0;min-height:0; }
.sayuri-fa-body { overflow:hidden;padding:0 var(--sayuri-modal-block-padding-x,16px); }
.sayuri-fa-view { height:100%;overflow:auto; }

/* SFA logical-view containment v1.
 * The HTML hidden attribute is authoritative for DRAFT / DESTINATION /
 * NEW_CART_NAME switching. View-specific display rules must never resurrect
 * a hidden logical view.
 */
#sayuri_fa_body > .sayuri-fa-view[hidden] { display:none !important; }

.sayuri-fa-view[data-sayuri-fa-view="DRAFT"] {
  /* SFA UI polish pass v5 — inner presentation only. */
  --fa-inner-surface:rgba(255,255,255,.95);
  --fa-inner-surface-soft:rgba(251,249,242,.90);
  --fa-inner-border:rgba(49,61,43,.16);
  --fa-row-divider:rgba(49,61,43,.10);
  --fa-inner-muted:rgba(49,61,43,.67);
  --fa-assistant-bubble:rgba(255,255,255,.97);
  --fa-user-bubble:rgba(232,240,226,.94);
  --fa-header-band:rgba(249,247,239,.94);
  --fa-action-surface:rgba(255,255,255,.94);
  --fa-focus:rgba(93,107,69,.58);
  --fa-attention-bg:rgba(248,238,207,.88);
  --fa-attention-border:rgba(154,113,26,.40);
  position:relative;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;color:var(--sayuri-modal-color-text,inherit);
}
.sayuri-fa-workspace { min-width:0;min-height:0;display:grid;gap:8px; }
/* SFA single-message workspace geometry v6.
 * Normal states: 60% Draft / 40% Chat.
 * Active clarification/ambiguity remains 50% / 50%.
 */
.sayuri-fa-workspace[data-fa-layout="empty"],
.sayuri-fa-workspace[data-fa-layout="short"],
.sayuri-fa-workspace[data-fa-layout="normal"],
.sayuri-fa-workspace[data-fa-layout="long"] {
  grid-template-rows:minmax(0,60fr) minmax(0,40fr);
}
.sayuri-fa-workspace[data-fa-layout="attention"] {
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
}

.sayuri-fa-view[data-sayuri-fa-view="DRAFT"] .sayuri-fa-pane {
  min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);
  border:1px solid var(--fa-inner-border);border-radius:14px;background:var(--fa-inner-surface);
  color:var(--sayuri-modal-color-text,inherit);
  box-shadow:0 1px 2px rgba(39,51,34,.05);
}
.sayuri-fa-view[data-sayuri-fa-view="DRAFT"] .sayuri-fa-pane__head {
  min-width:0;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 9px 6px;border-bottom:1px solid var(--fa-row-divider);background:var(--fa-header-band);
}
.sayuri-fa-pane__label { min-width:0;display:flex;align-items:center;gap:7px; }
.sayuri-fa-pane__icon {
  width:19px;height:19px;flex:0 0 19px;background:currentColor;opacity:.82;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:19px 19px;mask-size:19px 19px;
}
.sayuri-fa-pane__icon--basket {
  -webkit-mask-image:url("./sfa-icons/basket.svg");mask-image:url("./sfa-icons/basket.svg");
}
.sayuri-fa-pane__icon--chat {
  -webkit-mask-image:url("./sfa-icons/chat.svg");mask-image:url("./sfa-icons/chat.svg");
}
.sayuri-fa-view[data-sayuri-fa-view="DRAFT"] .sayuri-fa-pane__title {
  min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;
  font-weight:780;letter-spacing:-.01em;
  color:var(--sayuri-modal-subblock-title-color,var(--sayuri-modal-color-title,inherit));
}
.sayuri-fa-view[data-sayuri-fa-view="DRAFT"] .sayuri-fa-pane__scroll {
  min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;
  scrollbar-width:thin;scrollbar-color:rgba(49,61,43,.20) transparent;
}
/* SFA populated density + recipe reserve v7. Shared Block Padding X remains SGML-owned. */
.sayuri-fa-draft-scroll { padding:0 6px; }
.sayuri-fa-draft-scroll.is-empty { display:grid;place-items:center; }
.sayuri-fa-chat-scroll { padding:7px 6px 9px; }

.sayuri-fa-empty,.sayuri-fa-phase1-empty,.sayuri-fa-destination-placeholder,.sayuri-fa-new-cart-placeholder { color:var(--sayuri-modal-color-muted,inherit);font-family:var(--sayuri-modal-type-body-font-family,inherit);font-size:var(--sayuri-modal-type-body-size,14px); }
.sayuri-fa-view[data-sayuri-fa-view="DRAFT"] .sayuri-fa-empty { padding:12px 6px;color:var(--fa-inner-muted); }
.sayuri-fa-empty--draft { display:flex;min-height:0;width:100%;align-items:center;justify-content:center;text-align:center;box-sizing:border-box; }

.sayuri-fa-draft-row {
  position:relative;min-width:0;min-height:42px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;
  align-items:center;gap:6px;margin:0;padding:4px;border:0;border-bottom:1px solid var(--fa-row-divider);
  border-radius:0;background:transparent;box-sizing:border-box;
}
.sayuri-fa-draft-row:last-child { border-bottom:0; }
.sayuri-fa-draft-row:hover,.sayuri-fa-draft-row:focus-within { background:rgba(249,247,239,.72); }
.sayuri-fa-draft-row__glyph { position:relative;width:16px;height:16px;border:1.4px solid currentColor;border-radius:50% 42% 50% 44%;opacity:.56; }
.sayuri-fa-draft-row__glyph::after { content:"";position:absolute;width:6px;height:4px;right:-2px;top:-2px;border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;transform:rotate(-25deg); }
.sayuri-fa-draft-row__name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;color:rgba(34,43,30,.94); }
/* SFA resolved row always-visible segmented stepper v9. */
.sayuri-fa-draft-row__editor { min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap; }
.sayuri-fa-draft-row__stepper { min-width:0;height:30px;display:grid;grid-template-columns:28px minmax(42px,50px) 28px;align-items:stretch;border:1px solid var(--fa-inner-border);border-radius:9px;background:var(--fa-inner-surface);overflow:hidden;box-sizing:border-box; }
.sayuri-fa-draft-row__stepper.has-normalization { border-color:rgba(154,113,26,.48);box-shadow:inset 0 -2px 0 rgba(154,113,26,.18); }
.sayuri-fa-qty-step,.sayuri-fa-draft-row__remove,.sayuri-fa-draft-row__issue,.sayuri-fa-undo,.sayuri-fa-candidate,.sayuri-fa-entry-search,.sayuri-fa-entry-voice,.sayuri-fa-search-submit,.sayuri-fa-search-result,.sayuri-fa-smart-suggest-result,.sayuri-fa-image-pick { font:inherit; }
.sayuri-fa-qty-step { width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border:0;border-radius:0;background:var(--fa-inner-surface-soft);color:inherit;display:inline-flex;align-items:center;justify-content:center;font-weight:780;cursor:pointer; }
.sayuri-fa-qty-step--minus { border-right:1px solid var(--fa-inner-border); }
.sayuri-fa-qty-step--plus { border-left:1px solid var(--fa-inner-border); }
.sayuri-fa-qty-step:hover:not(:disabled) { background:rgba(242,239,229,.98); }
.sayuri-fa-qty-step:disabled { opacity:.42;cursor:default; }
.sayuri-fa-draft-row__qty-input { min-width:0;width:100%;height:28px;box-sizing:border-box;padding:3px 4px;border:0;border-radius:0;background:var(--fa-inner-surface);color:inherit;text-align:center;font:inherit;font-size:14px;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield; }
.sayuri-fa-draft-row__qty-input::-webkit-outer-spin-button,.sayuri-fa-draft-row__qty-input::-webkit-inner-spin-button { margin:0;-webkit-appearance:none; }
.sayuri-fa-draft-row__uom { font-size:14px;color:var(--fa-inner-muted);white-space:nowrap;flex:0 0 auto; }
.sayuri-fa-draft-row__remove { width:28px;min-width:28px;height:30px;min-height:30px;padding:0;border:1px solid var(--fa-inner-border);border-radius:8px;background:var(--fa-inner-surface-soft);color:inherit; }
.sayuri-fa-draft-row__remove--resolved { flex:0 0 28px;border-color:transparent;background:transparent;color:#b42318;display:inline-flex;align-items:center;justify-content:center;cursor:pointer; }
.sayuri-fa-draft-row__remove--resolved::before { content:"";display:block;width:17px;height:17px;background:currentColor;-webkit-mask:url("./sfa-icons/trash.svg") center/17px 17px no-repeat;mask:url("./sfa-icons/trash.svg") center/17px 17px no-repeat; }
.sayuri-fa-draft-row__remove--resolved:hover:not(:disabled) { background:rgba(180,35,24,.08); }
.sayuri-fa-draft-row__remove--resolved:disabled { opacity:.42;cursor:default; }
.sayuri-fa-draft-row__issue { min-width:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fa-inner-muted);font-size:.84em;text-align:right; }
.sayuri-fa-draft-row__remove--issue { position:absolute;right:2px;opacity:0;pointer-events:none; }
.sayuri-fa-draft-row:focus-within .sayuri-fa-draft-row__remove--issue,.sayuri-fa-draft-row:hover .sayuri-fa-draft-row__remove--issue { opacity:1;pointer-events:auto; }
.sayuri-fa-draft-row--ambiguous {
  background:var(--fa-attention-bg);
  box-shadow:inset 3px 0 0 var(--fa-attention-border);
}
.sayuri-fa-draft-row--ambiguous .sayuri-fa-draft-row__glyph { border-color:var(--fa-attention-border); }
.sayuri-fa-draft-row--unavailable,.sayuri-fa-draft-row--config_error { opacity:.72; }
.sayuri-fa-undo { min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 9px;border:1px solid var(--fa-inner-border);border-radius:9px;background:var(--fa-inner-surface-soft);color:inherit; }
.sayuri-fa-undo::before {
  content:"";display:block;width:17px;height:17px;background:currentColor;
  -webkit-mask:url("./sfa-icons/undo.svg") center/17px 17px no-repeat;
  mask:url("./sfa-icons/undo.svg") center/17px 17px no-repeat;
}

.sayuri-fa-chat-line { min-width:0;display:flex;align-items:flex-start;gap:7px;margin:0 0 6px; }
.sayuri-fa-chat-line--user { justify-content:flex-end; }
.sayuri-fa-chat-line--assistant,.sayuri-fa-chat-line--system { justify-content:flex-start; }
.sayuri-fa-chat-avatar {
  display:block;flex:0 0 auto;width:27px;height:27px;margin-top:2px;
  border:1px solid var(--fa-inner-border);border-radius:999px;background-color:var(--fa-inner-surface);
  background-image:url("./sayuri-fa-avatar.svg");background-repeat:no-repeat;background-position:center;background-size:cover;
}
.sayuri-fa-chat-message {
  width:fit-content;max-width:min(88%,520px);margin:0;padding:7px 10px;border:1px solid var(--fa-inner-border);
  border-radius:12px;background:var(--fa-assistant-bubble);overflow-wrap:anywhere;font-size:15px;line-height:1.36;
  box-shadow:0 1px 1px rgba(39,51,34,.035);
}
.sayuri-fa-chat-message--user { margin-left:auto;background:var(--fa-user-bubble); }
.sayuri-fa-chat-message--assistant,.sayuri-fa-chat-message--system { margin-right:auto; }
.sayuri-fa-chat-line--welcome { margin:1px 0 8px; }
.sayuri-fa-chat-line--welcome .sayuri-fa-chat-avatar { width:30px;height:30px;margin-top:1px; }
.sayuri-fa-chat-message--welcome { max-width:min(94%,540px);padding:8px 10px;line-height:1.38; }
.sayuri-fa-chat-message--welcome p { margin:0; }
.sayuri-fa-chat-message--welcome p + p { margin-top:5px; }
.sayuri-fa-candidates { width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-top:8px; }
.sayuri-fa-candidates:has(.sayuri-fa-clarify-yes) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.sayuri-fa-batch-chat-candidate__uom { justify-self:end;color:rgba(105,78,20,.82);font-size:13px;font-weight:800;white-space:nowrap; }
.sayuri-fa-batch-chat-candidate.is-highlighted { border-color:rgba(139,104,24,.58);background:rgba(252,242,211,.96); }
.sayuri-fa-batch-chat-more::after,.sayuri-fa-batch-chat-reopen::after { content:"";display:none; }
.sayuri-fa-candidate {
  width:100%;min-width:0;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;box-sizing:border-box;
  padding:7px 10px;border:1px solid rgba(154,113,26,.38);border-radius:9px;background:rgba(248,238,207,.88);
  color:rgba(34,43,30,.94);font-size:15px;font-weight:700;text-align:left;cursor:pointer;overflow:hidden;
}
.sayuri-fa-candidate::after { content:"Pilih ›"; justify-self:end;color:rgba(105,78,20,.82);font-size:13px;font-weight:800;white-space:nowrap; }
.sayuri-fa-candidate:hover { border-color:rgba(139,104,24,.58);background:rgba(252,242,211,.96); }
.sayuri-fa-candidate:active { transform:translateY(1px);background:rgba(242,228,186,.96); }
.sayuri-fa-candidate:focus-visible { outline:2px solid var(--fa-focus);outline-offset:2px; }
.sayuri-fa-clarify-yes,.sayuri-fa-clarify-no { grid-template-columns:minmax(0,1fr);justify-content:center;text-align:center; }
.sayuri-fa-clarify-yes::after,.sayuri-fa-clarify-no::after { content:"";display:none; }
.sayuri-fa-clarify-yes { border-color:rgba(121,93,22,.58);background:rgba(242,223,169,.98);color:rgba(45,55,34,.96);font-weight:800; }
.sayuri-fa-clarify-no { border-color:rgba(49,61,43,.18);background:rgba(255,255,255,.76);color:rgba(72,82,64,.86);font-weight:700; }

/* Reserve an inner visual safety band above the canonical footer/medallion.
 * The footer/skin itself remains untouched.
 */
.sayuri-fa-entry-zone {
  position:relative;
  min-width:0;
  display:grid;
  grid-template-rows:auto 44px;
  gap:6px;
  padding-bottom:clamp(20px,3dvh,28px);
}
.sayuri-fa-image-intake { min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:0;border:0;background:transparent; }
.sayuri-fa-image-pick {
  position:relative;width:100%;min-width:0;min-height:58px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:6px;
  padding:6px 20px 6px 7px;border:1px dashed rgba(49,61,43,.14);border-radius:12px;background:var(--fa-action-surface);
  color:inherit;text-align:left;box-sizing:border-box;
}
.sayuri-fa-image-pick__icon {
  width:28px;height:28px;justify-self:center;background:currentColor;opacity:.78;
  -webkit-mask:url("./sfa-icons/camera.svg") center/26px 26px no-repeat;
  mask:url("./sfa-icons/camera.svg") center/26px 26px no-repeat;
}
.sayuri-fa-image-pick__icon--recipe {
  -webkit-mask:url("./sfa-icons/recipe.svg") center/25px 25px no-repeat;
  mask:url("./sfa-icons/recipe.svg") center/25px 25px no-repeat;
}
.sayuri-fa-image-pick--recipe {
  padding-right:7px;border-style:solid;background:rgba(238,239,236,.82);color:var(--fa-inner-muted);
}
.sayuri-fa-image-pick.sayuri-fa-image-pick--recipe:disabled { opacity:.66;cursor:default; }
.sayuri-fa-image-pick--recipe .sayuri-fa-image-pick__subtitle { color:inherit;opacity:.84; }
.sayuri-fa-image-pick__copy { min-width:0;display:grid;gap:3px;align-content:center; }
.sayuri-fa-image-pick__title,.sayuri-fa-image-pick__subtitle { min-width:0;overflow:hidden;text-overflow:ellipsis; }
.sayuri-fa-image-pick__title { white-space:nowrap;font-size:15px;line-height:1.15;font-weight:700; }
.sayuri-fa-image-pick__subtitle { display:block;color:var(--fa-inner-muted);font-size:13px;line-height:1.25;white-space:nowrap; }
.sayuri-fa-image-pick__chevron { position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:22px;line-height:1;opacity:.7; }

/* SFA locked inline composer correction v2.
 * One visual row: icon Search | flexible instruction composer + attached Send | icon Voice.
 */
.sayuri-fa-entry-bar {
  min-width:0;
  height:44px;
  min-height:44px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:stretch;
  gap:6px;
}
.sayuri-fa-entry-search,.sayuri-fa-entry-voice {
  position:relative;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  overflow:hidden;
  border:1px solid var(--fa-inner-border);
  border-radius:12px;
  background:var(--fa-inner-surface);
  color:inherit;
  font-size:0;
  line-height:0;
}
.sayuri-fa-entry-search::before,.sayuri-fa-entry-voice::before {
  content:"";display:block;width:22px;height:22px;background:currentColor;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:22px 22px;mask-size:22px 22px;
}
.sayuri-fa-entry-search::before {
  -webkit-mask-image:url("./sfa-icons/search.svg");mask-image:url("./sfa-icons/search.svg");
}
.sayuri-fa-entry-voice::before {
  -webkit-mask-image:url("./sfa-icons/mic.svg");mask-image:url("./sfa-icons/mic.svg");
}
.sayuri-fa-entry-search::after,.sayuri-fa-entry-voice::after { content:none;display:none; }
.sayuri-fa-entry-search[aria-expanded="true"] { background:var(--fa-inner-surface-soft); }
.sayuri-fa-entry-voice[aria-label^="Hentikan"]::before {
  width:12px;height:12px;border-radius:3px;background:currentColor;
  -webkit-mask-image:none;mask-image:none;
}

.sayuri-fa-entry-form {
  min-width:0;
  width:100%;
  height:44px;
  min-height:44px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:stretch;
  gap:0;
  overflow:hidden;
  border:1px solid var(--fa-inner-border);
  border-radius:13px;
  background:var(--fa-inner-surface);
}
.sayuri-fa-entry-form .sayuri-fa-entry-text {
  min-width:0;
  width:100%;
  min-height:42px;
  max-height:96px;
  box-sizing:border-box;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  padding:10px 11px;
  outline:0;
  font:inherit;
  font-size:15px;
  line-height:20px;
  resize:none;
  overflow-y:auto;
}
.sayuri-fa-entry-form:focus-within {
  outline:2px solid var(--fa-focus);
  outline-offset:1px;
}
.sayuri-fa-view[data-sayuri-fa-view="DRAFT"] :where(button,input,textarea):focus-visible {
  outline:2px solid var(--fa-focus);
  outline-offset:2px;
}
@media (prefers-reduced-motion:no-preference) {
  .sayuri-fa-view[data-sayuri-fa-view="DRAFT"] :where(button,.sayuri-fa-draft-row) {
    transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .14s ease,transform .12s ease;
  }
  .sayuri-fa-view[data-sayuri-fa-view="DRAFT"] button:active:not(:disabled) { transform:translateY(1px); }
}
.sayuri-fa-entry-send {
  position:relative;
  width:44px;
  min-width:44px;
  height:42px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-left:1px solid var(--fa-inner-border);
  border-radius:0 12px 12px 0;
  background:var(--sayuri-modal-button-primary-bg,currentColor);
  color:var(--sayuri-modal-button-primary-color,#fff);
  font:inherit;
  font-size:0;
  line-height:0;
}
.sayuri-fa-entry-send::before {
  content:"";display:block;width:19px;height:19px;background:currentColor;
  -webkit-mask:url("./sfa-icons/send.svg") center/19px 19px no-repeat;
  mask:url("./sfa-icons/send.svg") center/19px 19px no-repeat;
}
.sayuri-fa-entry-send:disabled,.sayuri-fa-entry-search:disabled,.sayuri-fa-entry-voice:disabled,.sayuri-fa-image-pick:disabled,.sayuri-fa-undo:disabled,.sayuri-fa-qty-step:disabled,.sayuri-fa-draft-row__remove:disabled { cursor:default;opacity:.5; }

.sayuri-fa-search-panel { min-width:0;max-height:min(240px,34dvh);overflow:hidden;padding:7px;border:1px solid var(--fa-inner-border);border-radius:12px;background:var(--fa-inner-surface); }
.sayuri-fa-search-form { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px; }
.sayuri-fa-search-input,.sayuri-fa-new-cart-name-input { min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--sayuri-modal-input-border,var(--sayuri-modal-block-border,rgba(17,24,39,.16)));border-radius:var(--sayuri-modal-input-radius,10px);background:var(--sayuri-modal-input-bg,var(--sayuri-modal-color-surface-soft,transparent));color:var(--sayuri-modal-color-text,inherit);padding:8px 10px; }
.sayuri-fa-search-submit,.sayuri-fa-search-result { min-height:34px;border:1px solid var(--fa-inner-border);border-radius:9px;background:var(--fa-inner-surface-soft);color:inherit; }
.sayuri-fa-search-submit { padding-inline:10px; }
.sayuri-fa-search-results { display:grid;gap:5px;margin-top:6px;max-height:170px;overflow:auto;overscroll-behavior:contain; }
.sayuri-fa-search-result { display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 9px;text-align:left; }
.sayuri-fa-search-status { padding-top:7px;font-size:.86em;color:var(--fa-inner-muted); }
.sayuri-fa-smart-suggest-host { position:absolute;z-index:3;left:50px;right:50px;bottom:calc(clamp(20px,3dvh,28px) + 48px);min-width:0; }
.sayuri-fa-smart-suggest { min-width:0;display:grid;gap:5px;margin-top:1px;padding:6px;border:1px solid var(--fa-inner-border);border-radius:10px;background:var(--fa-inner-surface);box-shadow:0 6px 18px rgba(39,51,34,.08); }
.sayuri-fa-smart-suggest-list { min-width:0;display:grid;gap:5px;max-height:156px;overflow:auto;overscroll-behavior:contain; }
.sayuri-fa-smart-suggest-result.is-highlighted { border-color:rgba(139,104,24,.58);background:rgba(252,242,211,.96); }

.sayuri-fa-view[data-sayuri-fa-view="DRAFT"] > .sayuri-fa-turnstile-panel { position:absolute;z-index:4;left:8px;right:8px;bottom:54px;display:grid;gap:8px;padding:10px;border:1px solid var(--fa-inner-border);border-radius:12px;background:var(--fa-inner-surface);box-shadow:0 8px 24px rgba(0,0,0,.12); }
.sayuri-fa-turnstile-title { margin:0;font-size:.86em;color:var(--fa-inner-muted); }
.sayuri-fa-turnstile-host { min-height:70px;display:flex;align-items:center;justify-content:center; }

.sayuri-fa-approved-list { display:grid;gap:6px;margin-top:10px; }
.sayuri-fa-approved-row { padding:8px 10px;border:1px solid var(--sayuri-modal-subblock-border,var(--sayuri-modal-block-border,rgba(17,24,39,.10)));border-radius:var(--sayuri-modal-subblock-radius,10px);background:var(--sayuri-modal-subblock-bg-soft,var(--sayuri-modal-color-surface-soft,transparent)); }
.sayuri-fa-destination-list { display:grid;gap:8px; }
.sayuri-fa-destination-option { width:100%;min-height:44px;text-align:left;border:1px solid var(--sayuri-modal-subblock-border,var(--sayuri-modal-block-border,rgba(17,24,39,.10)));border-radius:var(--sayuri-modal-subblock-radius,12px);background:var(--sayuri-modal-subblock-bg-soft,var(--sayuri-modal-color-surface-soft,transparent));color:inherit;padding:10px 12px; }

.sayuri-fa-footer { display:flex;flex:0 0 auto;align-items:center;justify-content:stretch;padding:var(--sayuri-modal-block-gap,12px) var(--sayuri-modal-block-padding-x,16px) max(16px,env(safe-area-inset-bottom)); }
.sayuri-fa-primary-cta {
  width: 100%;
  min-height: 44px;
}

@media (max-width:440px) {
  .sayuri-fa-view[data-sayuri-fa-view="DRAFT"] { gap:6px; }
  .sayuri-fa-workspace { gap:6px; }
  .sayuri-fa-draft-row { min-height:42px;gap:6px; }
  .sayuri-fa-draft-row__editor { gap:4px; }
  .sayuri-fa-draft-row__stepper { height:28px;grid-template-columns:26px minmax(38px,44px) 26px; }
  .sayuri-fa-qty-step { width:26px;min-width:26px;height:26px;min-height:26px; }
  .sayuri-fa-draft-row__qty-input { height:26px; }
  .sayuri-fa-draft-row__remove { width:26px;min-width:26px;height:28px;min-height:28px; }
  .sayuri-fa-draft-row__remove--resolved { flex-basis:26px; }
  .sayuri-fa-image-pick { min-height:56px;padding:6px 18px 6px 6px;gap:5px; }
  .sayuri-fa-image-pick--recipe { padding-right:6px; }
  .sayuri-fa-image-pick__subtitle { font-size:.80em; }
  .sayuri-fa-entry-bar { grid-template-columns:44px minmax(0,1fr) 44px; }
}
@media (max-height:720px) and (max-width:899px) {
  .sayuri-fa-view[data-sayuri-fa-view="DRAFT"] { gap:5px; }
  .sayuri-fa-image-pick { min-height:52px; }
  .sayuri-fa-entry-bar,.sayuri-fa-entry-search,.sayuri-fa-entry-voice,.sayuri-fa-entry-form { height:44px;min-height:44px; }
}
@media (min-width:800px) {
  .sayuri-fa-backdrop { align-items:center;padding:24px; }
  .sayuri-fa-sheet { width:min(92vw,900px);height:min(88dvh,820px); }
}
@media (min-width:900px) {
  .sayuri-fa-workspace,.sayuri-fa-workspace[data-fa-layout] { grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr); }
}
