:root { --ink:#273121; --muted:#66705e; --line:#e4e8dc; --blue:#668b36; --green:#668b36; --lime:#a8c957; --gold:#f2b632; --coral:#ee704b; --bg:#fffaf0; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html,body { max-width:100%; overflow-x:hidden; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif; }
a { color:var(--blue); overflow-wrap:anywhere; }
button,input,textarea,select { font:inherit; }
.container { width:min(100% - 28px,980px); margin:0 auto; padding:28px 0 60px; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px max(18px,calc((100% - 980px)/2)); color:white; background:linear-gradient(120deg,#557b2b 0%,#8cab43 52%,#efa92f 100%); box-shadow:0 5px 18px rgba(87,120,44,.18); }
.site-header div { display:grid; gap:3px; }.site-header .brand { color:white; font-size:20px; font-weight:700; text-decoration:none; }.site-header span { font-size:12px; opacity:.85; }
.site-header .site-header-tools { display:flex; align-items:center; gap:12px; }.settings-gear { width:42px; height:42px; display:grid; place-items:center; color:white; border:1px solid rgba(255,255,255,.6); border-radius:10px; background:rgba(255,255,255,.16); font-size:24px; line-height:1; text-decoration:none; }.settings-gear:active { background:rgba(255,255,255,.28); }
.intro h1 { margin:8px 0; font-size:30px; }.intro p,.muted { color:var(--muted); }
.hub { min-height:calc(100vh - 144px); background:radial-gradient(circle at 8% 5%,rgba(242,182,50,.14),transparent 26%),radial-gradient(circle at 90% 38%,rgba(168,201,87,.16),transparent 28%); }.hub-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:26px; }.hub-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }.hub-card { min-height:230px; padding:28px; display:flex; flex-direction:column; color:inherit; text-decoration:none; border:1px solid var(--line); border-top:7px solid var(--gold); border-radius:16px; background:linear-gradient(180deg,#fffef8,#fff); box-shadow:0 10px 28px rgba(86,108,57,.09); transition:transform .18s ease,box-shadow .18s ease; }.hub-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(86,108,57,.13); }.hub-card.procurement { border-top-color:var(--coral); background:linear-gradient(180deg,#fffaf6,#fff); }.hub-card.menu,.hub-card.orders { border-top-color:var(--green); background:linear-gradient(180deg,#f8fce9,#fff); }.hub-card.orders { border-top-color:var(--lime); }.hub-card small { color:var(--muted); }.hub-card h2 { margin:16px 0 8px; font-size:27px; }.hub-card p { margin:0; color:var(--muted); line-height:1.7; }.hub-card span { margin-top:auto; padding-top:24px; color:var(--green); font-weight:700; }.hub-card.procurement span { color:#bd4930; }
.login-shell { min-height:calc(100vh - 61px); padding:24px; display:grid; place-items:center; background:linear-gradient(150deg,#f3f8e8,#fff9df 55%,#fff0e9); }.login-card { width:min(100%,420px); padding:30px; display:grid; gap:17px; border:1px solid var(--line); border-top:7px solid var(--gold); border-radius:16px; background:white; box-shadow:0 18px 50px rgba(75,99,43,.14); }.login-mark { color:var(--green); font-size:18px; font-weight:700; }.login-card h1 { margin:0; font-size:28px; }.login-card>p { margin:0 0 4px; color:var(--muted); }.login-card label { display:grid; gap:7px; font-weight:700; }.login-card input { width:100%; padding:12px; border:1px solid #bbc6ad; border-radius:7px; font-weight:400; outline:none; }.login-card input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(102,139,54,.14); }.login-button { width:100%; padding:12px 16px; }.login-error { padding:10px 12px; color:#9f2e21; border-radius:7px; background:#fff0ed; }
.search { display:flex; align-items:center; gap:12px; margin:24px 0 12px; padding:12px 16px; border:1px solid var(--line); border-radius:8px; background:white; }
.search span { font-weight:700; }.search input { width:100%; border:0; outline:0; }
.search-form button { flex:none; padding:9px 16px; color:white; border:0; border-radius:6px; background:var(--blue); cursor:pointer; }
.procurement-search button { background:var(--coral); }
.filters { display:flex; gap:8px; padding:4px 0 14px; overflow:auto; }.filters button { flex:none; padding:7px 12px; border:1px solid #cbd5e1; border-radius:999px; background:white; cursor:pointer; }.filters button.active { color:white; border-color:var(--blue); background:var(--blue); }
.dish-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.dish-card { min-height:170px; padding:20px; display:flex; flex-direction:column; color:inherit; text-decoration:none; border:1px solid var(--line); border-radius:10px; background:white; }.dish-card:hover { border-color:#9aa9bf; }.dish-card small { color:var(--blue); }.dish-card h2 { margin:10px 0 8px; font-size:19px; }.dish-card p { margin:0; color:var(--muted); line-height:1.6; font-size:13px; }.dish-card span { margin-top:auto; padding-top:18px; color:var(--blue); font-size:13px; }.empty { padding:40px; text-align:center; }
.action-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }.action-intro p { margin-bottom:0; }.procurement-button,.procurement-primary { background:var(--coral); }.procurement-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.procurement-card { min-width:0; min-height:260px; padding:20px; display:flex; flex-direction:column; border:1px solid var(--line); border-top:5px solid var(--coral); border-radius:10px; background:white; }.procurement-card small { color:#b94635; }.procurement-card h2 { margin:10px 0 14px; font-size:20px; overflow-wrap:anywhere; word-break:break-word; }.procurement-card dl { margin:0; }.procurement-card dl div { display:grid; grid-template-columns:52px minmax(0,1fr); gap:8px; padding:7px 0; border-bottom:1px dashed var(--line); }.procurement-card dt { color:var(--muted); }.procurement-card dd { margin:0; overflow-wrap:anywhere; word-break:break-word; }.purchase-link { margin-top:auto; padding-top:20px; color:#b94635; font-weight:700; text-decoration:none; overflow-wrap:anywhere; word-break:break-word; }.empty-state { margin-top:24px; padding:50px 24px; text-align:center; border:1px dashed #cbd5e1; border-radius:10px; background:white; }.empty-state h2 { margin-top:0; }
.product-node-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.product-node-card { min-width:0; min-height:170px; padding:20px; display:flex; flex-direction:column; color:inherit; text-decoration:none; border:1px solid var(--line); border-left:6px solid var(--coral); border-radius:10px; background:white; overflow:hidden; }.product-node-card:hover { border-color:#dc8d80; border-left-color:var(--coral); }.product-node-card small { color:#b94635; }.product-node-card h2 { margin:12px 0 8px; font-size:21px; overflow-wrap:anywhere; word-break:break-word; }.product-node-card p { margin:0; color:var(--muted); }.product-node-card span { margin-top:auto; padding-top:20px; color:#b94635; font-weight:700; }
.procurement-category-section { margin:24px 0 30px; }.procurement-category-section>header { margin-bottom:13px; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:16px; color:#8f3928; border-left:6px solid var(--coral); border-radius:9px; background:#fff0e9; }.procurement-category-section.hardware>header { color:#536f2e; border-left-color:var(--green); background:#eff6df; }.procurement-category-section>header h2 { margin:0; font-size:23px; }.procurement-category-section>header span { font-size:14px; }.category-empty { padding:25px; color:var(--muted); text-align:center; border:1px dashed var(--line); border-radius:10px; background:white; }.admin-category-section { margin-top:28px; }.admin-category-section .admin-product-list { margin-top:0; }
.procurement-folder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }.procurement-folder-card { min-height:220px; padding:26px; display:flex; flex-direction:column; color:var(--ink); border:1px solid #efc4b8; border-top:7px solid var(--coral); border-radius:15px; background:linear-gradient(180deg,#fff3ed,#fff); text-decoration:none; box-shadow:0 9px 24px rgba(120,65,45,.09); }.procurement-folder-card.hardware { border-color:#cddbb9; border-top-color:var(--green); background:linear-gradient(180deg,#f2f8e5,#fff); }.procurement-folder-card small { color:var(--muted); }.procurement-folder-card h2 { margin:18px 0 8px; font-size:30px; }.procurement-folder-card p { margin:0; color:var(--muted); }.procurement-folder-card span { margin-top:auto; padding-top:24px; color:#bd4930; font-weight:700; }.procurement-folder-card.hardware span { color:var(--green); }
.procurement-group-actions { display:flex; align-items:center; gap:12px; }.category-add { padding:8px 12px; color:white; border-radius:7px; background:var(--coral); text-decoration:none; font-weight:700; }.hardware .category-add { background:var(--green); }.group-badge { width:max-content; margin:0; padding:8px 12px; color:#8f3928; border-radius:999px; background:#fff0e9; font-weight:700; }
.menu-page { padding-bottom:150px; }.menu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.menu-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:white; box-shadow:0 6px 18px rgba(80,103,50,.07); }.menu-image { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#eef3df; }.menu-image-placeholder { display:grid; place-items:center; color:#6f873f; background:linear-gradient(145deg,#f4e29d,#dbe8ae 55%,#f4b785); }.menu-image-placeholder span { padding:12px; font-weight:700; }.menu-card-body { display:grid; gap:9px; padding:16px; }.menu-card small { color:var(--green); }.menu-card h2 { min-height:2.7em; margin:0; font-size:20px; line-height:1.35; overflow-wrap:anywhere; }.menu-price { color:#d85b38; font-size:21px; }.order-add { width:100%; padding:10px; color:white; border:0; border-radius:8px; background:var(--green); cursor:pointer; }.order-add:disabled { color:#7a8172; background:#e4e7df; cursor:not-allowed; }
.cart-panel { position:fixed; z-index:20; right:50%; bottom:max(14px,env(safe-area-inset-bottom)); width:min(calc(100% - 28px),620px); max-height:70vh; overflow:auto; transform:translateX(50%); border:1px solid #d6dec8; border-radius:14px; background:white; box-shadow:0 14px 44px rgba(45,62,25,.24); }.cart-toggle { width:100%; padding:15px 18px; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:15px; text-align:left; color:white; border:0; background:linear-gradient(110deg,#5a7d2e,#86a93f); cursor:pointer; }.cart-toggle strong { font-size:20px; }.cart-toggle em { font-style:normal; opacity:.9; }.cart-details { padding:12px; }.cart-list { max-height:34vh; overflow:auto; }.cart-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 5px; border-bottom:1px solid var(--line); }.cart-row>span { min-width:0; overflow-wrap:anywhere; }.quantity-controls { display:flex; align-items:center; gap:10px; flex:none; }.quantity-controls button { width:30px; height:30px; color:var(--green); border:1px solid #c8d5b7; border-radius:50%; background:#f7faef; cursor:pointer; }.confirm-order { width:100%; margin-top:12px; padding:12px; color:white; border:0; border-radius:8px; background:var(--coral); cursor:pointer; }
.order-success { min-height:calc(100vh - 145px); display:grid; place-items:start center; }.order-success>section { width:min(100%,520px); padding:30px; text-align:center; border:1px solid var(--line); border-top:7px solid var(--green); border-radius:16px; background:white; box-shadow:0 10px 30px rgba(80,103,50,.1); }.success-mark { width:64px; height:64px; margin:0 auto 14px; display:grid; place-items:center; color:white; border-radius:50%; background:var(--green); font-size:34px; }.order-success ul,.order-card ul { margin:22px 0; padding:0; list-style:none; }.order-success li,.order-card li { display:flex; justify-content:space-between; gap:14px; padding:10px 0; text-align:left; border-bottom:1px dashed var(--line); }.order-total { margin-bottom:22px; display:flex; justify-content:space-between; font-size:20px; }.back-home { display:block; margin-top:16px; }
.admin-autocomplete { position:relative; z-index:5; margin:18px 0; }.admin-autocomplete>label { display:block; margin-bottom:8px; font-weight:700; }.autocomplete-input-wrap { display:flex; align-items:center; overflow:hidden; border:2px solid var(--green); border-radius:10px; background:white; box-shadow:0 5px 16px rgba(80,103,50,.08); }.autocomplete-input-wrap:focus-within { box-shadow:0 0 0 4px rgba(102,139,54,.13); }.autocomplete-input-wrap input { min-width:0; width:100%; padding:13px 15px; border:0; outline:0; background:transparent; }.autocomplete-input-wrap button { flex:none; align-self:stretch; padding:0 16px; color:var(--green); border:0; border-left:1px solid var(--line); background:#f7faef; cursor:pointer; }.autocomplete-results { position:absolute; top:78px; right:0; left:0; max-height:340px; overflow:auto; border:1px solid #ccd8bc; border-radius:10px; background:white; box-shadow:0 14px 30px rgba(45,62,25,.2); }.autocomplete-results a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }.autocomplete-results a:last-child { border-bottom:0; }.autocomplete-results a:hover,.autocomplete-results a.active { background:#f3f8e8; }.autocomplete-results span { flex:none; color:var(--muted); font-size:13px; }.autocomplete-count { margin:8px 2px 0; color:var(--muted); font-size:13px; }
.public-autocomplete { margin:24px 0 18px; }.procurement-autocomplete .autocomplete-input-wrap { border-color:var(--coral); }.procurement-autocomplete .autocomplete-input-wrap:focus-within { box-shadow:0 0 0 4px rgba(238,112,75,.13); }.procurement-autocomplete .autocomplete-input-wrap button { color:#bd4930; background:#fff4ef; }.procurement-autocomplete .autocomplete-results { border-color:#efb3a1; }.procurement-autocomplete .autocomplete-results a:hover,.procurement-autocomplete .autocomplete-results a.active { background:#fff4ef; }
.category-autocomplete { margin:24px 0 14px; }.hardware .category-autocomplete .autocomplete-input-wrap { border-color:var(--green); }.hardware .category-autocomplete .autocomplete-input-wrap:focus-within { box-shadow:0 0 0 4px rgba(102,139,54,.13); }.hardware .category-autocomplete .autocomplete-input-wrap button { color:var(--green); background:#f7faef; }.hardware .category-autocomplete .autocomplete-results { border-color:#ccd8bc; }.hardware .category-autocomplete .autocomplete-results a:hover,.hardware .category-autocomplete .autocomplete-results a.active { background:#f3f8e8; }
.admin-shortcuts { display:flex; gap:18px; margin:10px 0 20px; }.order-shortcut { color:#bd4930; }.orders-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.order-card { padding:20px; border:1px solid var(--line); border-left:6px solid var(--coral); border-radius:12px; background:white; }.order-card.completed { opacity:.72; border-left-color:var(--green); }.order-card header { display:flex; justify-content:space-between; gap:15px; }.order-card header h2 { margin:5px 0; }.order-card header p { margin:0; color:var(--muted); }.order-card header>strong { color:#d85b38; font-size:20px; }.order-card form button { width:100%; }.secondary-action { width:100%; padding:10px 16px; color:var(--green); border:1px solid #bdcea7; border-radius:7px; background:#f7faef; cursor:pointer; }
.admin-mode-bar { margin:18px 0 4px; padding:12px 15px; display:flex; align-items:center; justify-content:space-between; gap:14px; color:#526d2d; border:1px solid #d2debf; border-radius:9px; background:#f3f8e8; }.admin-page-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }.admin-page-intro h1 { margin-bottom:8px; }.admin-page-intro p { margin-bottom:0; }.admin-view-card { color:inherit; }.card-view-link { margin-top:auto; padding-top:18px; color:var(--green); font-size:13px; font-weight:700; text-decoration:none; }.admin-card-actions { margin-top:14px; padding-top:12px; display:grid; grid-template-columns:1fr 1fr; gap:10px; border-top:1px solid var(--line); }.admin-card-actions a,.admin-card-actions button { width:100%; padding:8px 10px; text-align:center; border:0; border-radius:6px; background:#f2f7e8; cursor:pointer; }.admin-card-actions button { color:#a52b1f; background:#fff2ef; }
.settings-form { gap:20px; }.settings-section { padding:18px; border:1px solid var(--line); border-radius:10px; background:#fffdf7; }.settings-section h2 { margin:0 0 8px; }.settings-category-list,.settings-label-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:14px 0; }.settings-color-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }.settings-color-grid input[type="color"] { height:50px; padding:4px; cursor:pointer; }
.settings-category-list { grid-template-columns:1fr; gap:10px; }.settings-category-row { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px; align-items:center; }.settings-category-row input { min-width:0; }.settings-remove-category { align-self:stretch; color:#c73527; border:1px solid #efb2aa; border-radius:7px; background:#fff2ef; font-size:24px; cursor:pointer; }.settings-add-category { width:100%; padding:9px; color:var(--green); border:1px dashed #9db27f; border-radius:8px; background:#f5f9ed; font-size:26px; line-height:1; cursor:pointer; }.settings-background-preview { display:block; width:100%; max-height:280px; margin-top:14px; border:1px solid var(--line); border-radius:10px; object-fit:cover; }.settings-remove-background { margin-top:12px; display:flex!important; grid-template-columns:auto 1fr; align-items:center; gap:8px; }.settings-remove-background input { width:auto; }
.settings-field-list { display:grid; grid-template-columns:1fr; gap:10px; }.settings-field-row { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:8px; align-items:end; }.settings-field-row label { min-width:0; }.settings-field-row input { min-width:0; }.settings-remove-field { height:48px; color:#c73527; border:1px solid #efb2aa; border-radius:7px; background:#fff2ef; font-size:24px; cursor:pointer; }.settings-add-field { width:100%; padding:9px; color:var(--green); border:1px dashed #9db27f; border-radius:8px; background:#f5f9ed; font-size:26px; line-height:1; cursor:pointer; }
.back { display:inline-block; margin-bottom:20px; }.tutorial-title,.tutorial-section,.edit-form,.table-wrap { margin-bottom:14px; padding:24px; border:1px solid var(--line); border-radius:12px; background:white; }.tutorial-title { border-top:6px solid var(--gold); }.tutorial-title h1 { margin:7px 0 12px; font-size:32px; }.tutorial-title p { color:var(--muted); line-height:1.7; }.tutorial-section h2 { margin-top:0; }.tutorial-section li { margin:10px 0; line-height:1.75; }.tools { border-color:#d9e6c7; background:#f7fbea; }.note { background:#fff7dc; }.recipe-image { display:block; width:100%; max-height:460px; margin:14px 0 18px; border-radius:12px; object-fit:cover; background:#f3f3ef; }.recipe-video { display:block; width:100%; max-height:560px; border-radius:12px; background:#111; }.form-image-preview { display:block; width:min(100%,420px); max-height:280px; border:1px solid var(--line); border-radius:10px; object-fit:cover; }.form-video-preview { display:block; width:min(100%,560px); max-height:360px; border-radius:10px; background:#111; }.share-button,.primary { display:inline-block; padding:10px 16px; border:0; border-radius:7px; color:white; background:var(--blue); text-decoration:none; cursor:pointer; }
.admin-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }.admin-head h1 { margin-bottom:4px; }.admin-head p { color:var(--muted); }.admin-hub { margin-top:18px; }.table-wrap { padding:0; overflow:auto; }table { width:100%; border-collapse:collapse; background:white; }th,td { padding:13px 15px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; }th { background:#f1f4f8; }.inline { display:inline; }.inline button { border:0; color:#b42318; background:transparent; cursor:pointer; }.edit-form { display:grid; gap:16px; }.edit-form h1 { margin:0; }.edit-form label { display:grid; gap:7px; font-weight:700; }.edit-form input,.edit-form textarea,.edit-form select { width:100%; padding:10px; border:1px solid #bdc5d1; border-radius:5px; font-weight:400; resize:vertical; background:white; }
.primary.procurement-primary { background:var(--coral); }.purchase-action { color:#b94635; font-weight:700; }
.admin-product-list { display:grid; gap:12px; margin-top:18px; }.admin-product-card { min-width:0; padding:20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid var(--line); border-left:6px solid var(--coral); border-radius:10px; background:white; overflow:hidden; }.admin-product-card>div { min-width:0; }.admin-product-card h2 { margin:0 0 6px; overflow-wrap:anywhere; word-break:break-word; }.admin-product-card p { margin:0; color:var(--muted); overflow-wrap:anywhere; }.admin-product-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }.admin-product-actions .primary { padding:8px 12px; }.delete-button { padding:8px 12px; color:#a52b1f; border:1px solid #e8b3ad; border-radius:6px; background:#fff5f3; cursor:pointer; }.row-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.admin-product-card.expanded { display:block; padding:0; scroll-margin-top:18px; }.admin-product-card.expanded.hardware { border-left-color:var(--green); }.admin-product-header { padding:20px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.admin-product-header>div { min-width:0; }.admin-product-header small { color:#b94635; font-weight:700; }.admin-product-card.hardware .admin-product-header small { color:var(--green); }.admin-inline-items { border-top:1px solid var(--line); background:#fffcf8; }.admin-product-card.hardware .admin-inline-items { background:#fbfdf6; }.admin-inline-item { padding:18px 20px; border-bottom:1px solid var(--line); }.admin-inline-item:last-child { border-bottom:0; }.admin-inline-item h3 { margin:0 0 12px; font-size:19px; }.admin-inline-item dl { margin:0; }.admin-inline-item dl div { display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px; padding:7px 0; border-bottom:1px dashed #e6dfd6; }.admin-inline-item dl div:last-child { border-bottom:0; }.admin-inline-item dt { color:var(--muted); font-weight:700; }.admin-inline-item dd { min-width:0; margin:0; overflow-wrap:anywhere; word-break:break-word; }.admin-inline-item-actions { display:flex; gap:16px; margin-top:14px; flex-wrap:wrap; }.admin-inline-empty { padding:20px; }
.admin-product-footer-actions { padding:16px 20px; display:grid; grid-template-columns:1fr 1fr; gap:12px; border-top:1px solid var(--line); }.admin-product-footer-actions>* { min-width:0; width:100%; text-align:center; }.admin-product-footer-actions .primary { width:100%; }.admin-product-footer-actions .inline { display:block; }.admin-product-footer-actions .delete-button { width:100%; }
footer { padding:22px; color:#88909c; text-align:center; font-size:12px; border-top:1px solid var(--line); }
@media(max-width:720px){.dish-grid,.procurement-grid,.product-node-grid,.menu-grid,.orders-list,.hub-grid{grid-template-columns:1fr 1fr}.container{padding-top:20px}.tutorial-title,.tutorial-section{padding:19px}.tutorial-title h1{font-size:27px}}
@media(max-width:560px){.hub-grid{grid-template-columns:1fr}.hub-card{min-height:190px}.action-intro{align-items:flex-start;flex-direction:column}.procurement-button{width:100%}}
@media(max-width:640px){.table-wrap{padding:0;border:0;background:transparent;overflow:visible}.table-wrap table,.table-wrap tbody{display:block;width:100%;background:transparent}.table-wrap thead{display:none}.table-wrap tr{display:block;width:100%;margin-bottom:12px;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:9px;background:white;overflow:hidden}.table-wrap td{display:grid;width:100%;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:11px 13px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.table-wrap td::before{content:attr(data-label);color:var(--muted);font-weight:700}.table-wrap td[colspan]{display:block}.table-wrap td[colspan]::before{display:none}.row-actions{min-width:0}.row-actions a,.row-actions button{white-space:normal}.inline{display:inline-block}}
@media(max-width:560px){.admin-head,.admin-product-header{align-items:flex-start;flex-direction:column}.admin-head .primary{width:100%;text-align:center}.admin-page-intro{align-items:flex-start;flex-direction:column}.admin-page-intro .primary{width:100%;text-align:center}.admin-mode-bar{align-items:flex-start;flex-direction:column}.admin-product-card{align-items:flex-start;flex-direction:column;padding:16px}.admin-product-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-product-actions>*{min-width:0;width:100%;text-align:center}.admin-product-actions .primary{grid-column:1/-1;width:100%}.admin-product-actions .inline{display:block}.admin-product-actions .delete-button{width:100%}.admin-product-footer-actions{padding:14px 16px}.admin-product-footer-actions .primary{grid-column:auto}.admin-inline-item{padding:16px}.admin-inline-item dl div{grid-template-columns:82px minmax(0,1fr)}.procurement-category-section>header{align-items:flex-start;flex-direction:column}.procurement-group-actions{width:100%;justify-content:space-between}.category-add{padding:9px 14px}.procurement-folder-grid{grid-template-columns:1fr}.procurement-folder-card{min-height:175px;padding:22px}.settings-category-list,.settings-label-grid,.settings-color-grid{grid-template-columns:1fr}.search{padding:9px}.search span{display:none}.search-form button{padding:9px 13px}}
@media(max-width:430px){.dish-grid,.procurement-grid,.product-node-grid,.orders-list{grid-template-columns:1fr}.menu-grid{gap:10px}.menu-card-body{padding:12px}.menu-card h2{font-size:17px}.menu-price{font-size:18px}.order-add{padding:9px 5px}.cart-toggle{grid-template-columns:1fr auto}.cart-toggle em{display:none}.site-header .brand{font-size:17px}.dish-card,.product-node-card{min-height:145px}.site-header-tools>span{display:none}}

/* Dark studio water theme */
:root { --ink:#f4f7f9; --muted:#a8b2bb; --line:rgba(181,203,216,.16); --blue:#b9d5e2; --green:#7da9bb; --lime:#9db9c4; --gold:#c8b99f; --coral:#9c6872; --bg:#090b0f; color-scheme:dark; }
html { min-height:100%; background:#080a0d; }
body { min-height:100vh; position:relative; isolation:isolate; color:var(--ink); background-color:#090b0f; background-image:linear-gradient(90deg,rgba(0,0,0,.72),transparent 12%,rgba(255,255,255,.018) 24%,transparent 37%,rgba(0,0,0,.55) 50%,transparent 64%,rgba(255,255,255,.018) 77%,transparent 88%,rgba(0,0,0,.72)),radial-gradient(ellipse at 50% 108%,rgba(112,151,169,.13),transparent 43%),linear-gradient(180deg,#11171d 0%,#090c10 56%,#07090c 100%); background-attachment:fixed; }
body::after { content:""; position:fixed; z-index:-1; inset:-35vh 0 0; pointer-events:none; opacity:.42; background-image:radial-gradient(circle at 12% 82%,transparent 0 7px,rgba(221,241,249,.22) 8px 9px,transparent 10px),radial-gradient(circle at 78% 24%,transparent 0 4px,rgba(221,241,249,.2) 5px 6px,transparent 7px),radial-gradient(circle at 43% 60%,transparent 0 10px,rgba(221,241,249,.14) 11px 12px,transparent 13px),radial-gradient(circle at 91% 76%,transparent 0 6px,rgba(221,241,249,.16) 7px 8px,transparent 9px); background-size:230px 310px,300px 390px,420px 540px,360px 470px; animation:studio-bubbles 24s linear infinite; }
@keyframes studio-bubbles { to { transform:translateY(-34vh); } }
@media (prefers-reduced-motion:reduce) { body::after { animation:none; } }

.site-header { display:none!important; }
.container { width:min(100% - 32px,980px); padding:30px 0 68px; }
h1,h2,h3,strong,th,label { color:#f7f9fa; }
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:#c8e0ea; }
.back { padding:7px 0; text-decoration-color:rgba(200,224,234,.45); text-underline-offset:5px; }
.intro h1,.admin-head h1 { letter-spacing:.02em; }

.hub { min-height:calc(100vh - 70px); background:none; }
.hub-hero { margin:0 0 22px; overflow:hidden; border:1px solid rgba(202,220,230,.18); border-radius:20px; background:#080a0d; box-shadow:0 24px 60px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.06); }
.hub-hero img { display:block; width:100%; aspect-ratio:1200/630; object-fit:cover; }
.hub-grid,.hub-grid-two { gap:16px; margin-top:0; }
.hub-card { min-height:210px; color:var(--ink); border:1px solid rgba(185,213,226,.18); border-top:1px solid rgba(221,239,247,.42); border-radius:18px; background:linear-gradient(145deg,rgba(31,41,49,.94),rgba(13,18,23,.97)); box-shadow:0 18px 44px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.05); backdrop-filter:blur(16px); }
.hub-card.procurement,.hub-card.menu,.hub-card.orders { border-color:rgba(185,213,226,.16); border-top-color:rgba(156,104,114,.65); background:linear-gradient(145deg,rgba(37,34,40,.95),rgba(15,18,23,.98)); }
.hub-card small,.hub-card p { color:var(--muted); }
.hub-card span,.hub-card.procurement span { color:#d1e5ed; }
.hub-card:hover { border-color:rgba(211,233,242,.38); box-shadow:0 24px 54px rgba(0,0,0,.46),0 0 28px rgba(125,169,187,.09); }

.login-shell { min-height:100vh; background:transparent; }
.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-color:var(--line); background:linear-gradient(145deg,rgba(28,37,44,.94),rgba(12,17,22,.97)); box-shadow:0 18px 44px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.05); backdrop-filter:blur(14px); }
.login-card { border-top:1px solid rgba(215,230,237,.38); }
.login-mark,.dish-card small,.menu-card small,.admin-product-header small,.admin-product-card.hardware .admin-product-header small { color:#bcd8e3; }
.login-card input,.edit-form input,.edit-form textarea,.edit-form select,.settings-field-row input,.settings-category-row input { color:#f5f8fa; border:1px solid rgba(182,205,218,.24); border-radius:10px; background:rgba(4,8,12,.7); outline:none; }
input::placeholder,textarea::placeholder { color:#77848e; }
.login-card input:focus,.edit-form input:focus,.edit-form textarea:focus,.edit-form select:focus { border-color:#87adbd; box-shadow:0 0 0 4px rgba(125,169,187,.14); }

.share-button,.primary,.login-button,.order-add,.confirm-order,.category-add,.secondary-action { color:#fff; border:1px solid rgba(213,232,240,.18); border-radius:10px; background:linear-gradient(135deg,#344b57,#607e8b); box-shadow:0 9px 22px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.14); }
.primary.procurement-primary,.procurement-button,.procurement-primary { color:#fff; background:linear-gradient(135deg,#59434d,#7b5962); }
.secondary-action { color:#fff; }
.intro-actions { display:flex; align-items:center; gap:10px; }
.settings-gear { width:44px; height:44px; display:grid; place-items:center; color:#f8fbfc; border:1px solid rgba(202,222,232,.28); border-radius:11px; background:rgba(30,42,50,.88); box-shadow:0 8px 20px rgba(0,0,0,.28); font-size:22px; text-decoration:none; }

.autocomplete-input-wrap,.search { color:var(--ink); border:1px solid rgba(183,209,221,.28); border-radius:12px; background:rgba(7,12,17,.82); box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04); }
.autocomplete-input-wrap:focus-within,.procurement-autocomplete .autocomplete-input-wrap:focus-within,.hardware .category-autocomplete .autocomplete-input-wrap:focus-within { border-color:#8fb3c2; box-shadow:0 0 0 4px rgba(125,169,187,.13); }
.autocomplete-input-wrap input,.search input { color:#f7f9fa; }
.autocomplete-input-wrap button,.procurement-autocomplete .autocomplete-input-wrap button,.hardware .category-autocomplete .autocomplete-input-wrap button { color:#d2e6ee; border-left-color:var(--line); background:rgba(30,43,52,.88); }
.autocomplete-results,.procurement-autocomplete .autocomplete-results,.hardware .category-autocomplete .autocomplete-results { border-color:rgba(185,213,226,.24); background:#111920; box-shadow:0 20px 42px rgba(0,0,0,.5); }
.autocomplete-results a { color:#f5f7f9; border-bottom-color:var(--line); }
.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:#1b2931; }
.autocomplete-results span { color:#98a8b2; }

.filters { scrollbar-width:none; }
.filters button { color:#dce6ea; border:1px solid rgba(185,210,222,.22); background:rgba(15,22,28,.88); }
.filters button.active { color:#081015; border-color:#bdd8e3; background:#bdd8e3; box-shadow:0 6px 18px rgba(126,172,191,.2); }
.dish-card { min-height:180px; }
.dish-card:hover,.product-node-card:hover { border-color:rgba(197,221,231,.42); }
.dish-card p,.procurement-card dt,.admin-product-card p,.product-node-card p,.procurement-folder-card p { color:var(--muted); }
.dish-card span { color:#c7dfe8; }
.admin-card-actions { border-top-color:var(--line); }
.admin-card-actions a,.admin-card-actions button { color:#e8f1f4; background:rgba(94,125,139,.18); }
.admin-card-actions button,.inline button,.delete-button { color:#ff9d9d; background:rgba(126,42,49,.16); }

.tutorial-title { border-top:1px solid rgba(222,236,242,.42); }
.tutorial-title p { color:var(--muted); }
.tutorial-section li { color:#e8edf0; }
.tools,.note { color:var(--ink); border-color:var(--line); background:linear-gradient(145deg,rgba(29,39,46,.96),rgba(14,19,24,.98)); }
.recipe-image,.form-image-preview { border:1px solid rgba(199,220,229,.18); background:#080a0d; box-shadow:0 16px 34px rgba(0,0,0,.34); }

.procurement-folder-card,.procurement-folder-card.hardware { color:var(--ink); border:1px solid rgba(186,210,222,.18); border-top:1px solid rgba(203,225,234,.42); background:linear-gradient(145deg,rgba(30,39,46,.95),rgba(12,17,22,.98)); box-shadow:0 18px 44px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.05); }
.procurement-folder-card.hardware { border-top-color:rgba(125,169,187,.7); }
.procurement-category-section>header,.procurement-category-section.hardware>header { color:#f5f8f9; border-left-color:#7699a8; background:rgba(27,38,45,.9); }
.group-badge { color:#dce9ee; background:rgba(125,169,187,.16); }
.product-node-card,.admin-product-card { border-left-color:#7d9ba8; }
.admin-product-card.expanded.hardware { border-left-color:#7699a8; }
.admin-inline-items,.admin-product-card.hardware .admin-inline-items { border-top-color:var(--line); background:rgba(6,10,14,.42); }
.admin-inline-item,.admin-product-footer-actions { border-color:var(--line); }
.admin-inline-item dl div { border-bottom-color:rgba(183,204,215,.14); }
.admin-inline-item dt { color:var(--muted); }
.admin-inline-item dd { color:#eef3f5; }

.menu-image-placeholder { color:#dce9ee; background:linear-gradient(145deg,#1e2b32,#10171c 55%,#2f272d); }
.menu-price,.order-card header>strong { color:#d9c9ae; }
.cart-panel { color:var(--ink); border-color:rgba(191,214,225,.22); background:#10171c; box-shadow:0 20px 60px rgba(0,0,0,.56); }
.cart-toggle { color:#fff; background:linear-gradient(135deg,#293d48,#536e7a); }
.cart-row { border-bottom-color:var(--line); }
.quantity-controls button { color:#deebf0; border-color:rgba(181,205,216,.24); background:#1a252c; }
.success-mark { color:#071015; background:#bcd8e3; }

.settings-section { background:linear-gradient(145deg,rgba(28,37,44,.96),rgba(12,17,22,.98)); }
.settings-remove-category,.settings-remove-field { color:#ffaaa5; border-color:rgba(202,99,99,.34); background:rgba(106,34,40,.24); }
.settings-add-category,.settings-add-field { color:#d8e7ed; border-color:rgba(169,200,213,.38); background:rgba(94,127,140,.12); }
.settings-background-preview { border-color:var(--line); }
.settings-remove-background { color:#e8eef1; }

table { color:var(--ink); background:transparent; }
th { color:#f7fafb; background:#182229; }
th,td { border-bottom-color:var(--line); }
.table-wrap tr { background:transparent; }
.order-card.completed { border-left-color:#7396a5; }
.admin-mode-bar { color:#dbe8ed; border-color:var(--line); background:rgba(26,38,45,.86); }
footer { color:#7f8c95; border-top-color:var(--line); background:rgba(5,8,11,.5); }

@media(max-width:640px) {
  .container { width:min(100% - 24px,980px); padding-top:20px; }
  .hub-hero { margin-bottom:14px; border-radius:14px; }
  .hub-card { min-height:175px; padding:22px; }
  .table-wrap tr { border-color:var(--line); border-left-color:#7799a8; background:linear-gradient(145deg,rgba(28,37,44,.96),rgba(12,17,22,.98)); }
  .table-wrap td { border-bottom-color:var(--line); }
  .table-wrap td::before { color:#9eabb4; }
  .intro-actions { width:100%; }
  .intro-actions .primary { flex:1; text-align:center; }
}

@media(max-width:430px) {
  .hub-grid-two { grid-template-columns:1fr; }
  .hub-hero img { aspect-ratio:1200/630; }
  .hub-card { min-height:155px; }
}

/* Portrait mobile layout shared by student and admin pages */
@media(max-width:820px) {
  body { font-size:16px; background-attachment:scroll; }
  .container { width:min(100% - 22px,680px); padding:16px 0 76px; }
  .back { margin:0 0 14px; padding:8px 4px; font-size:15px; }

  .container>.intro,.container>.admin-head,.recipes-page>.admin-page-intro,.menu-page>.admin-page-intro { margin:0 0 14px; padding:18px; display:flex; align-items:flex-start; flex-direction:column; gap:14px; border:1px solid rgba(188,211,222,.17); border-radius:16px; background:linear-gradient(145deg,rgba(28,37,44,.94),rgba(12,17,22,.97)); box-shadow:0 16px 38px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.05); }
  .container>.intro h1,.container>.admin-head h1,.recipes-page>.admin-page-intro h1,.menu-page>.admin-page-intro h1 { margin:0 0 7px; font-size:28px; line-height:1.18; }
  .container>.intro p,.container>.admin-head p,.recipes-page>.admin-page-intro p,.menu-page>.admin-page-intro p { margin:0; line-height:1.65; }
  .admin-page-intro>div,.admin-head>div,.action-intro>div { width:100%; min-width:0; }
  .admin-page-intro>.primary,.admin-head>.primary,.action-intro>button,.intro-actions { width:100%; }
  .intro-actions { display:grid; grid-template-columns:48px minmax(0,1fr); gap:10px; }
  .intro-actions .settings-gear { width:48px; height:48px; }
  .intro-actions .primary { width:100%; min-height:48px; display:grid; place-items:center; }

  .hub { padding-top:11px; }
  .hub-hero { margin-bottom:12px; border-radius:15px; }
  .hub-hero img { width:100%; height:auto; aspect-ratio:1200/630; object-fit:contain; }
  .hub-grid,.hub-grid-two,.dish-grid,.procurement-grid,.product-node-grid,.procurement-folder-grid,.menu-grid,.orders-list { grid-template-columns:minmax(0,1fr)!important; gap:12px; }
  .hub-card { min-height:0; padding:21px; border-radius:15px; }
  .hub-card h2 { margin:10px 0 7px; font-size:24px; }
  .hub-card p { line-height:1.55; }
  .hub-card span { padding-top:18px; }

  .admin-autocomplete,.public-autocomplete,.category-autocomplete { margin:12px 0; }
  .autocomplete-input-wrap { min-height:52px; border-radius:13px; }
  .autocomplete-input-wrap input { min-height:50px; padding:13px 14px; font-size:16px; }
  .autocomplete-input-wrap button { padding:0 14px; }
  .autocomplete-results { top:58px; max-height:46vh; border-radius:13px; }
  .autocomplete-results a { padding:13px 14px; }
  .filters { gap:8px; margin:0 -11px; padding:6px 11px 14px; scroll-padding-left:11px; }
  .filters button { min-height:40px; padding:8px 14px; }

  .dish-card,.product-node-card,.procurement-folder-card,.menu-card,.order-card { min-height:0; border-radius:15px; }
  .dish-card,.product-node-card { padding:18px; }
  .dish-card h2,.product-node-card h2 { margin:8px 0 6px; font-size:21px; line-height:1.35; }
  .dish-card p,.product-node-card p { line-height:1.55; }
  .dish-card span,.product-node-card span,.card-view-link { padding-top:15px; }
  .admin-card-actions { gap:8px; }
  .admin-card-actions a,.admin-card-actions button { min-height:42px; display:grid; place-items:center; }

  .tutorial-title,.tutorial-section { margin-bottom:12px; padding:18px; border-radius:15px; }
  .tutorial-title h1 { margin:7px 0 11px; font-size:29px; line-height:1.25; }
  .tutorial-section h2 { margin:0 0 14px; font-size:22px; }
  .tutorial-section ul,.tutorial-section ol { margin:0; padding-left:24px; }
  .tutorial-section li { margin:9px 0; line-height:1.7; }
  .recipe-image { max-height:none; margin:13px 0 15px; border-radius:12px; }
  .recipe-video { max-height:none; border-radius:12px; }

  .procurement-folder-grid { margin-top:12px; }
  .procurement-folder-card { min-height:150px; padding:20px; }
  .procurement-folder-card h2 { margin:12px 0 6px; font-size:27px; }
  .procurement-folder-card span { padding-top:17px; }
  .admin-product-list { gap:12px; margin-top:12px; }
  .admin-product-card,.admin-product-card.expanded { border-radius:15px; }
  .admin-product-header { padding:18px; }
  .admin-product-header h2 { margin:5px 0 0; font-size:24px; }
  .admin-inline-item { padding:17px; }
  .admin-inline-item h3 { font-size:20px; }
  .admin-inline-item dl div { grid-template-columns:76px minmax(0,1fr); gap:10px; padding:9px 0; }
  .admin-product-footer-actions { padding:14px 17px; gap:9px; }
  .admin-product-footer-actions .primary,.admin-product-footer-actions .delete-button { min-height:44px; display:grid; place-items:center; }
  .procurement-card { min-height:0; padding:18px; border-radius:15px; }
  .procurement-card h2 { font-size:23px; }
  .procurement-card dl div { grid-template-columns:70px minmax(0,1fr); padding:10px 0; }

  .edit-form { width:100%; margin:0 0 16px; padding:18px; gap:15px; border-radius:16px; }
  .edit-form h1 { font-size:28px; line-height:1.25; }
  .edit-form label { gap:8px; line-height:1.5; }
  .edit-form input,.edit-form textarea,.edit-form select { min-height:48px; padding:12px; border-radius:10px; }
  .edit-form textarea { min-height:112px; line-height:1.6; }
  .edit-form textarea[rows="8"],.edit-form textarea[rows="10"] { min-height:190px; }
  .edit-form input[type="file"] { min-height:58px; padding:10px; }
  .edit-form>.primary { width:100%; min-height:50px; margin-top:2px; }
  .form-image-preview,.form-video-preview { width:100%; max-height:none; border-radius:12px; }

  .settings-form { padding:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; }
  .settings-form>h1 { margin:0 0 2px; padding:18px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,rgba(28,37,44,.96),rgba(12,17,22,.98)); }
  .settings-section { padding:17px; border-radius:15px; }
  .settings-section h2 { font-size:22px; }
  .settings-category-list,.settings-field-list { margin:12px 0; }
  .settings-category-row,.settings-field-row { grid-template-columns:minmax(0,1fr) 44px; }
  .settings-remove-category,.settings-remove-field { width:44px; min-height:48px; }
  .settings-add-category,.settings-add-field { min-height:46px; }

  .menu-card { display:grid; grid-template-columns:116px minmax(0,1fr); overflow:hidden; }
  .menu-image { width:116px; height:100%; min-height:168px; aspect-ratio:auto; }
  .menu-card-body { min-width:0; padding:15px; }
  .menu-card h2 { min-height:0; font-size:19px; }
  .order-add { min-height:43px; }
  .cart-panel { width:calc(100% - 20px); bottom:max(10px,env(safe-area-inset-bottom)); border-radius:15px; }
  .cart-toggle { padding:14px; }

  .order-card { padding:17px; }
  .order-card header { align-items:flex-start; }
  .order-card header h2 { font-size:22px; }
  .order-card li { padding:10px 0; }
  .order-success { min-height:calc(100vh - 70px); align-items:start; }
  .order-success>section { padding:21px; border-radius:16px; }

  .admin-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:0 0 14px; }
  .admin-shortcuts a { min-height:42px; padding:10px; display:grid; place-items:center; text-align:center; border:1px solid var(--line); border-radius:10px; background:rgba(27,38,45,.82); }
  .empty-state,.empty { padding:30px 18px; border-radius:15px; }
  footer { padding:20px 12px calc(20px + env(safe-area-inset-bottom)); }
}

@media(max-width:380px) {
  .container { width:calc(100% - 16px); }
  .container>.intro h1,.container>.admin-head h1,.recipes-page>.admin-page-intro h1,.menu-page>.admin-page-intro h1,.edit-form h1 { font-size:25px; }
  .menu-card { grid-template-columns:96px minmax(0,1fr); }
  .menu-image { width:96px; }
  .admin-product-footer-actions,.admin-card-actions { grid-template-columns:1fr; }
  .admin-shortcuts { grid-template-columns:1fr; }
}

/* 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; }
}

/* Warm Four Fruit Soup UI v27 — bright, warm, high-contrast and mobile first */
:root {
  --ink:#25351f;
  --muted:#64705b;
  --line:#e8dfc8;
  --blue:#087f8c;
  --green:#238342;
  --lime:#b9df3f;
  --gold:#ffd23f;
  --coral:#ff7628;
  --bg:#fff8e7;
  --surface:#fffdf7;
  --mint:#e8f7d1;
  --sun:#fff0a8;
  --orange-soft:#fff0e4;
  --water:#dff6f4;
  --danger:#c92d20;
  --shadow:0 12px 30px rgba(93,83,43,.10);
}

html { color-scheme:light; background:#fff8e7; }
body {
  color:var(--ink);
  background:
    radial-gradient(circle at 6% 10%,rgba(255,210,63,.22),transparent 23%),
    radial-gradient(circle at 94% 28%,rgba(35,131,66,.13),transparent 24%),
    linear-gradient(180deg,#fff8e7 0%,#fffdf5 55%,#f7f9df 100%);
  background-attachment:fixed;
  font-family:"Nunito Sans","Microsoft YaHei","PingFang SC",Arial,sans-serif;
}
body::before {
  content:"";
  position:fixed;
  z-index:-2;
  inset:0;
  pointer-events:none;
  opacity:1;
  background:
    radial-gradient(circle at 3% 62%,rgba(255,118,40,.09) 0 72px,transparent 73px),
    radial-gradient(circle at 96% 76%,rgba(185,223,63,.12) 0 108px,transparent 109px),
    radial-gradient(circle at 83% 8%,rgba(8,127,140,.07) 0 54px,transparent 55px);
}
body::after {
  content:"";
  position:fixed;
  z-index:-1;
  inset:0 0 -30vh;
  pointer-events:none;
  opacity:.58;
  background-image:
    radial-gradient(circle at 16% 86%,rgba(255,255,255,.9) 0 5px,rgba(255,210,63,.42) 6px 7px,transparent 8px),
    radial-gradient(circle at 78% 42%,rgba(255,255,255,.9) 0 4px,rgba(35,131,66,.32) 5px 6px,transparent 7px),
    radial-gradient(circle at 48% 68%,rgba(255,255,255,.9) 0 7px,rgba(8,127,140,.22) 8px 9px,transparent 10px),
    radial-gradient(circle at 91% 92%,rgba(255,255,255,.9) 0 3px,rgba(255,118,40,.34) 4px 5px,transparent 6px);
  background-size:210px 300px,280px 360px,360px 460px,300px 410px;
  animation:fruit-bubbles 20s linear infinite;
}
@keyframes fruit-bubbles { to { transform:translateY(-28vh); } }
@media(prefers-reduced-motion:reduce) { body::after { animation:none; } }

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:var(--blue); }
.back { color:#277238; text-decoration-thickness:2px; text-underline-offset:5px; }
.container { width:min(100% - 32px,980px); padding:30px 0 72px; }
.site-header { display:none!important; }

.hub { min-height:calc(100vh - 70px); background:none; }
.hub-hero {
  position:relative;
  min-height:260px;
  margin:0 0 20px;
  padding:34px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(210px,.8fr);
  align-items:center;
  gap:24px;
  overflow:hidden;
  color:var(--ink);
  border:1px solid #efc737;
  border-radius:26px;
  background:#ffd84f;
  box-shadow:var(--shadow);
}
.hub-hero::before { content:""; position:absolute; width:240px; height:240px; right:-62px; top:-88px; border-radius:50%; background:#8fc640; }
.hub-hero::after { content:""; position:absolute; width:170px; height:170px; left:42%; bottom:-125px; border-radius:50%; background:#ff7b2c; }
.hub-hero-copy { position:relative; z-index:2; }
.hub-hero-copy small { color:#315825; font-size:14px; font-weight:800; letter-spacing:.08em; }
.hub-hero-copy h1 { margin:10px 0 7px; font-family:"Rubik","Microsoft YaHei",sans-serif; font-size:46px; line-height:1.08; letter-spacing:-.03em; }
.hub-hero-copy p { margin:0; color:#45583b; font-size:17px; line-height:1.7; }
.four-fruit-cup {
  position:relative;
  z-index:2;
  width:210px;
  height:126px;
  justify-self:center;
  border:4px solid #087f8c;
  border-radius:50% 50% 28% 28% / 34% 34% 66% 66%;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 -26px rgba(8,127,140,.12),0 12px 0 rgba(37,53,31,.08);
  transform:rotate(-3deg);
}
.four-fruit-cup::before { content:""; position:absolute; inset:15px 10px auto; height:35px; border-radius:50%; background:#dff6f4; border:2px solid rgba(8,127,140,.32); }
.four-fruit-cup::after { content:""; position:absolute; left:26px; right:26px; bottom:-16px; height:12px; border-radius:50%; background:rgba(37,53,31,.14); filter:blur(2px); }
.four-fruit-cup i,.four-fruit-cup b { position:absolute; z-index:2; display:block; border:2px solid rgba(37,53,31,.16); }
.four-fruit-cup i:nth-child(1) { width:42px; height:42px; left:25px; top:23px; border-radius:12px; background:#ff6b4a; transform:rotate(12deg); }
.four-fruit-cup i:nth-child(2) { width:37px; height:37px; left:71px; top:13px; border-radius:50%; background:#a8d846; }
.four-fruit-cup i:nth-child(3) { width:47px; height:39px; right:45px; top:22px; border-radius:11px; background:#ff9a32; transform:rotate(-8deg); }
.four-fruit-cup i:nth-child(4) { width:31px; height:31px; right:23px; top:52px; border-radius:50%; background:#fff2a6; }
.four-fruit-cup b { width:24px; height:24px; left:88px; top:55px; border-radius:50%; background:#fff; }

.hub-grid,.hub-grid-two { gap:16px; margin-top:0; }
.hub-card,.hub-card.procurement,.hub-card.menu,.hub-card.orders {
  min-height:210px;
  color:var(--ink);
  border:1px solid var(--line);
  border-top:8px solid var(--gold);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
  backdrop-filter:none;
}
.hub-card.procurement { border-top-color:var(--coral); background:#fffaf5; }
.hub-card small,.hub-card p { color:var(--muted); }
.hub-card span { color:#28763a; }
.hub-card.procurement span { color:#c64d0b; }
.hub-card:hover { border-color:#d9ccad; box-shadow:0 16px 34px rgba(93,83,43,.14); transform:translateY(-2px); }

.login-shell { min-height:100vh; background:transparent; }
.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-color:var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  backdrop-filter:none;
}
.login-card { border-top:8px solid var(--gold); }
.login-mark,.dish-card small,.menu-card small,.admin-product-header small,.admin-product-card.hardware .admin-product-header small { color:#28763a; }
.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 #d9d2bd;
  border-radius:12px;
  background:#fffef9;
}
input::placeholder,textarea::placeholder { color:#8b9184; }
.login-card input:focus,.edit-form input:focus,.edit-form textarea:focus,.edit-form select:focus { border-color:var(--green); box-shadow:0 0 0 4px rgba(35,131,66,.12); }

.share-button,.primary,.login-button,.order-add,.confirm-order,.category-add,.secondary-action {
  color:#fff;
  border:0;
  border-radius:12px;
  background:var(--green);
  box-shadow:none;
  transition:transform .18s ease,filter .18s ease;
}
.share-button:hover,.primary:hover,.login-button:hover,.order-add:hover,.confirm-order:hover { filter:brightness(.94); }
.share-button:active,.primary:active,.login-button:active,.order-add:active,.confirm-order:active { transform:translateY(1px); }
.primary.procurement-primary,.procurement-button,.procurement-primary { color:#342413; background:var(--coral); }
.secondary-action { color:#175d2f; border:2px solid #8bbb72; background:#eef8df; }
.intro-actions { display:flex; align-items:center; gap:10px; }
.settings-gear { width:46px; height:46px; color:#fff; border:0; border-radius:13px; background:var(--blue); box-shadow:none; }

.autocomplete-input-wrap,.search {
  color:var(--ink);
  border:2px solid var(--green);
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(74,94,48,.08);
}
.procurement-autocomplete .autocomplete-input-wrap { border-color:var(--coral); }
.autocomplete-input-wrap:focus-within,.procurement-autocomplete .autocomplete-input-wrap:focus-within,.hardware .category-autocomplete .autocomplete-input-wrap:focus-within { border-color:var(--blue); box-shadow:0 0 0 4px rgba(8,127,140,.12); }
.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:#175d2f; border-left-color:var(--line); background:#f1f8dd; }
.procurement-autocomplete .autocomplete-input-wrap button { color:#a63e08; background:#fff0e4; }
.autocomplete-results,.procurement-autocomplete .autocomplete-results,.hardware .category-autocomplete .autocomplete-results { border-color:#ddd3b9; background:#fff; box-shadow:0 16px 34px rgba(65,65,34,.16); }
.autocomplete-results a { color:var(--ink); border-bottom-color:var(--line); }
.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:#fff5c8; }
.autocomplete-results span { color:var(--muted); }

.filters { scrollbar-width:none; }
.filters button { min-height:44px; color:#314128; border:2px solid #d8d1bc; background:#fff; font-weight:700; }
.filters button.active { color:#fff; border-color:var(--green); background:var(--green); box-shadow:none; }
.dish-card { min-height:180px; border-top:6px solid var(--lime); }
.dish-card:nth-child(3n+2) { border-top-color:var(--gold); }
.dish-card:nth-child(3n+3) { border-top-color:var(--coral); }
.dish-card:hover,.product-node-card:hover { border-color:#d3c59f; }
.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:#28763a; }
.admin-card-actions { border-top-color:var(--line); }
.admin-card-actions a,.admin-card-actions button { color:#1f6e37; background:#edf7dc; }
.admin-card-actions button,.inline button,.delete-button { color:var(--danger); background:#fff0eb; }

.tutorial-title { border-top:8px solid var(--gold); }
.tutorial-title p { color:var(--muted); }
.tutorial-section li { color:var(--ink); }
.tools { border-left:7px solid var(--green); background:#f4fae9; }
.note { border-left:7px solid var(--gold); background:#fff7d1; }
.recipe-image,.form-image-preview { border:1px solid var(--line); background:#f6f1e2; box-shadow:none; }

.procurement-folder-card,.procurement-folder-card.hardware {
  color:var(--ink);
  border:1px solid var(--line);
  border-top:8px solid var(--coral);
  background:#fff6ed;
  box-shadow:var(--shadow);
}
.procurement-folder-card.hardware { border-top-color:var(--green); background:#f0f8df; }
.procurement-folder-card span { color:#b94609; }
.procurement-folder-card.hardware span { color:#28763a; }
.procurement-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.procurement-mode-card { min-height:210px; padding:26px; display:flex; flex-direction:column; color:var(--ink); border-radius:20px; text-decoration:none; box-shadow:var(--shadow); transition:transform .18s ease; }
.procurement-mode-card:hover { transform:translateY(-2px); }
.procurement-mode-card.local { border:1px solid #e5bd32; background:var(--sun); }
.procurement-mode-card.online { color:#fff; border:1px solid #28763a; background:var(--green); }
.procurement-mode-card small { color:inherit; opacity:.72; font-weight:800; }
.procurement-mode-card h2 { margin:18px 0 8px; color:inherit; font-size:29px; }
.procurement-mode-card p { margin:0; color:inherit; opacity:.78; }
.procurement-mode-card span { margin-top:auto; padding-top:24px; color:inherit; font-weight:800; }
.procurement-category-section>header,.procurement-category-section.hardware>header { color:var(--ink); border-left-color:var(--coral); background:#fff0e4; }
.procurement-category-section.hardware>header { border-left-color:var(--green); background:#edf7dc; }
.group-badge { color:#8d370c; background:#fff0e4; }
.product-node-card,.admin-product-card { border-left-color:var(--coral); }
.admin-product-card.online { border-left-color:var(--green); }
.admin-product-card.local { border-left-color:var(--gold); }
.admin-product-card.expanded.hardware { border-left-color:var(--green); }
.admin-inline-items,.admin-product-card.hardware .admin-inline-items { border-top-color:var(--line); background:#fffdf7; }
.admin-inline-item,.admin-product-footer-actions { border-color:var(--line); }
.admin-inline-item dl div { border-bottom-color:#eee5d1; }
.admin-inline-item dt { color:var(--muted); }
.admin-inline-item dd { color:var(--ink); }
.procurement-card { border-top-color:var(--coral); }

.menu-image-placeholder { color:#315825; background:#fff0a8; }
.menu-price,.order-card header>strong { color:#bd4a0d; }
.cart-panel { color:var(--ink); border-color:#ddd3b9; background:#fff; box-shadow:0 20px 50px rgba(72,63,31,.2); }
.cart-toggle { color:#fff; background:var(--green); }
.cart-row { border-bottom-color:var(--line); }
.quantity-controls button { color:#1f6e37; border-color:#bdd0a4; background:#f1f8e2; }
.success-mark { color:#fff; background:var(--green); }

.settings-section { background:#fffdf7; }
.settings-remove-category,.settings-remove-field { color:var(--danger); border-color:#f2b5a8; background:#fff0eb; }
.settings-add-category,.settings-add-field { color:#1f6e37; border-color:#9fc681; background:#f0f8df; }
.settings-background-preview { border-color:var(--line); }
.settings-remove-background { color:var(--ink); }

table { color:var(--ink); background:transparent; }
th { color:#fff; background:var(--green); }
th,td { border-bottom-color:var(--line); }
.table-wrap tr { background:#fff; }
.order-card.completed { border-left-color:var(--green); }
.admin-mode-bar { color:#1f6e37; border-color:#cbdcb2; background:#f1f8df; }
footer { color:#73806e; border-top-color:#e8dfc8; background:rgba(255,250,235,.82); }

button,a { cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }

@media(max-width:820px) {
  body { font-size:16px; background-attachment:scroll; }
  .container { width:min(100% - 22px,680px); padding:16px 0 76px; }
  .container>.intro,.container>.admin-head,.recipes-page>.admin-page-intro,.menu-page>.admin-page-intro {
    border:1px solid var(--line);
    background:#fffdf7;
    box-shadow:0 10px 25px rgba(93,83,43,.08);
  }
  .hub { padding-top:11px; }
  .hub-hero { min-height:240px; margin-bottom:12px; padding:24px; grid-template-columns:minmax(0,1fr) 150px; border-radius:20px; }
  .hub-hero-copy h1 { font-size:36px; }
  .hub-hero-copy p { font-size:15px; }
  .four-fruit-cup { width:150px; height:96px; transform:scale(.9) rotate(-3deg); }
  .four-fruit-cup i:nth-child(3) { right:24px; }
  .four-fruit-cup i:nth-child(4) { right:12px; }
  .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; gap:12px; }
  .hub-card { min-height:0; padding:21px; border-radius:17px; }
  .settings-form { padding:0; border:0; background:transparent; box-shadow:none; }
  .settings-form>h1 { color:var(--ink); border:1px solid var(--line); background:#fff7d1; box-shadow:none; }
  .settings-section { border-radius:16px; }
  .table-wrap tr { border-color:var(--line); border-left-color:var(--green); background:#fff; }
  .table-wrap td { border-bottom-color:var(--line); }
  .table-wrap td::before { color:var(--muted); }
  .admin-shortcuts a { border-color:var(--line); background:#fff; }
}

@media(max-width:560px) {
  .hub-hero { min-height:300px; padding:22px; grid-template-columns:1fr; align-content:center; }
  .hub-hero-copy { padding-right:42px; }
  .hub-hero-copy h1 { font-size:38px; }
  .four-fruit-cup { width:180px; height:110px; justify-self:end; margin-top:-8px; }
  .procurement-mode-card { min-height:160px; padding:22px; }
  .procurement-mode-card h2 { font-size:26px; }
}

@media(max-width:380px) {
  .container { width:calc(100% - 16px); }
  .hub-hero { padding:19px; }
  .hub-hero-copy h1 { font-size:33px; }
  .four-fruit-cup { width:160px; }
}

/* Temporary unified procurement view: preserve stored classifications, hide them from navigation. */
.procurement-folder-card.unified {
  grid-column:1 / -1;
  min-height:158px;
  border:2px solid var(--black);
  border-top-width:2px;
  background:#fff4c8;
  box-shadow:6px 7px 0 rgba(24,26,20,.16);
}
.procurement-folder-card.unified::before { content:none; }
.procurement-folder-card.unified h2 { margin-top:0; }
.procurement-all-page .admin-product-card { border-top:1px solid #cdd6bd; }
