/* Official-site presentation only. Business controls and published assets keep their own logic. */
body.official-ui {
  --bg:#fff; --panel:#fff; --ink:#1d1d1f; --muted:#6e6e73;
  --line:#e8e8ed; --green:#27644f;
  margin:0; min-height:100vh; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:15px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
.official-ui *, .official-ui *::before, .official-ui *::after { box-sizing:border-box; }
.official-ui :where(button,input,select,textarea) { font-family:inherit; }
.official-ui :where(a,button,input,select,textarea,summary):focus-visible {
  outline:2px solid #27644f; outline-offset:3px;
}
.official-ui :where(input,textarea,select)::placeholder { color:#86868b; }
.official-ui :where(button,a) { -webkit-tap-highlight-color:transparent; }
.official-ui .site-footer { border-color:var(--line); color:var(--muted); font-size:12px; }
.official-ui .site-footer a { color:var(--muted); }

/* Quiet account information; the workspace navigation remains immediately available. */
.official-ui .account-bar { color:var(--muted); font-size:12px; padding-top:10px; padding-bottom:8px; }
.official-ui .account-bar :is(a,button) { color:var(--muted); text-decoration:none; }
.official-ui .account-bar button { background:transparent; border-color:var(--line); padding:5px 10px; }
.official-ui .workspace-nav { gap:4px; }
.official-ui .workspace-nav a { color:#6e6e73; border-radius:8px; padding:8px 12px; font-size:13px; font-weight:500; }
.official-ui .workspace-nav a:hover { background:#f6f6f8; color:#1d1d1f; }
.official-ui .workspace-nav a[aria-current=page] { background:#f0f0f3; color:#1d1d1f; font-weight:650; }

/* Internal gallery. Leave the compact card, star hit area and name-fit size untouched. */
body.official-ui.recipe-view .topbar { background:#fffffffa; border-color:var(--line); box-shadow:none; }
body.official-ui.recipe-view .topbar-inner { gap:24px; padding-top:16px; padding-bottom:12px; }
body.official-ui.recipe-view .brand h1 { font-size:28px; letter-spacing:-.6px; font-weight:650; color:var(--ink); }
body.official-ui.recipe-view :is(.count,.publication,.view-switch) { color:var(--muted); }
body.official-ui.recipe-view .view-switch { font-size:12px; text-decoration:none; }
body.official-ui.recipe-view .search { background:transparent; border:0; border-radius:10px; box-shadow:none; }
body.official-ui.recipe-view .search input { background:#f6f6f8; color:var(--ink); border-color:var(--line); border-radius:10px; }
body.official-ui.recipe-view .filters-wrap { border-color:var(--line); }
body.official-ui.recipe-view .filter { background:#f6f6f8; border-color:transparent; color:#6e6e73; box-shadow:none; }
body.official-ui.recipe-view .filter.active { background:#1d1d1f; border-color:#1d1d1f; color:#fff; }
body.official-ui.recipe-view .recipe-card { border-color:var(--line); background:white; box-shadow:none; border-radius:12px; }
body.official-ui.recipe-view .recipe-card:hover { border-color:#c9c9cf; box-shadow:none; }
body.official-ui.recipe-view :is(.media,.media img,.recipe-media) { background:#f6f6f8; }
body.official-ui.recipe-view .recipe-info .recipe-price { color:var(--ink); font-variant-numeric:tabular-nums; }
body.official-ui.recipe-view :is(.sales-sort,.recipe-sales-order) { color:var(--muted); }
body.official-ui.recipe-view .sales-sort select { border-color:var(--line); background:white; color:var(--ink); border-radius:8px; }
body.official-ui.recipe-view .more-catalog { background:#f6f6f8; border:1px solid var(--line); color:var(--ink); border-radius:9px; }

/* Details and image previews: neutral surround, preserved warning and save states. */
.official-ui :is(.recipe-dialog,dialog) { background:white; color:var(--ink); border:1px solid var(--line); border-radius:14px; box-shadow:0 16px 60px #0002; }
.official-ui :is(.recipe-dialog,dialog)::backdrop { background:#1d1d1f80; }
.official-ui :is(.detail-top,.detail-image,.detail-caption,.detail-section) { border-color:var(--line); }
.official-ui .detail-top { background:white; }
.official-ui .detail-image, .official-ui .detail-image img { background:#f6f6f8; }
.official-ui .detail-image>span { background:#f6f6f8; color:var(--muted); }
.official-ui .detail-price { color:var(--ink); }
.official-ui .detail-caption { background:white; color:var(--muted); }
.official-ui .detail-close { background:#f6f6f8; color:var(--ink); border-color:var(--line); border-radius:8px; }
.official-ui .product-control-link { background:#f6f6f8; color:var(--ink); border-color:var(--line); }
.official-ui .product-control-link.product-control-danger { color:#a3402d; background:#fff4f0; }

/* Store menus: one compact toolbar followed by a neutral week strip. */
.official-ui .menu-header { background:#fffffffa; border-color:var(--line); box-shadow:none; }
.official-ui .menu-heading { padding-top:12px; padding-bottom:14px; }
.official-ui .menu-heading h1 { font-size:28px; font-weight:650; letter-spacing:-.6px; color:var(--ink); }
.official-ui .menu-controls { display:flex; align-items:center; justify-content:flex-start; gap:14px; flex-wrap:wrap; padding-bottom:14px; }
.official-ui .menu-controls .store-switch { display:flex; flex:0 0 auto; align-items:center; gap:8px; width:auto; max-width:none; margin:0; padding:0; font-size:13px; color:var(--muted); }
.official-ui .menu-controls .view-tools { margin-left:auto; gap:14px; }
.official-ui :is(.date-tools,.view-tools) { flex-wrap:wrap; gap:6px; }
.official-ui :is(.date-tools,.view-tools) :is(button,input),
.official-ui .store-switch select { min-height:40px; border:1px solid var(--line); border-radius:8px; background:white; color:var(--ink); padding:8px 12px; font-size:14px; }
.official-ui .view-tools a { font-size:13px; color:#27644f; text-decoration:none; white-space:nowrap; }
.official-ui .day-tabs { gap:6px; padding-top:0; padding-bottom:12px; }
.official-ui .day-tabs button { background:#f6f6f8; border:1px solid transparent; color:var(--ink); border-radius:9px; }
.official-ui .day-tabs button[aria-pressed=true] { background:#1d1d1f; color:white; border-color:#1d1d1f; }
.official-ui .day-tabs .day-tab-sales { font-size:12px; line-height:1.4; opacity:.85; font-variant-numeric:tabular-nums; }
.official-ui :is(.simple-row,.simple-columns,.simple-day,.channel-list) { border-color:var(--line); }
.official-ui .simple-row { background:white; }
.official-ui :is(.simple-price,.simple-sales,.day-sales strong,.history-total strong) { color:var(--ink); font-variant-numeric:tabular-nums; }
.official-ui :is(.simple-columns,.simple-sauce,.history-total,.store-history-row) { color:var(--muted); }
.official-ui .channel-list { background:#f6f6f8; }
.official-ui :is(.menu-editor,.dish-picker) { border-color:var(--line); border-radius:12px; }
.official-ui :is(.editor-photo,.candidate img) { background:#f6f6f8; }
.official-ui :is(.editor-row,.picker-tools,.editor-actions) { border-color:var(--line); }
.official-ui .picker-search-label { color:var(--ink); font-size:13px; }
.official-ui .picker-search input { border:1px solid var(--line); background:white; border-radius:8px; }
.official-ui .picker-search input:focus { outline:2px solid #27644f; outline-offset:2px; }
.official-ui :is(.picker-tools,.editor-actions) button, .official-ui #addDish { border-color:var(--line); color:var(--ink); border-radius:8px; }
.official-ui .editor-actions .primary { background:var(--green); border-color:var(--green); color:white; }
.official-ui .editor-buttons [data-remove] { color:#a3402d; }

/* Sales entry and reports. Keep the existing mobile form and sticky save behavior. */
.official-ui .sales-page { color:var(--ink); padding-top:32px; }
.official-ui .sales-heading h1 { font-size:28px; font-weight:650; letter-spacing:-.6px; }
.official-ui .sales-heading-actions { display:flex; flex-wrap:wrap; gap:18px; font-size:13px; }
.official-ui .sales-heading-actions a { text-decoration:none; color:var(--muted); }
.official-ui .sales-heading-actions a:hover { color:var(--ink); }
.official-ui :is(.sales-eyebrow,.sales-note,.sales-tools span,.sales-save p,.sales-export span) { color:var(--muted); }
.official-ui .sales-eyebrow { letter-spacing:.03em; }
.official-ui .sales-note { font-size:14px; margin:16px 0 24px; }
.official-ui .sales-tools { gap:10px; padding:16px; background:#f6f6f8; border-radius:10px; }
.official-ui .sales-tools label { font-size:13px; font-weight:500; }
.official-ui .sales-tools :is(input,button) { color:var(--ink); border-color:var(--line); min-height:42px; }
.official-ui .sales-table-wrap { border-color:var(--line); border-radius:10px; }
.official-ui .sales-table :is(th,td) { border-color:var(--line); }
.official-ui .sales-table th { color:var(--muted); background:#f6f6f8; font-weight:500; }
.official-ui .sales-table :is(input,td) { color:var(--ink); }
.official-ui .sales-table input { border-color:#d2d2d7; }
.official-ui .sales-table td:first-child span { color:var(--muted); }
.official-ui .sales-table tfoot :is(th,td) { background:#f6f6f8; color:var(--ink); }
.official-ui .sales-save button { background:var(--green); border-radius:8px; min-height:44px; }
.official-ui #salesHistory, .official-ui #historyRows p { border-color:var(--line); }
.official-ui #historyRows p { color:var(--muted); }
.official-ui .report-page { color:var(--ink); }

/* Product maintenance: consistent forms, a readable tool directory and quiet tabs. */
.official-ui #workApp .head { padding-top:18px; padding-bottom:14px; }
.official-ui #workApp .brand { font-size:23px; letter-spacing:.5px; }
.official-ui #workApp .tab { color:var(--muted); text-decoration:none; border:0; }
.official-ui #workApp .tab[aria-selected=true] { color:var(--ink); background:#f0f0f3; }
.official-ui #workApp .work-maintenance { border-bottom:1px solid var(--line); padding-bottom:14px; margin-bottom:24px; }
.official-ui #workApp .work-maintenance summary { color:var(--muted); font-size:13px; font-weight:500; }
.official-ui #workApp .maintenance-links { display:flex; flex-wrap:wrap; gap:8px; padding:12px 0 0; }
.official-ui .maintenance-links a { padding:7px 12px; background:#f6f6f8; border-radius:7px; color:var(--ink); font-size:13px; text-decoration:none; }
.official-ui .maintenance-links a:hover { background:#ededf1; }
.official-ui :is(#workApp,main.shell,#recipesApp) h1 { color:var(--ink); font-size:28px; font-weight:650; letter-spacing:-.6px; }
.official-ui :is(#workApp,main.shell,#recipesApp) :is(.card,.actions,.component,.maintenance,.panel) { border-color:var(--line); box-shadow:none; }
.official-ui :is(#workApp,main.shell) .card { border-radius:12px; }
.official-ui :is(#workApp,main.shell) :is(input,select,textarea) { border-color:#d2d2d7; color:var(--ink); border-radius:8px; background:white; }
.official-ui :is(#workApp,main.shell) :is(button,.upload) { border-color:var(--line); }
.official-ui :is(#workApp,main.shell) .primary { background:var(--green); border-color:var(--green); color:white; }
.official-ui :is(#workApp,main.shell) .segment { gap:3px; padding:3px; border-radius:9px; background:#f6f6f8; width:fit-content; }
.official-ui :is(#workApp,main.shell) .segment button { border-color:transparent; background:transparent; color:var(--muted); border-radius:7px; }
.official-ui :is(#workApp,main.shell) .segment button[aria-pressed=true] { background:white; color:var(--ink); border-color:var(--line); }
.official-ui :is(#workApp,main.shell) :is(.photo,.weight-choice img,.picture-button,.missing-photo,.mini img) { background:#f6f6f8; border-color:var(--line); }
.official-ui #workApp .soft { background:#f6f6f8; border:0; }
.official-ui #workApp .weight-choice:hover { border-color:#b8b8bf; background:#f6f6f8; }
.official-ui :is(#workApp,main.shell) :is(.intro,.muted,.history,.control-option small) { color:var(--muted); }
.official-ui .controls-shell>p { color:var(--muted); font-size:14px; }
.official-ui .controls-shell>p a { color:#27644f; text-decoration:none; }
.official-ui .control-cards { margin-top:18px; }
.official-ui .control-option[aria-pressed=true] { outline:2px solid #27644f; background:#f6f6f8; }
.official-ui #recipesApp :is(.intro,.muted,.eyebrow,.card small,.source) { color:var(--muted); }
.official-ui #recipesApp .panel { background:#f6f6f8; border:0; }
.official-ui #recipesApp .badge { background:#f0f0f3; color:var(--muted); border-radius:6px; }
.official-ui #recipesApp :is(button,input,select,textarea) { border-color:var(--line); color:var(--ink); }
.official-ui #recipesApp :is(button.primary,#doConfirm) { background:var(--green); color:white; border-color:var(--green); }
.official-ui #recipesApp #editor { border-color:var(--line); border-radius:12px; }
.official-ui #recipesApp .weight-table :is(th,td) { border-color:var(--line); }
.official-ui #recipesApp header { border-color:var(--line); font-size:13px; }
.official-ui #recipesApp header a { text-decoration:none; color:var(--muted); }
.official-ui .week-shell h1 { font-size:28px; font-weight:650; letter-spacing:-.6px; }
.official-ui .week-shell>p { color:var(--muted); font-size:14px; }
.official-ui .week-shell a { color:#27644f; text-decoration:none; }

/* Account pages share the same neutral shell; authentication behavior is unchanged. */
body.official-ui.auth-page { background:#f6f6f8; }
.official-ui .auth-card { border:1px solid var(--line); border-radius:14px; box-shadow:none; }
.official-ui .auth-card h1 { font-size:26px; font-weight:650; }

@media(max-width:720px) {
  .official-ui .account-bar { gap:8px; font-size:11px; }
  .official-ui .account-bar nav { flex-wrap:wrap; gap:10px; }
  .official-ui .menu-heading { display:block; }
  .official-ui .menu-heading h1 { font-size:24px; margin-bottom:10px; }
  .official-ui .workspace-nav { gap:2px; max-width:100%; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }
  .official-ui .workspace-nav a { flex:none; padding:7px 9px; font-size:12px; white-space:nowrap; }
  .official-ui .menu-controls { gap:10px; }
  .official-ui .menu-controls .view-tools { margin-left:0; }
  .official-ui .day-tabs { gap:3px; }
  .official-ui .day-tabs button { padding-left:3px; padding-right:3px; border-radius:7px; }
  .official-ui .day-tabs .day-tab-sales { font-size:10px; }
  body.official-ui.recipe-view .brand h1 { font-size:24px; }
  body.official-ui.recipe-view .topbar-inner { gap:12px; }
  .official-ui :is(#workApp,main.shell,#recipesApp) h1 { font-size:24px; }
  .official-ui .sales-heading { align-items:flex-start; }
  .official-ui .sales-heading-actions { justify-content:flex-end; gap:8px 14px; font-size:12px; }
  .official-ui .sales-heading h1 { font-size:24px; }
  .official-ui .sales-tools { padding:12px; }
  .official-ui .sales-tools span { flex-basis:100%; }
}
@media(max-width:640px) {
  .official-ui .sales-table-wrap { border:0; border-radius:0; }
  .official-ui .sales-table tfoot :is(th,td) { background:transparent; }
  .official-ui .sales-table tfoot { background:#f6f6f8; padding:0 12px; border-radius:8px; }
  .official-ui :is(.recipe-dialog) { border-radius:0; }
  .official-ui .menu-header input, .official-ui .sales-tools input, .official-ui :is(#workApp,main.shell) :is(input,select,textarea) { font-size:16px; }
}

.official-ui #workApp .intake-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:24px; margin:20px 0 16px; }
.official-ui #workApp .intake-tools .toolbar { flex-direction:column; align-items:flex-end; gap:4px; margin:0; }
.official-ui #workApp .intake-tools .toolbar span { font-size:12px; }
.official-ui #workApp .intake-tools .picker-toolbar { align-items:flex-end; gap:16px; }
.official-ui #workApp .intake-tools .picker-search { width:min(420px,65%); }
@media(max-width:720px) {
 .official-ui #workApp .intake-tools { grid-template-columns:1fr; gap:12px; }
 .official-ui #workApp .intake-tools .toolbar { flex-direction:row; align-items:center; justify-content:space-between; }
 .official-ui #workApp .intake-tools .picker-search { width:100%; }
}
