/* SenYu VI: ink green / rice paper / coffee brown / stone / ink black. */
:root {
  --senyu-green:#1f3a32;--senyu-rice:#f1e8d7;--senyu-coffee:#6b4936;--senyu-stone:#a9a396;--senyu-ink:#171715;
  --brand:var(--senyu-green);--green:var(--senyu-green);--blue:var(--senyu-green);
  --accent:var(--senyu-coffee);--gold:var(--senyu-coffee);
  --brand-soft:#e8ede7;--green-soft:#e8ede7;--blue-soft:#e8ede7;
  --bg:#f7f4ed;--canvas:#f7f4ed;--panel:#fffdf8;--paper:#fffdf8;--surface-soft:#f1e8d7;
  --ink:var(--senyu-ink);--muted:#756f65;--line:#e3dccf;--shadow:0 5px 20px #1f3a3209;
  --danger:#a34538;--red:#a34538;--warn:#966b31;--ok:#365e49;
  color:var(--ink);background:var(--canvas);
}
body {color:var(--ink);background:var(--canvas)}
button,input,select,textarea {font-family:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible {outline:3px solid #a9a396;outline-offset:3px}
input:focus,select:focus,textarea:focus {outline-color:var(--brand);border-color:var(--brand)}
.login-screen,.login-shell {background:linear-gradient(140deg,#f1e8d7,#f7f4ed 58%,#e8ede7)}
.login-box,.login-panel,.phone-pay {border-radius:22px;background:var(--panel);box-shadow:var(--shadow)}
.pos-topbar,.kiosk-header {background:var(--brand)}
.kiosk-categories,.categories {background:#efede4}
.kiosk-categories button.active {box-shadow:none}
.kiosk-product,.product-card {border-color:var(--line);border-radius:16px;background:var(--paper)}
.kiosk-product .product-photo,.product-photo {background:#f1e8d7}
.phone-pay #phonePayButton,.phone-paid b,body.alipay #phonePayButton,body.alipay .phone-paid b {background:var(--brand)}
#payPanel > strong {color:var(--senyu-coffee)}
/* Back-office: quiet surfaces, one primary task per page. */
.app-shell {grid-template-columns:204px minmax(0,1fr)}
.sidebar {padding:22px 14px;background:var(--panel);overflow-y:auto;gap:20px}
.brand-row img {border-radius:10px}
#nav {display:flex;flex-direction:column;gap:14px}
.nav-group {display:grid;gap:3px}
.nav-group-title {padding:0 12px 5px;font-size:11px;letter-spacing:1px;color:var(--muted)}
#nav button {min-height:38px;padding:8px 12px;font-size:14px;border-radius:9px;text-align:left}
#nav button.active {background:var(--brand);color:var(--senyu-rice)}
.main {padding:28px 32px;max-width:1680px;width:100%;margin:0 auto;align-self:start}
.topbar {margin-bottom:24px;align-items:center}
.topbar-actions {display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.notification-bell {position:relative}.notification-bell.has-alerts {border-color:#d7b67a;background:#f5ead7;color:#7d5527}
.notification-bell span {position:absolute;top:-7px;right:-7px;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:var(--danger);color:white;font-size:11px;font-weight:700;box-sizing:border-box}
.topbar h2 {font-size:27px;font-weight:650;letter-spacing:.5px}
#pageSubtitle {display:none}
.panel {padding:22px;border-radius:18px;border-color:var(--line);box-shadow:none;background:var(--panel)}
.panel h3 {font-size:17px;font-weight:650}
.panel > .section-head > div > small,.product-list-panel .section-head small,.users-toolbar p {display:none}
.section-head {gap:16px;flex-wrap:wrap;margin-bottom:18px}
button,.button-link {border-radius:10px}
button.secondary,.button-link.secondary {background:#e8ede7;color:var(--brand);border:1px solid #d9e0d7}
button.ghost {color:var(--brand)}
input,select,textarea {border-radius:9px;background:#fffefb;min-height:40px}
.stack {gap:16px}
.stack label {gap:7px;line-height:1.5}
table {font-size:13px}
th {background:#f3efe6;color:#756f65;font-weight:600}
td {padding-top:14px;padding-bottom:14px}
.table-wrap {max-width:100%;overflow:auto}
.cards {grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.metric strong {font-size:27px}
.visual-summary {gap:8px;margin-bottom:18px}
.ui-page-actions {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.ui-page-actions:empty {display:none}
.ui-date-filter {display:flex;align-items:center;gap:12px;max-width:280px;margin-bottom:18px;color:var(--muted);font-size:13px}
.ui-page-actions h3 {margin:0;font-size:20px;outline:0}
.ui-entry-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;gap:18px}
.ui-entry-card {display:flex;align-items:center;justify-content:space-between;min-height:108px;padding:24px;background:var(--panel);color:var(--brand);border:1px solid var(--line);font-size:19px;text-align:left;border-radius:18px}
.ui-entry-card:hover {background:var(--senyu-rice)}
.ui-subview {max-width:960px;margin:0 auto}
.ui-subview > .panel + .panel {margin-top:20px}
#productsPage > .layout,#materialsPage > .layout,#purchasesPage > .layout,#stockPage > .layout,#recipesPage > .layout {display:block}
.finance-status {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:17px 20px;border-radius:14px;background:#e8ede7;color:var(--brand)}
.finance-status > div {display:grid;gap:3px}.finance-status span {font-size:13px}.finance-status > span {font-weight:700}
.finance-status.has-blocker {background:#f5ead7;color:#7d5527}.finance-status.is-locked {background:var(--brand);color:var(--senyu-rice)}
.finance-summary {margin-bottom:18px}.finance-layout {align-items:start}.finance-method-list {display:grid;gap:0}
.finance-method-list > div {display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}
.finance-method-list > div:last-child {border-bottom:0}.finance-method-list small {color:var(--muted)}.finance-method-list strong {font-size:18px;color:var(--brand)}
.finance-actual-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px}.finance-actual-grid label {display:grid;gap:7px}.finance-actual-grid small {color:var(--muted)}
.finance-reopen {margin-top:18px;grid-template-columns:minmax(0,1fr) minmax(240px,420px) auto;align-items:end}.finance-reopen h3 {margin:0 0 4px}.finance-reopen button {min-height:40px}
.finance-reopen-note {margin-top:18px;display:flex;justify-content:space-between;gap:16px}.finance-reopen-note span {color:var(--muted)}
.reconciliation-section {margin-top:28px}.reconciliation-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px}
.reconciliation-provider {padding:0;overflow:hidden}.reconciliation-provider > summary {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;list-style:none}
.reconciliation-provider > summary::-webkit-details-marker {display:none}.reconciliation-provider > summary > span:first-child {display:grid;gap:4px}.reconciliation-provider > summary small {color:var(--muted)}
.reconciliation-actions {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;border-top:1px solid var(--line);background:#faf7f0}.reconciliation-actions span {font-size:13px;color:var(--muted)}
.reconciliation-hint {margin:0;padding:0 22px 16px;color:var(--muted);font-size:13px}.reconciliation-issues {display:grid;padding:4px 22px 18px}
.reconciliation-row {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.reconciliation-row:last-child {border-bottom:0}.reconciliation-row > div {display:grid;gap:3px}.reconciliation-row span {font-size:12px;color:var(--muted)}.reconciliation-row.is-resolved {opacity:.72}
.reconciliation-matched {margin:0 22px 20px}.reconciliation-matched > summary {cursor:pointer;color:var(--brand);font-size:13px;padding:10px 0}.error-text {color:var(--danger)!important}.muted {color:var(--muted)}
.inventory-coverage {margin-bottom:18px}.coverage-missing {display:grid;gap:12px}.coverage-missing > div {display:flex;gap:8px;flex-wrap:wrap}.coverage-complete {color:var(--ok);font-weight:600}
.ops-summary {margin-bottom:18px}.ops-summary .metric small {display:block;margin-top:7px;color:var(--muted);font-size:12px}.notification-layout {grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start}
.notification-list {display:grid;gap:10px}.notification-card {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:13px;background:#fffefb}.notification-card.severity-critical {border-left-color:var(--danger)}.notification-card.is-resolved {opacity:.68;border-left-color:var(--ok)}
.notification-main {min-width:0}.notification-title {display:flex;align-items:center;gap:9px}.notification-main p {margin:7px 0;color:var(--ink);line-height:1.5}.notification-main small {color:var(--muted)}.notification-card > button,.notification-card > .tag {flex:none}
.ops-check-list {display:grid;gap:4px}.ops-check {display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.ops-check:last-child {border-bottom:0}.ops-check > span {display:flex;align-items:center;justify-content:center;flex:none;width:25px;height:25px;border-radius:50%;background:#e8ede7;color:var(--ok);font-weight:800}.ops-check.warn > span {background:#f5ead7;color:var(--warn)}.ops-check > div {display:grid;gap:3px}.ops-check small {color:var(--muted)}.notification-history {margin-top:18px}.notification-history > summary {cursor:pointer;color:var(--brand);font-weight:650}.notification-history .notification-list {margin-top:16px}
#storeSettingsForm {display:block;max-width:960px;margin:auto}
.ui-save-bar {position:sticky;bottom:12px;display:flex;align-items:center;gap:18px;background:var(--panel);padding:16px;margin-top:20px;border:1px solid var(--line);border-radius:14px;z-index:4}
.ui-save-bar span {color:var(--muted);font-size:12px}
.product-admin-card:not(.ui-editing) .product-admin-fields,.product-admin-card:not(.ui-editing) .product-admin-actions {display:none}
.product-admin-card {grid-template-columns:76px minmax(0,1fr);padding:16px;border-radius:14px;align-items:center;box-shadow:none}
.product-admin-card > img,.product-admin-card .product-admin-image {width:76px;height:76px;object-fit:contain}
.product-admin-card > .admin-product-photo {width:76px;height:76px;object-fit:contain;border-radius:12px;font-size:29px}
.ui-product-detail .product-admin-card > .admin-product-photo {width:100px;height:100px}
.product-admin-title {display:flex;align-items:center;gap:18px;margin:0}
.product-admin-card:not(.ui-editing) .product-admin-title {flex-wrap:wrap}
.product-admin-title > div:first-child {flex:1;min-width:0}
.product-admin-title strong {font-size:16px}
.product-admin-title b {color:var(--senyu-coffee);white-space:nowrap}
.ui-product-detail .product-list-panel > .section-head,.ui-product-detail #productVisualSummary {display:none}
.ui-product-detail .ui-product-edit {display:none}
.ui-product-detail .product-admin-card {grid-template-columns:110px minmax(0,1fr)}
.ui-product-detail .product-admin-fields {margin-top:22px}
.ui-product-detail .product-list-panel {max-width:960px;margin:auto}
.product-admin-actions {display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.product-admin-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
.product-admin-actions button {flex:none}
.member-rule {font-size:12px}
.member-dialog {border-color:var(--line);border-radius:20px;background:var(--paper)}
@media(max-width:1050px) {
 .app-shell {grid-template-columns:176px minmax(0,1fr)} .main {padding:22px 18px}
 .store-banner-fields,.store-upsell-row {grid-template-columns:1fr 1fr}
}
@media(max-width:760px) {
 .app-shell {display:block}.sidebar {position:static;height:auto;padding:12px}
 .sidebar .brand-row {margin-bottom:8px}.sidebar .user-card {display:flex;align-items:center;gap:10px;padding:8px 0;margin:0}
 #nav {flex-direction:row;overflow-x:auto;gap:18px;padding-bottom:6px}
 .nav-group {display:flex;flex:none;align-items:center;gap:4px}.nav-group-title {display:none}
 #nav button {white-space:nowrap}.main {padding:18px 12px}
 .topbar h2 {font-size:23px}.panel {padding:16px;border-radius:14px}
 .ui-entry-grid {grid-template-columns:1fr 1fr;gap:10px}.ui-entry-card {padding:16px;font-size:16px;min-height:90px}
 .product-admin-title {flex-wrap:wrap;gap:8px}.product-admin-title > div {flex-basis:100%}
 .product-admin-fields,.ui-product-detail .product-admin-card {grid-template-columns:1fr}
 .store-banner-row,.store-banner-fields,.store-upsell-row {grid-template-columns:1fr}
 .finance-method-list > div {grid-template-columns:70px 1fr}.finance-method-list strong {grid-column:2}.finance-actual-grid,.finance-reopen {grid-template-columns:1fr}
 .reconciliation-grid {grid-template-columns:1fr}.reconciliation-actions {align-items:flex-start;flex-direction:column}.reconciliation-row {grid-template-columns:1fr}.reconciliation-row > button,.reconciliation-row > .tag {justify-self:start}
 .notification-layout {grid-template-columns:1fr}.notification-card {align-items:flex-start;flex-direction:column}.notification-card > button {width:100%}.topbar-actions {justify-content:flex-start}
 .ui-save-bar {bottom:4px;padding:12px}.ui-save-bar span {display:none}
}
