/* 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 { 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:42px; 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; }
}