/* v28 — realistic Four-Fruit-Soup poster editorial theme */
:root {
  --ink:#181a14;
  --muted:#68705f;
  --line:#d6d8c4;
  --blue:#3d6246;
  --green:#5f8a60;
  --lime:#b9d9a8;
  --gold:#f1d34a;
  --coral:#df7945;
  --bg:#f1d34a;
  --paper:#fffbed;
  --cream:#fff5d2;
  --sage:#c6dfb8;
  --sage-soft:#e7f0d7;
  --black:#181a14;
  --danger:#b82b22;
  --shadow-poster:6px 7px 0 rgba(24,26,20,.16);
}

html { background:var(--gold); color-scheme:light; }
body {
  color:var(--ink);
  background:var(--gold);
  background-image:none;
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;
}
body::before,body::after { display:none!important; animation:none!important; }
h1,h2,h3,strong,th,label { color:var(--ink); }
p,.muted,.intro p,.admin-head p { color:var(--muted); }
a,.back,.purchase-action,.card-view-link,.product-node-card span,.hub-card span,.procurement-folder-card span,.procurement-folder-card.hardware span { color:#365c3e; }
.back { min-height:44px; display:inline-flex; align-items:center; font-weight:700; text-decoration-thickness:2px; text-underline-offset:5px; }
.site-header { display:none!important; }

.container {
  width:min(calc(100% - 30px),980px);
  margin:18px auto 34px;
  padding:28px;
  border:1px solid rgba(24,26,20,.24);
  border-radius:20px;
  background:var(--paper);
  box-shadow:0 12px 0 rgba(24,26,20,.14);
}
.hub { min-height:calc(100vh - 100px); background:var(--paper); }

.hub-hero {
  position:relative;
  min-height:0;
  aspect-ratio:16/9;
  margin:0 0 22px;
  padding:0;
  display:block;
  overflow:hidden;
  border:3px solid var(--black);
  border-radius:13px;
  background:#d5dfb9;
  box-shadow:var(--shadow-poster);
}
.hub-hero::before,.hub-hero::after { display:none; }
.hub-hero>img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:68% center; }
.hub-hero-copy {
  position:absolute;
  z-index:2;
  left:22px;
  top:50%;
  width:min(46%,420px);
  padding:20px 22px;
  transform:translateY(-50%);
  border:2px solid var(--black);
  border-radius:9px;
  background:rgba(255,251,237,.92);
  box-shadow:5px 5px 0 rgba(24,26,20,.18);
  backdrop-filter:blur(5px);
}
.hub-hero-copy small { color:#49664c; font-size:13px; font-weight:800; letter-spacing:.08em; }
.hub-hero-copy h1 { margin:7px 0 8px; font-size:42px; font-weight:900; line-height:1.05; letter-spacing:-.06em; }
.hub-hero-copy p { margin:0; color:#4f5549; font-size:15px; line-height:1.6; }
.four-fruit-cup { display:none!important; }

.hub-grid,.hub-grid-two { gap:16px; margin-top:0; }
.hub-card,.hub-card.procurement,.hub-card.menu,.hub-card.orders {
  position:relative;
  min-height:205px;
  padding:26px;
  color:var(--ink);
  border:2px solid var(--black);
  border-top:2px solid var(--black);
  border-radius:12px;
  background:var(--sage);
  box-shadow:var(--shadow-poster);
  backdrop-filter:none;
}
.hub-card.procurement { background:#fff7d5; }
.hub-card::before { content:""; position:absolute; left:0; top:0; width:100%; height:10px; background:#6d9a69; }
.hub-card.procurement::before { background:var(--gold); }
.hub-card small { color:#40563f; font-size:13px; font-weight:800; }
.hub-card h2 { margin:18px 0 8px; font-size:30px; font-weight:900; letter-spacing:-.04em; }
.hub-card p { color:#4e584b; }
.hub-card span,.hub-card.procurement span { color:var(--ink); font-weight:900; }
.hub-card:hover { border-color:var(--black); box-shadow:4px 5px 0 rgba(24,26,20,.22); transform:translate(2px,2px); }

.login-shell { min-height:100vh; background:var(--gold); }
.login-card,.tutorial-title,.tutorial-section,.edit-form,.table-wrap,.dish-card,.procurement-card,.product-node-card,.menu-card,.order-card,.order-success>section,.admin-product-card,.empty-state,.category-empty,.settings-section {
  color:var(--ink);
  border:1.5px solid #aeb79a;
  background:#fffef7;
  box-shadow:4px 5px 0 rgba(24,26,20,.10);
  backdrop-filter:none;
}
.login-card { border:2px solid var(--black); border-top:10px solid #6c9567; }
.login-mark,.dish-card small,.menu-card small,.admin-product-header small,.admin-product-card.hardware .admin-product-header small { color:#537756; font-weight:800; }

.container>.intro,.container>.admin-head,.recipes-page>.admin-page-intro,.menu-page>.admin-page-intro {
  border:2px solid var(--black);
  border-radius:10px;
  background:var(--sage-soft);
  box-shadow:var(--shadow-poster);
}
.intro h1,.admin-head h1,.admin-page-intro h1 { font-weight:900; letter-spacing:-.05em; }

.login-card input,.edit-form input,.edit-form textarea,.edit-form select,.settings-field-row input,.settings-category-row input {
  color:var(--ink);
  border:2px solid #6e7765;
  border-radius:7px;
  background:#fffef8;
}
input::placeholder,textarea::placeholder { color:#858a7d; }
.login-card input:focus,.edit-form input:focus,.edit-form textarea:focus,.edit-form select:focus { border-color:#3f6548; box-shadow:0 0 0 3px rgba(95,138,96,.2); }

.share-button,.primary,.login-button,.order-add,.confirm-order,.category-add,.secondary-action {
  min-height:46px;
  color:#fff;
  border:2px solid var(--black);
  border-radius:7px;
  background:#557f59;
  box-shadow:3px 3px 0 rgba(24,26,20,.24);
  font-weight:800;
}
.primary.procurement-primary,.procurement-button,.procurement-primary { color:var(--ink); background:var(--gold); }
.secondary-action { color:var(--ink); background:#eaf1db; }
.share-button:hover,.primary:hover,.login-button:hover,.order-add:hover,.confirm-order:hover { filter:none; transform:translate(1px,1px); box-shadow:2px 2px 0 rgba(24,26,20,.24); }
.settings-gear { color:#fff; border:2px solid var(--black); border-radius:7px; background:#557f59; box-shadow:3px 3px 0 rgba(24,26,20,.22); }

.autocomplete-input-wrap,.search {
  color:var(--ink);
  border:2px solid var(--black);
  border-radius:7px;
  background:#fff;
  box-shadow:3px 4px 0 rgba(24,26,20,.10);
}
.procurement-autocomplete .autocomplete-input-wrap { border-color:var(--black); }
.autocomplete-input-wrap:focus-within,.procurement-autocomplete .autocomplete-input-wrap:focus-within,.hardware .category-autocomplete .autocomplete-input-wrap:focus-within { border-color:#4e7953; box-shadow:0 0 0 3px rgba(95,138,96,.18); }
.autocomplete-input-wrap input,.search input { color:var(--ink); }
.autocomplete-input-wrap button,.procurement-autocomplete .autocomplete-input-wrap button,.hardware .category-autocomplete .autocomplete-input-wrap button { color:var(--ink); border-left:2px solid var(--black); background:var(--gold); }
.autocomplete-results,.procurement-autocomplete .autocomplete-results,.hardware .category-autocomplete .autocomplete-results { border:2px solid var(--black); border-radius:7px; background:#fffef7; box-shadow:6px 7px 0 rgba(24,26,20,.18); }
.autocomplete-results a { color:var(--ink); border-bottom-color:#d9dccf; }
.autocomplete-results a:hover,.autocomplete-results a.active,.procurement-autocomplete .autocomplete-results a:hover,.procurement-autocomplete .autocomplete-results a.active,.hardware .category-autocomplete .autocomplete-results a:hover,.hardware .category-autocomplete .autocomplete-results a.active { background:var(--sage-soft); }

.filters { gap:9px; scrollbar-width:none; }
.filters button { min-height:44px; color:var(--ink); border:2px solid var(--black); border-radius:6px; background:#fffef7; font-weight:800; }
.filters button.active { color:var(--ink); border-color:var(--black); background:var(--gold); box-shadow:2px 2px 0 rgba(24,26,20,.18); }

.dish-grid,.product-node-grid,.procurement-grid,.menu-grid,.orders-list { gap:14px; }
.dish-card,.product-node-card,.procurement-card,.menu-card,.order-card,.admin-product-card { border-radius:10px; }
.dish-card { min-height:180px; border-top:8px solid #8fb486; }
.dish-card:nth-child(3n+2),.dish-card:nth-child(3n+3) { border-top-color:#8fb486; }
.dish-card:hover,.product-node-card:hover { border-color:#7f8f73; }
.dish-card p,.procurement-card dt,.admin-product-card p,.product-node-card p,.procurement-folder-card p { color:var(--muted); }
.dish-card span,.card-view-link { color:#416847; font-weight:900; }
.admin-card-actions { border-top-color:#d5dac8; }
.admin-card-actions a,.admin-card-actions button { color:#355b3c; border:1px solid #b7c5a8; border-radius:5px; background:#edf3e3; }
.admin-card-actions button,.inline button,.delete-button { color:var(--danger); background:#fff0e9; }

.tutorial-title { border-top:10px solid var(--gold); }
.tutorial-title h1,.tutorial-section h2 { font-weight:900; letter-spacing:-.04em; }
.tutorial-section li { color:var(--ink); }
.tools { border-left:8px solid #78a071; background:#edf4e2; }
.note { border-left:8px solid var(--gold); background:#fff6ce; }
.recipe-image,.form-image-preview { border:2px solid var(--black); border-radius:8px; background:#eee9da; box-shadow:4px 5px 0 rgba(24,26,20,.12); }

.procurement-folder-card,.procurement-folder-card.hardware {
  color:var(--ink);
  border:2px solid var(--black);
  border-top:2px solid var(--black);
  border-radius:10px;
  background:#fff4c8;
  box-shadow:var(--shadow-poster);
}
.procurement-folder-card.hardware { background:var(--sage); }
.procurement-folder-card::before { content:"采购分组"; width:max-content; padding:4px 8px; color:#fff; background:var(--black); font-size:12px; font-weight:800; }
.procurement-folder-card h2 { font-weight:900; }
.procurement-folder-card span,.procurement-folder-card.hardware span { color:var(--ink); font-weight:900; }

.procurement-mode-card { color:var(--ink); border:2px solid var(--black); border-radius:10px; box-shadow:var(--shadow-poster); }
.procurement-mode-card.local { background:#fff4c8; }
.procurement-mode-card.online { color:var(--ink); background:var(--sage); }
.procurement-mode-card h2 { color:inherit; font-weight:900; }
.procurement-category-section>header,.procurement-category-section.hardware>header { color:var(--ink); border:2px solid var(--black); border-left:10px solid #6f9a6c; border-radius:7px; background:var(--sage-soft); }
.group-badge { color:var(--ink); border:1px solid #a9a66e; background:#fff4c8; }
.product-node-card,.admin-product-card,.admin-product-card.online,.admin-product-card.local { border-left:8px solid #7ca274; }
.admin-product-card.expanded.hardware { border-left-color:#7ca274; }
.admin-inline-items,.admin-product-card.hardware .admin-inline-items { border-top-color:#d6d8c4; background:#fffdf3; }
.admin-inline-item,.admin-product-footer-actions { border-color:#d6d8c4; }
.admin-inline-item dl div { border-bottom-color:#dedfce; }
.admin-inline-item dt { color:var(--muted); }
.admin-inline-item dd { color:var(--ink); }

.menu-image-placeholder { color:var(--ink); background:var(--sage-soft); }
.menu-price,.order-card header>strong { color:#9b542f; }
.cart-panel { color:var(--ink); border:2px solid var(--black); border-radius:9px; background:#fffef7; box-shadow:7px 8px 0 rgba(24,26,20,.20); }
.cart-toggle { color:var(--ink); background:var(--gold); }
.quantity-controls button { color:var(--ink); border-color:#758a68; background:#eef3e5; }
.success-mark { color:#fff; background:#557f59; }

.settings-section { background:#fffef7; }
.settings-remove-category,.settings-remove-field { color:var(--danger); border-color:#b96b5f; background:#fff0e9; }
.settings-add-category,.settings-add-field { color:var(--ink); border-color:#66795b; background:var(--sage-soft); }
.settings-remove-background { color:var(--ink); }
table { color:var(--ink); background:#fff; }
th { color:#fff; background:#4f714f; }
th,td { border-bottom-color:#d7dacd; }
.table-wrap tr { background:#fff; }
.admin-mode-bar { color:var(--ink); border:2px solid var(--black); background:var(--sage-soft); }
footer { color:#4c5046; border-top:2px solid var(--black); background:var(--gold); font-weight:700; }

button,a { cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid #2f6647; outline-offset:3px; }

@media(max-width:820px) {
  body { font-size:16px; background:var(--gold); }
  .container { width:calc(100% - 18px); margin:9px auto 26px; padding:18px; border-radius:13px; box-shadow:0 8px 0 rgba(24,26,20,.14); }
  .container>.intro,.container>.admin-head,.recipes-page>.admin-page-intro,.menu-page>.admin-page-intro { border:2px solid var(--black); border-radius:8px; background:var(--sage-soft); box-shadow:4px 5px 0 rgba(24,26,20,.14); }
  .hub { padding-top:18px; }
  .hub-hero { aspect-ratio:4/3; min-height:0; padding:0; border-radius:9px; }
  .hub-hero>img { object-position:68% center; }
  .hub-hero-copy { left:14px; top:auto; bottom:14px; width:62%; padding:13px 14px; transform:none; border-radius:6px; }
  .hub-hero-copy h1 { margin:5px 0; font-size:30px; }
  .hub-hero-copy p { font-size:13px; line-height:1.45; }
  .hub-grid,.hub-grid-two,.dish-grid,.procurement-grid,.product-node-grid,.procurement-folder-grid,.procurement-mode-grid,.menu-grid,.orders-list { grid-template-columns:minmax(0,1fr)!important; }
  .hub-card { min-height:168px; padding:21px; border-radius:9px; }
  .hub-card h2 { font-size:27px; }
  .settings-form { padding:0; border:0; background:transparent; box-shadow:none; }
  .settings-form>h1 { color:var(--ink); border:2px solid var(--black); border-radius:8px; background:var(--gold); box-shadow:4px 5px 0 rgba(24,26,20,.14); }
  .settings-section { border-radius:9px; }
  .table-wrap tr { border:1.5px solid #aeb79a; border-left:8px solid #7ca274; background:#fff; }
  .table-wrap td { border-bottom-color:#d7dacd; }
  .table-wrap td::before { color:var(--muted); }
  .admin-shortcuts a { border:2px solid var(--black); border-radius:6px; background:#fff4c8; }
}

@media(max-width:430px) {
  .container { width:calc(100% - 12px); padding:15px; }
  .hub-hero { aspect-ratio:1/1.08; }
  .hub-hero-copy { width:72%; }
  .hub-hero-copy h1 { font-size:28px; }
}

/* v29 — cleaner hierarchy and centralized settings */
html,body { background:#f3f1e8; }
.container {
  border:0;
  background:#fbfaf4;
  box-shadow:none;
}
.hub-hero {
  border:0;
  box-shadow:0 12px 32px rgba(36,45,25,.14);
}
.home-settings-gear {
  position:absolute;
  z-index:5;
  top:14px;
  left:14px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  color:#f2f2f2;
  border:0;
  border-radius:50%;
  background:rgba(77,77,77,.76);
  box-shadow:none;
  backdrop-filter:blur(8px);
  text-decoration:none;
}
.home-settings-gear:hover { background:rgba(66,66,66,.9); transform:none; }
.hub-card,.hub-card.procurement,.hub-card.menu,.hub-card.orders {
  border:1px solid #d8ddcf;
  background:#dcebcf;
  box-shadow:0 8px 22px rgba(49,62,36,.11);
}
.hub-card.procurement { background:#fff0bd; }
.hub-card::before,.hub-card.procurement::before { display:none; }
.hub-card h2 { margin:0 0 8px; }
.hub-card:hover { border-color:#cbd3c0; box-shadow:0 10px 26px rgba(49,62,36,.14); transform:translateY(-1px); }

.page-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.page-toolbar .back { margin:0; }
.page-add-button {
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  color:#fff;
  border:0;
  border-radius:50%;
  background:#5f8a60;
  box-shadow:0 7px 18px rgba(75,111,61,.2);
  font-size:30px;
  line-height:1;
  text-decoration:none;
}
.procurement-modes-page>.intro {
  border:0;
  background:#e7f0d7;
  box-shadow:none;
}
.procurement-mode-grid { align-items:stretch; }
.procurement-mode-card,
.procurement-mode-card.local,
.procurement-mode-card.online {
  min-height:176px;
  padding:24px;
  color:var(--ink);
  border:0;
  border-radius:16px;
  background:#fff6d5;
  box-shadow:0 8px 24px rgba(55,64,39,.10);
}
.procurement-mode-card:nth-child(even) { background:#dcebcf; }
.procurement-mode-card h2 { order:0; margin:0 0 10px; font-size:30px; line-height:1.18; }
.procurement-mode-card p { order:1; margin:0; }
.procurement-mode-card span { order:2; margin-top:auto; padding-top:24px; }

.settings-center { max-width:820px; }
.settings-center>.intro { border:0; background:#e7f0d7; box-shadow:none; }
.settings-center .settings-section { margin-top:20px; padding:24px; border:0; border-radius:16px; box-shadow:0 8px 24px rgba(48,59,35,.09); }
.settings-inline-form { display:grid; gap:16px; }
.settings-hero-preview { width:100%; aspect-ratio:16/9; display:block; object-fit:cover; border:0; border-radius:12px; box-shadow:none; }
.settings-link-button { display:flex; align-items:center; justify-content:center; text-decoration:none; }
.settings-mode-list { display:grid; gap:12px; margin:16px 0; }
.settings-mode-row { display:grid; grid-template-columns:minmax(0,1fr) auto 44px; align-items:end; gap:10px; padding:14px; border:1px solid #d7ddca; border-radius:12px; background:#fff; }
.settings-mode-row label { display:grid; gap:7px; margin:0; }
.settings-mode-row input { width:100%; min-height:46px; padding:10px 12px; color:var(--ink); border:1px solid #aeb9a3; border-radius:9px; background:#fff; font:inherit; }
.settings-mode-count { padding-bottom:12px; color:var(--muted); white-space:nowrap; }
.settings-remove-mode { width:44px; height:44px; color:var(--danger); border:0; border-radius:9px; background:#fff0e9; font-size:24px; }
.settings-add-mode { width:100%; min-height:48px; margin:0 0 14px; color:#365c3e; border:1px dashed #7f9a75; border-radius:10px; background:#edf4e3; font-size:28px; }
.settings-center input[type=file] { width:100%; padding:12px; border:1px solid #c5cdbb; border-radius:10px; background:#fff; }
footer { border-top:0; background:#f3f1e8; }

.dish-card,
.dish-card:nth-child(3n+2),
.dish-card:nth-child(3n+3) {
  border:1px solid #d8ddcf;
  border-top:1px solid #d8ddcf;
  box-shadow:0 8px 22px rgba(49,62,36,.11);
}
.dish-card:hover { border-color:#cbd3c0; box-shadow:0 10px 26px rgba(49,62,36,.14); }
.card-view-link { min-height:44px; display:inline-flex; align-items:center; }
.admin-card-actions a,.admin-card-actions button { min-height:44px; display:flex; align-items:center; justify-content:center; }

.admin-product-card,
.admin-product-card.online,
.admin-product-card.local,
.admin-product-card.consumable,
.admin-product-card.expanded.hardware {
  border:1px solid #d8ddcf;
  border-left:1px solid #d8ddcf;
  box-shadow:0 8px 22px rgba(49,62,36,.11);
}
.admin-product-card:hover { border-color:#cbd3c0; box-shadow:0 10px 26px rgba(49,62,36,.14); }

.procurement-folder-card::before { display:none; content:none; }
.procurement-folder-card,
.procurement-folder-card.hardware {
  min-height:154px;
  padding:22px;
  border:2px solid var(--black);
  border-top:2px solid var(--black);
  box-shadow:6px 7px 0 rgba(24,26,20,.14);
}
.procurement-folder-card h2 { margin:0 0 8px; }

.procurement-mode-card,
.procurement-mode-card.local,
.procurement-mode-card.online {
  border:2px solid var(--black);
  box-shadow:6px 7px 0 rgba(24,26,20,.14);
}
.procurement-mode-card:hover { transform:translateY(-1px); box-shadow:5px 6px 0 rgba(24,26,20,.17); }

@media(max-width:820px) {
  body { background:#f3f1e8; }
  .container { width:100%; margin:0 auto 24px; padding:18px; border-radius:0; box-shadow:none; }
  .hub { padding-top:14px; }
  .hub-hero { border-radius:12px; }
  .hub-card,.hub-card.procurement { border:1px solid #d8ddcf; box-shadow:0 8px 22px rgba(49,62,36,.11); }
  .procurement-modes-page>.intro { border:0; box-shadow:none; }
  .procurement-mode-grid { gap:14px; }
  .procurement-mode-card,.procurement-mode-card.local,.procurement-mode-card.online { min-height:154px; padding:22px; border:2px solid var(--black); box-shadow:6px 7px 0 rgba(24,26,20,.14); }
  .procurement-mode-card h2 { font-size:27px; }
  .settings-center .settings-section { padding:18px; }
  .settings-mode-row { grid-template-columns:minmax(0,1fr) 42px; }
  .settings-mode-count { grid-column:1; padding:0; }
  .settings-remove-mode { grid-column:2; grid-row:1 / span 2; align-self:center; }
}

/* v32 — configurable homepage modules */
.hub { background:var(--home-page-bg,#fbfaf4); color:var(--home-page-color,#181a14); }
.hub-card.home-configurable-card {
  color:var(--home-card-color,#181a14);
  background-color:var(--home-card-bg,#dcebcf);
  background-image:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16)),var(--home-card-image,none);
  background-size:cover;
  background-position:center;
  text-align:var(--home-card-align,left);
  justify-content:var(--home-card-justify,flex-start);
}
.hub-card.home-configurable-card h2,
.hub-card.home-configurable-card p,
.hub-card.home-configurable-card span { color:inherit; }
.hub-card.home-configurable-card>span { margin-top:var(--home-card-action-margin,auto); }
.home-card-extra-text { margin:8px 0 0!important; color:inherit; font-size:17px; font-weight:700; }

.settings-template-controls { display:grid; gap:14px; margin-bottom:18px; }
.settings-home-card-list { display:grid; gap:18px; }
.settings-home-card {
  overflow:hidden;
  border:1px solid #d8ddcf;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(49,62,36,.09);
}
.settings-home-card-preview {
  min-height:170px;
  padding:24px;
  display:flex;
  flex-direction:column;
}
.settings-home-card-preview h3 { margin:0 0 10px; color:inherit; font-size:28px; }
.settings-home-card-preview p { margin:0; color:inherit; opacity:.8; }
.settings-home-card-preview span { margin-top:auto; padding-top:22px; color:inherit; font-weight:800; }
.settings-home-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px; border-top:1px solid #d8ddcf; }
.settings-home-card-actions button { min-height:46px; border:1px solid #b8c5aa; border-radius:9px; background:#eef4e5; font:inherit; font-weight:800; }
.settings-home-card-actions .settings-edit-home-card { color:#365c3e; }
.settings-home-card-actions .settings-delete-home-card { color:var(--danger); border-color:#e1c5b9; background:#fff1ea; }
.settings-home-card-fields { padding:16px; border-top:1px solid #d8ddcf; background:#faf9f3; }
.settings-home-card-fields label,
.settings-template-controls label,
.settings-footer-row label { display:grid; gap:7px; margin-bottom:13px; }
.settings-home-card-fields input,
.settings-home-card-fields textarea,
.settings-home-card-fields select,
.settings-template-controls select,
.settings-footer-row input {
  width:100%;
  min-height:46px;
  padding:10px 12px;
  color:var(--ink);
  border:1px solid #aeb9a3;
  border-radius:9px;
  background:#fff;
  font:inherit;
}
.settings-home-card-fields textarea { resize:vertical; }
.settings-color-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.settings-color-row input[type=color] { height:48px; padding:5px; }
.settings-add-home-card { width:100%; min-height:52px; margin:18px 0; color:#365c3e; border:1px dashed #7f9a75; border-radius:10px; background:#edf4e3; font-size:30px; }
.settings-footer-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; margin:8px 0 16px; }
.settings-footer-row label { margin:0; }
.settings-clear-footer { min-height:46px; padding:0 16px; color:var(--danger); border:1px solid #e1c5b9; border-radius:9px; background:#fff1ea; font:inherit; }

@media(max-width:560px) {
  .settings-home-card-preview { min-height:150px; padding:20px; }
  .settings-home-card-preview h3 { font-size:26px; }
  .settings-footer-row { grid-template-columns:1fr; }
  .settings-clear-footer { width:100%; }
}

/* v33 - 所见即所得首页编辑 */
.settings-footer-row,footer { display:none!important; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.home-editor { min-height:100dvh; padding-bottom:94px; }
.home-editor-toolbar { min-height:50px; margin-bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.home-editor-toolbar a { color:#365c3e; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.home-editor-toolbar strong { color:#5e6759; font-size:14px; }
.home-editor-hero-form { margin:0; }
.home-editor-hero { cursor:pointer; }
.home-editor-badge,.home-card-edit-hint { position:absolute; z-index:4; top:14px; right:14px; min-height:34px; padding:7px 11px; display:flex; align-items:center; color:#fff; border-radius:999px; background:rgba(30,34,25,.76); font-size:13px; font-style:normal; font-weight:800; backdrop-filter:blur(6px); }
.home-editor-card-shell { position:relative; min-width:0; }
.home-editor-card { position:relative; height:100%; min-height:220px; cursor:default; }
.home-editor-card>*:not(.home-card-edit-trigger):not(.home-card-edit-hint):not(.home-card-next) { position:relative; z-index:2; }
.home-card-edit-trigger { position:absolute; z-index:3; inset:0; width:100%; min-height:44px; padding:0; border:0; border-radius:inherit; background:transparent; cursor:pointer; }
.home-card-next { position:absolute; z-index:6; right:18px; bottom:16px; min-height:44px; padding:10px 14px; display:inline-flex; align-items:center; justify-content:center; color:#fff!important; border-radius:10px; background:#5b8059; text-decoration:none; font-size:15px; font-weight:800; }
.home-editor-card>span { max-width:55%; padding-bottom:6px; }
.home-editor-add-form { margin:22px 0 0; display:flex; justify-content:center; }
.home-editor-add-form button { width:58px; height:58px; display:grid; place-items:center; color:#fff; border:0; border-radius:50%; background:#5f8a60; box-shadow:0 10px 24px rgba(61,93,55,.24); font-size:34px; line-height:1; }
.home-card-dialog { width:min(92vw,680px); max-height:88dvh; margin:auto; padding:0; overflow:auto; color:#181a14; border:0; border-radius:18px; background:#fbfaf4; box-shadow:0 24px 70px rgba(20,26,16,.3); }
.home-card-dialog::backdrop { background:rgba(17,21,15,.56); backdrop-filter:blur(3px); }
.home-card-dialog-head { position:sticky; z-index:4; top:0; min-height:58px; padding:10px 14px 10px 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #d8ddcf; background:#fbfaf4; }
.home-card-dialog-head strong { font-size:21px; }
.home-card-dialog-head button { width:44px; height:44px; color:#8b2e1e; border:0; background:transparent; font-size:30px; }
.home-card-editor-form { padding:18px; display:grid; gap:14px; }
.home-card-editor-form label { display:grid; gap:7px; font-weight:800; }
.home-card-editor-form input,.home-card-editor-form textarea,.home-card-editor-form select { width:100%; min-height:46px; padding:10px 12px; color:#181a14; border:1px solid #aeb9a3; border-radius:9px; background:#fff; font:inherit; }
.home-card-editor-form input[type=color] { height:48px; padding:5px; }
.home-card-editor-form input[type=file] { padding:9px; font-weight:400; }
.home-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.home-editor-check { grid-template-columns:24px 1fr!important; align-items:center; }
.home-editor-check input { width:22px!important; min-height:22px!important; }
.home-extra-fieldset { min-width:0; padding:14px; border:1px solid #d2dac7; border-radius:12px; }
.home-extra-fieldset legend { padding:0 7px; font-weight:900; }
.home-extra-row { display:grid; grid-template-columns:minmax(120px,1fr) 46px minmax(90px,.55fr) 44px 44px 44px; gap:7px; margin-bottom:10px; align-items:center; }
.home-extra-row button { width:44px; height:44px; padding:0; color:#365c3e; border:1px solid #becab3; border-radius:8px; background:#f2f6eb; font-size:22px; }
.home-extra-row [data-extra-remove] { color:#a52f1c; background:#fff0e9; }
.home-extra-add { width:100%; min-height:46px; color:#365c3e; border:1px dashed #7f9a75; border-radius:9px; background:#edf4e3; font:inherit; font-weight:800; }
.home-card-delete-form { padding:0 18px 20px; }
.home-card-delete-form button { width:100%; min-height:46px; color:#a52f1c; border:1px solid #e0b9aa; border-radius:9px; background:#fff0e9; font:inherit; font-weight:800; }
@media(max-width:560px) {
  .home-editor { padding:14px 18px 86px; }
  .home-editor .hub-grid { gap:16px; }
  .home-editor-card { min-height:210px; }
  .home-card-edit-hint { top:12px; right:12px; }
  .home-editor-grid { grid-template-columns:1fr; }
  .home-extra-row { grid-template-columns:minmax(0,1fr) 46px; padding:10px; border:1px solid #d8ddcf; border-radius:10px; }
  .home-extra-row>select { grid-column:1; }
  .home-extra-row [data-extra-up],.home-extra-row [data-extra-down],.home-extra-row [data-extra-remove] { grid-row:3; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }

/* v37 - direct-manipulation visual editor */
.hub-card.home-configurable-card {
  position:relative;
  min-height:220px;
  display:block;
  overflow:hidden;
}
.home-configurable-card .home-canvas-text,
.hub-hero-copy .home-canvas-text {
  position:absolute!important;
  z-index:2;
  min-height:1.35em;
  margin:0!important;
  padding:0!important;
  color:inherit;
  line-height:1.35;
  letter-spacing:normal;
  overflow-wrap:anywhere;
}
.home-configurable-card .home-canvas-text[data-text-role="action"] { margin:0!important; }
.hub-hero-copy {
  height:138px;
  padding:0;
  overflow:hidden;
}
.home-editor-hero { cursor:default; }
.home-editor-hero .hub-hero-copy { touch-action:none; }
.home-editor-card { touch-action:none; }
.home-editor-card .home-canvas-text,
.home-editor-hero .home-canvas-text {
  cursor:grab;
  user-select:none;
  touch-action:none;
  outline:0;
}
.home-editor-card .home-canvas-text:not([data-text-locked="1"]),
.home-editor-hero .home-canvas-text:not([data-text-locked="1"]) {
  width:max-content!important;
  max-width:86%;
}
.home-editor-card .home-canvas-system-count {
  cursor:default;
  pointer-events:none;
  user-select:none;
}
.home-editor-card .home-canvas-text:active,
.home-editor-hero .home-canvas-text:active { cursor:grabbing; }
.home-editor-card .home-canvas-text.is-selected,
.home-editor-hero .home-canvas-text.is-selected {
  z-index:8;
  outline:2px solid #2879d0;
  outline-offset:5px;
  background:rgba(255,255,255,.16);
}
.home-editor-card .home-canvas-text.is-selected::after,
.home-editor-hero .home-canvas-text.is-selected::after {
  display:none;
}
.home-editor-card-shell.is-dirty .home-editor-card,
.home-editor-hero.is-dirty { box-shadow:0 0 0 3px rgba(40,121,208,.24),0 10px 26px rgba(49,62,36,.14); }
.home-editor-card>.home-card-image-button {
  position:absolute!important;
  z-index:9!important;
  top:12px;
  right:12px;
  min-height:40px;
  padding:9px 12px;
  display:flex;
  align-items:center;
  color:#fff;
  border-radius:999px;
  background:rgba(30,34,25,.74);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  backdrop-filter:blur(6px);
}
.home-card-next { z-index:10; }
.home-card-remove-form {
  position:absolute;
  z-index:12;
  top:-10px;
  left:-10px;
  margin:0;
}
.home-card-remove-form button {
  width:44px;
  height:44px;
  padding:0;
  display:grid;
  place-items:center;
  color:#fff;
  border:2px solid #fff;
  border-radius:50%;
  background:#a52f1c;
  box-shadow:0 7px 18px rgba(72,23,15,.24);
  font:800 25px/1 system-ui,sans-serif;
  cursor:pointer;
  touch-action:manipulation;
}
.home-card-remove-form button:focus-visible { outline:3px solid #2879d0; outline-offset:3px; }
.home-card-canvas-form { display:none; }
.canvas-toolbar {
  position:fixed;
  z-index:80;
  left:50%;
  bottom:max(10px,env(safe-area-inset-bottom));
  width:min(calc(100% - 24px),720px);
  padding:14px;
  color:#181a14;
  border:1px solid #cbd3c0;
  border-radius:16px;
  background:rgba(255,254,248,.97);
  box-shadow:0 18px 56px rgba(28,36,22,.26);
  transform:translateX(-50%);
  backdrop-filter:blur(14px);
}
.canvas-toolbar[hidden] { display:none; }
.canvas-toolbar-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.canvas-toolbar-head strong { font-size:16px; }
.canvas-toolbar-head button { width:44px; height:44px; padding:0; color:#7d2418; border:0; background:transparent; font-size:28px; cursor:pointer; }
.canvas-text-controls { display:grid; grid-template-columns:minmax(120px,2fr) minmax(98px,1fr) 76px 58px minmax(86px,1fr); gap:8px; align-items:end; }
.canvas-text-controls[hidden],.canvas-surface-controls[hidden] { display:none; }
.canvas-text-controls label,.canvas-surface-controls label { display:grid; gap:5px; color:#4d5749; font-size:12px; font-weight:800; }
.canvas-text-controls input,.canvas-text-controls select,.canvas-surface-controls input {
  width:100%;
  min-height:44px;
  padding:8px 10px;
  color:#181a14;
  border:1px solid #aeb9a3;
  border-radius:8px;
  background:#fff;
  font:inherit;
}
.canvas-text-controls input[type="color"],.canvas-surface-controls input[type="color"] { padding:4px; }
.canvas-align { display:grid; grid-template-columns:repeat(3,44px); gap:5px; }
.canvas-align button,.canvas-surface-controls button { min-height:44px; color:#365c3e; border:1px solid #b8c5aa; border-radius:8px; background:#eef4e5; font-weight:800; cursor:pointer; }
.canvas-surface-controls { display:flex; align-items:end; gap:12px; }
.canvas-surface-controls label { width:110px; }
.canvas-toolbar-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:10px; }
.canvas-toolbar-actions button { min-height:44px; padding:9px 16px; border:1px solid #b8c5aa; border-radius:9px; background:#fff; font-weight:800; cursor:pointer; }
.canvas-toolbar-actions #canvas-delete-text { margin-right:auto; color:#a52f1c; border-color:#e0b9aa; background:#fff0e9; }
.canvas-toolbar-actions .primary { color:#fff; border-color:#557b59; background:#557b59; }
.canvas-save-state { min-height:18px; margin:6px 0 0; color:#365c3e; text-align:right; font-size:12px; font-weight:800; }
.home-editor { padding-bottom:270px; }
@media(max-width:620px) {
  .home-editor-toolbar { align-items:flex-start; flex-direction:column; gap:4px; }
  .home-editor .hub-grid { grid-template-columns:1fr; }
  .home-editor-card { min-height:220px; }
  .home-card-image-button { top:9px; right:9px; }
  .canvas-toolbar { width:calc(100% - 16px); padding:12px; }
  .canvas-text-controls { grid-template-columns:minmax(0,1.5fr) minmax(96px,1fr) 70px; }
  .canvas-text-controls .canvas-wide { grid-column:1 / -1; }
  .canvas-align { grid-column:1 / -1; }
  .canvas-toolbar-actions { margin-top:8px; }
  .hub-hero-copy { height:126px; }
}

/* v38 - management subpage visual design mode */
.page-design-entry {
  min-height:46px;
  margin:0 0 16px auto;
  padding:9px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:max-content;
  color:#fff;
  border-radius:10px;
  background:#557b59;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 6px 16px rgba(54,92,62,.18);
}
.page-design-entry svg { width:21px; height:21px; }
.admin-design-mode { min-height:100dvh; padding-bottom:270px!important; }
.admin-design-banner { margin:0 0 14px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #cbd3c0; border-radius:10px; background:#f0f4e9; }
.admin-design-banner a { color:#365c3e; font-weight:900; }
.admin-design-banner strong { color:#5e6759; font-size:13px; }
.admin-page-static-text,.admin-page-design-text { display:inline-block; position:relative; line-height:1.4; }
.admin-page-design-text { cursor:grab; user-select:none; touch-action:none; }
.admin-page-design-action { min-height:46px; padding:11px 18px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:#557b59; }
.admin-page-design-text:active { cursor:grabbing; }
.admin-page-design-text.is-selected { z-index:8; outline:2px solid #2879d0; outline-offset:5px; background:rgba(255,255,255,.24); }
.admin-design-mode .intro [data-admin-page-text="extra"] { display:block; margin-top:10px; }
.admin-page-template-controls { display:flex; flex-wrap:wrap; align-items:end; gap:9px; margin-top:10px; }
.admin-page-template-controls label:first-child { width:105px; display:grid; gap:5px; color:#4d5749; font-size:12px; font-weight:800; }
.admin-page-template-controls input[type="color"] { width:100%; height:44px; padding:4px; border:1px solid #aeb9a3; border-radius:8px; background:#fff; }
.admin-page-template-controls button,.admin-page-image-button { min-height:44px; padding:9px 13px; display:flex; align-items:center; justify-content:center; color:#365c3e; border:1px solid #b8c5aa; border-radius:8px; background:#eef4e5; font-weight:800; cursor:pointer; }
.admin-design-mode .intro-actions>a { pointer-events:none; }
@media(max-width:620px) {
  .admin-design-banner { align-items:flex-start; flex-direction:column; }
  .admin-page-template-controls { display:grid; grid-template-columns:1fr 1fr; }
  .admin-page-template-controls label:first-child { width:auto; }
  .admin-page-template-controls button:last-child { grid-column:1 / -1; }
}

/* v39 - unified admin settings entry, draft confirmation and version history */
.global-admin-settings-gear {
  position:fixed;
  z-index:40;
  top:16px;
  left:max(16px,calc((100vw - 1180px)/2 + 16px));
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  border:0;
  border-radius:50%;
  background:rgba(78,78,78,.86);
  box-shadow:0 8px 20px rgba(29,34,25,.18);
  backdrop-filter:blur(8px);
  text-decoration:none;
  touch-action:manipulation;
}
.global-admin-settings-gear svg { width:24px; height:24px; }
.global-admin-settings-gear:focus-visible { outline:3px solid #f1cb35; outline-offset:3px; }
.design-decision-bar {
  position:fixed;
  z-index:60;
  right:50%;
  bottom:max(12px,env(safe-area-inset-bottom));
  width:min(540px,calc(100% - 24px));
  padding:12px;
  color:#182014;
  border:1px solid #c9d2bf;
  border-radius:16px;
  background:rgba(255,255,250,.96);
  box-shadow:0 18px 44px rgba(35,43,27,.24);
  backdrop-filter:blur(14px);
  transform:translateX(50%);
}
.design-decision-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.design-decision-actions form { margin:0; }
.design-decision-actions button,.design-version-history button {
  min-height:46px;
  width:100%;
  padding:10px 14px;
  border:1px solid #aab7a0;
  border-radius:10px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  touch-action:manipulation;
}
.design-confirm { color:#fff; border-color:#4f7655!important; background:#557b59; }
.design-cancel { color:#733328; background:#fff2ec; }
.design-version-history { margin-top:10px; }
.design-version-history summary { min-height:44px; display:flex; align-items:center; color:#365c3e; font-weight:900; cursor:pointer; }
.design-version-history>div { max-height:210px; overflow:auto; border-top:1px solid #d8ddcf; }
.design-version-history form { padding:9px 0; display:grid; grid-template-columns:minmax(0,1fr) 86px; align-items:center; gap:10px; border-bottom:1px solid #e2e6db; }
.design-version-history span { color:#5d6658; font-size:13px; }
.design-version-history button { min-height:44px; color:#365c3e; background:#eef4e7; }
.design-no-history { min-height:36px; display:flex; align-items:center; color:#7a8175; font-size:13px; }
.home-editor { padding-bottom:190px!important; }
@media(max-width:620px) {
  .global-admin-settings-gear { top:14px; left:14px; }
  .design-decision-bar { bottom:max(8px,env(safe-area-inset-bottom)); width:calc(100% - 16px); padding:10px; border-radius:14px; }
  .design-decision-actions button { min-height:48px; }
}

/* v41 - 可增删的菜品分类标签 */
.filters .design-category-chip {
  flex:none;
  display:flex;
  align-items:stretch;
}
.filters .design-category-chip>button[data-filter] { border-radius:7px 0 0 7px; }
.filters .design-category-fixed>button[data-filter] { border-radius:7px; }
.filters .design-category-chip form,
.filters .design-category-add-chip { flex:none; margin:0; }
.filters .design-category-remove {
  width:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  display:grid;
  place-items:center;
  color:#a52f1c;
  border:2px solid #181a14;
  border-left:0;
  border-radius:0 7px 7px 0;
  background:#fff1ea;
  font-size:23px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  touch-action:manipulation;
}
.filters .design-category-add {
  width:46px;
  min-width:46px;
  min-height:44px;
  padding:0;
  display:grid;
  place-items:center;
  color:#fff;
  border:2px solid #181a14;
  border-radius:7px;
  background:#5b8059;
  font-size:27px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  touch-action:manipulation;
}
.filters .design-category-remove:focus-visible,
.filters .design-category-add:focus-visible { outline:3px solid #2879d0; outline-offset:3px; }

/* v42 - 菜品页直接配色与紧贴文字的编辑框 */
.recipes-page .admin-page-intro {
  color:var(--design-intro-text,#181a14);
  background:var(--design-intro-bg,#e7f0d7);
}
.recipes-page .admin-page-intro h1,
.recipes-page .admin-page-intro p { color:inherit; }
.recipes-page .intro-actions { background:var(--design-primary-bg,#557b59); }
.recipes-page .intro-actions .primary,
.recipes-page .intro-actions .admin-page-design-action {
  color:var(--design-primary-text,#fff);
  background:var(--design-primary-bg,#557b59);
}
.admin-design-mode.recipes-page .intro-actions {
  min-height:48px;
  padding:11px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #181a14;
  border-radius:9px;
  box-shadow:4px 4px 0 rgba(24,26,20,.14);
}
.admin-design-mode.recipes-page .admin-page-design-action {
  min-height:0;
  width:max-content;
  max-width:100%;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.recipes-page .autocomplete-input-wrap {
  color:var(--design-search-text,#181a14);
  background:var(--design-search-bg,#fff);
}
.recipes-page .autocomplete-input-wrap input {
  color:var(--design-search-text,#181a14);
  background:transparent;
}
.recipes-page .autocomplete-input-wrap input::placeholder { color:var(--design-search-text,#181a14); opacity:.5; }
.recipes-page .filters button[data-filter] {
  color:var(--design-filter-text,#181a14);
  background:var(--design-filter-bg,#fffef7);
}
.recipes-page .filters button[data-filter].active,
.recipes-page .filters [data-admin-color-role="filterActive"] {
  color:var(--design-filter-active-text,#181a14);
  background:var(--design-filter-active-bg,#f1cb35);
}
.recipes-page .dish-card {
  color:var(--design-card-text,#181a14);
  background:var(--design-card-bg,#fffef7);
}
.recipes-page .dish-card h2,
.recipes-page .dish-card small,
.recipes-page .dish-card p,
.recipes-page .dish-card span { color:inherit; }
.recipes-page .dish-card small { opacity:.72; }
.recipes-page .dish-card p { opacity:.68; }
.recipes-page .admin-card-actions a {
  color:var(--design-edit-text,#181a14);
  background:var(--design-edit-bg,#edf3e3);
}
.recipes-page .admin-card-actions button {
  color:var(--design-delete-text,#181a14);
  background:var(--design-delete-bg,#fff0e9);
}
.admin-page-design-text {
  width:max-content;
  max-width:100%;
  box-sizing:border-box;
}
.admin-page-design-text.is-selected {
  outline-offset:2px;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.admin-design-mode [data-admin-color-role] { cursor:pointer; }
.admin-design-mode [data-admin-color-role].is-color-selected {
  outline:2px dashed #c0792f;
  outline-offset:3px;
}

/* Unified mobile hierarchy editor */
.admin-design-banner { display:none!important; }
.design-level-nav {
  width:max-content;
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:8px;
}
.design-level-nav a,
.design-level-nav span {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  color:#181a14;
  border:1.5px solid #181a14;
  border-radius:8px;
  background:#fff;
  font-size:25px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
}
.design-level-nav span { color:#9b9d94; border-color:#cfd2c8; }
.home-card-next { font-size:0!important; }
.home-card-next::after { content:">"; font-size:24px; line-height:1; }
.procurement-folders-page.admin-design-mode .admin-page-intro {
  color:var(--design-intro-text,#181a14);
  background:var(--design-intro-bg,#e7f0d7);
}
.procurement-design-card-shell { position:relative; min-width:0; }
.procurement-design-card-shell .procurement-mode-card {
  height:100%;
  color:var(--design-card-text,#181a14);
  background:var(--design-card-bg,#fffef7);
  cursor:pointer;
}
.procurement-design-card-shell [contenteditable="true"] {
  width:max-content;
  max-width:calc(100% - 46px);
  border-radius:4px;
  outline:none;
}
.procurement-design-card-shell [contenteditable="true"]:focus {
  outline:2px solid #2879d0;
  outline-offset:4px;
}
.procurement-design-remove {
  position:absolute;
  z-index:8;
  top:-10px;
  left:-10px;
  margin:0;
}
.procurement-design-remove button {
  width:44px;
  height:44px;
  padding:0;
  color:#fff;
  border:2px solid #fff;
  border-radius:50%;
  background:#ad301d;
  box-shadow:0 4px 12px rgba(60,31,24,.2);
  font-size:26px;
  font-weight:900;
}
.procurement-design-next {
  position:absolute;
  right:18px;
  bottom:16px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  color:#fff!important;
  border-radius:8px;
  background:#557b59;
  font-size:24px;
  font-weight:900;
  text-decoration:none;
}
.procurement-design-add { margin:20px 0 0; display:flex; justify-content:center; }
.procurement-design-add button {
  width:58px;
  height:58px;
  padding:0;
  color:#fff;
  border:0;
  border-radius:50%;
  background:#5f8a60;
  box-shadow:0 10px 24px rgba(61,93,55,.24);
  font-size:34px;
  line-height:1;
}
.procurement-modes-page.admin-design-mode>.intro,
.procurement-category-page.admin-design-mode>.intro {
  color:var(--design-intro-text,#181a14);
  background:var(--design-intro-bg,#e7f0d7);
}
.procurement-category-page.admin-design-mode .admin-product-card {
  color:var(--design-card-text,#181a14);
  background:var(--design-card-bg,#fffef7);
}
.procurement-category-page.admin-design-mode .admin-product-card h2,
.procurement-category-page.admin-design-mode .admin-product-card small,
.procurement-category-page.admin-design-mode .admin-product-card dt,
.procurement-category-page.admin-design-mode .admin-product-card dd { color:inherit; }
.procurement-category-page.admin-design-mode .admin-product-actions a {
  color:var(--design-edit-text,#181a14);
  background:var(--design-edit-bg,#edf3e3);
}
.procurement-design-add-link {
  width:58px;
  height:58px;
  margin:20px auto 0;
  display:grid;
  place-items:center;
  color:#fff!important;
  border-radius:50%;
  background:#5f8a60;
  box-shadow:0 10px 24px rgba(61,93,55,.24);
  font-size:34px;
  line-height:1;
  text-decoration:none;
}
.admin-page-component-controls {
  margin-top:10px;
  padding:10px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 94px 94px;
  align-items:end;
  gap:9px;
  color:#253022;
  border:1px solid #cad4c0;
  border-radius:10px;
  background:#f7f8f1;
}
.admin-page-component-controls[hidden] { display:none; }
.admin-page-component-controls>strong { align-self:center; }
.admin-page-component-controls label { display:grid; gap:5px; font-size:12px; font-weight:800; }
.admin-page-component-controls input[type="color"] { width:100%; height:44px; padding:4px; border:1px solid #aeb9a3; border-radius:8px; background:#fff; }
.design-decision-actions .design-confirm,
.design-decision-actions .design-cancel {
  color:#181a14!important;
  border-color:#181a14!important;
  background:#fff!important;
}
@media(max-width:620px) {
  .admin-page-component-controls { grid-template-columns:1fr 1fr; }
  .admin-page-component-controls>strong { grid-column:1 / -1; }
}

/* v34 - 采购层级配色 */
.procurement-folder-card.local { background:#dcebcf; }
.procurement-modes-page>.intro { background:#fff0bd; }

/* v35 - 采购三类 */
.procurement-mode-card.ingredients { background:#fff0bd; }
.procurement-mode-card.supplies { background:#f6ddc8; }
.procurement-mode-card.equipment { background:#dcebcf; }
