:root {
  --ink: #2f241e;
  --ink-2: #59483e;
  --cream: #f7f1e8;
  --paper: #fffdf9;
  --sand: #e8ddcf;
  --sand-2: #d8c6b2;
  --gold: #b78343;
  --gold-dark: #8a5e2d;
  --green: #5f7b62;
  --green-soft: #e8f0e7;
  --red: #a84c45;
  --red-soft: #f7e5e2;
  --orange: #bd7139;
  --orange-soft: #faeadc;
  --blue: #537384;
  --blue-soft: #e3edf1;
  --purple: #796382;
  --purple-soft: #ece7ef;
  --line: rgba(47, 36, 30, 0.12);
  --shadow: 0 18px 55px rgba(47, 36, 30, 0.11);
  --shadow-soft: 0 8px 24px rgba(47, 36, 30, 0.08);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }

html { background: var(--cream); }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(183, 131, 67, 0.14), transparent 32%),
    var(--cream);
  color: var(--ink);
}

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(183, 131, 67, 0.28);
  outline-offset: 2px;
}

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { letter-spacing: -0.025em; }
p { line-height: 1.55; }
.hidden { display: none !important; }
.muted { color: rgba(47, 36, 30, 0.63); }
.eyebrow {
  margin: 0 0 6px;
  color: var(--gold-dark);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  background:
    linear-gradient(145deg, rgba(47, 36, 30, 0.96), rgba(71, 51, 40, 0.91)),
    radial-gradient(circle at 20% 10%, #8a5e2d, transparent 40%);
}

.login-shell {
  width: min(100%, 980px);
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 42px;
  align-items: center;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: 14px;
}
.brand-lockup h1 { margin: 0; font-size: 1.08rem; }
.brand-lockup--login { color: white; align-items: flex-start; }
.brand-lockup--login .eyebrow { color: #d9b982; }
.brand-lockup--login h1 { font-size: clamp(2.5rem, 7vw, 5.2rem); line-height: 0.96; margin-bottom: 18px; }
.brand-lockup--login p:last-child { max-width: 430px; font-size: 1.12rem; color: rgba(255,255,255,0.73); }

.brand-mark {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: white;
  background: var(--ink);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 800;
  letter-spacing: -0.08em;
}
.brand-lockup--login .brand-mark {
  width: 66px;
  height: 66px;
  border-radius: 21px;
  color: var(--ink);
  background: #f5e5cd;
}

.login-card {
  padding: 34px;
  border-radius: 30px;
  background: rgba(255,253,249,0.97);
  box-shadow: 0 32px 80px rgba(0,0,0,0.28);
}
.login-card h2 { font-size: 1.8rem; margin-bottom: 8px; }
.login-note { font-size: 0.8rem; text-align: center; color: rgba(47,36,30,0.56); margin: 14px 0 0; }

.field-label { display: block; font-size: 0.8rem; font-weight: 800; margin: 24px 0 8px; }
.input-control {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
  color: var(--ink);
  padding: 0 14px;
}
textarea.input-control { min-height: 100px; padding-top: 12px; resize: vertical; }
input[type="file"].input-control { padding: 12px; }

.button {
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  padding: 0 17px;
  font-weight: 800;
  transition: transform 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
}
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button--primary { background: var(--ink); color: white; box-shadow: 0 10px 22px rgba(47,36,30,0.18); }
.button--secondary { background: var(--sand); color: var(--ink); }
.button--success { background: var(--green); color: white; }
.button--danger { background: var(--red-soft); color: var(--red); }
.button--wide { width: 100%; margin-top: 22px; }
.button--small { min-height: 36px; border-radius: 11px; padding: 0 13px; font-size: 0.82rem; }
.text-button { border: 0; background: transparent; color: var(--gold-dark); font-weight: 800; padding: 0; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 270px;
  height: 100dvh;
  padding: 28px 22px 20px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(255,253,249,0.92);
  border-right: 1px solid var(--line);
  backdrop-filter: blur(18px);
  z-index: 20;
}
.desktop-nav {
  margin-top: 24px;
  display: grid;
  gap: 7px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 2px 6px 18px 0;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(94,71,57,0.28) transparent;
}
.desktop-nav::-webkit-scrollbar { width: 7px; }
.desktop-nav::-webkit-scrollbar-track { background: transparent; }
.desktop-nav::-webkit-scrollbar-thumb {
  background: rgba(94,71,57,0.24);
  border-radius: 999px;
}
.desktop-nav::-webkit-scrollbar-thumb:hover { background: rgba(94,71,57,0.42); }
.nav-item {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 14px;
  padding: 0 14px;
  background: transparent;
  color: rgba(47,36,30,0.68);
  font-weight: 750;
  text-align: left;
}
.nav-item span:first-child { width: 24px; text-align: center; }
.nav-item:hover { background: rgba(232,221,207,0.52); color: var(--ink); }
.nav-item.is-active { background: var(--ink); color: white; box-shadow: var(--shadow-soft); }
.sidebar-footer { flex: 0 0 auto; margin-top: 8px; padding-top: 14px; display: grid; gap: 14px; border-top: 1px solid var(--line); background: rgba(255,253,249,0.96); }
.store-chip { display: flex; gap: 10px; align-items: center; padding: 12px; border-radius: 14px; background: var(--cream); }
.store-chip > span { color: var(--green); font-size: 0.65rem; }
.store-chip strong, .store-chip small { display: block; }
.store-chip strong { font-size: 0.84rem; }
.store-chip small { color: rgba(47,36,30,0.56); margin-top: 2px; }

.main-content { grid-column: 2; min-width: 0; padding: 0 34px 70px; }
.topbar {
  min-height: 94px;
  position: sticky;
  top: 0;
  z-index: 15;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  background: linear-gradient(to bottom, rgba(247,241,232,0.98) 72%, rgba(247,241,232,0));
  backdrop-filter: blur(12px);
}
.topbar h2 { margin: 0; font-size: 1.55rem; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.icon-button {
  width: 44px;
  height: 44px;
  position: relative;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255,253,249,0.9);
  color: var(--ink);
  display: grid;
  place-items: center;
}
.notification-count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--red);
  color: white;
  font-size: 0.68rem;
  font-weight: 900;
  border: 2px solid var(--cream);
}
.profile-pill {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,253,249,0.9);
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 5px 11px 5px 6px;
  color: var(--ink);
}
.profile-pill > span:first-child {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: var(--ink);
  color: white;
  font-size: 0.76rem;
  font-weight: 900;
}
.profile-copy { display: grid; text-align: left; }
.profile-copy strong { font-size: 0.8rem; }
.profile-copy small { color: rgba(47,36,30,0.55); margin-top: 2px; }

.view-root { max-width: 1440px; margin: 0 auto; animation: fadeIn 220ms ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

.hero-card {
  border-radius: var(--radius-xl);
  padding: 30px;
  position: relative;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 85% 10%, rgba(224,181,118,0.37), transparent 30%),
    linear-gradient(135deg, #2f241e, #5a4133);
  box-shadow: var(--shadow);
}
.hero-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50%;
  right: -55px;
  bottom: -80px;
}
.hero-card h2 { max-width: 690px; margin-bottom: 8px; font-size: clamp(1.65rem, 3vw, 2.6rem); }
.hero-card p { max-width: 720px; color: rgba(255,255,255,0.72); margin-bottom: 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; align-items: center; }
.hero-actions .button {
  min-width: 210px;
  min-height: 46px;
  box-shadow: 0 8px 20px rgba(47,36,30,0.08);
}
.hero-actions .button--secondary {
  background: rgba(255,253,249,0.96);
  color: var(--ink);
  border: 1px solid rgba(94,71,57,0.16);
}
.hero-actions .button--secondary:hover {
  box-shadow: 0 12px 24px rgba(47,36,30,0.12);
}
.hero-card .hero-actions .button--secondary {
  background: rgba(255,255,255,0.12);
  color: white;
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: none;
}
.hero-card .hero-actions .button--secondary:hover {
  box-shadow: none;
}

.section-header { margin: 30px 0 14px; display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.section-header h3 { margin: 0; font-size: 1.15rem; }
.section-header p { margin: 4px 0 0; color: rgba(47,36,30,0.58); font-size: 0.86rem; }

.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.metric-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,253,249,0.94);
  padding: 19px;
  box-shadow: 0 6px 18px rgba(47,36,30,0.035);
}
.metric-card__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.metric-card__icon { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--cream); }
.metric-card__trend { font-size: 0.76rem; font-weight: 850; color: var(--green); }
.metric-card__trend.negative { color: var(--red); }
.metric-card strong { display: block; margin-top: 18px; font-size: 1.6rem; letter-spacing: -0.04em; }
.metric-card small { display: block; margin-top: 4px; color: rgba(47,36,30,0.56); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, 0.75fr); gap: 16px; }
.card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,253,249,0.94);
  padding: 21px;
  box-shadow: 0 6px 18px rgba(47,36,30,0.035);
}
.card h3 { margin-bottom: 5px; }
.card-subtitle { margin-bottom: 18px; color: rgba(47,36,30,0.58); font-size: 0.86rem; }

.progress-track { height: 10px; overflow: hidden; border-radius: 999px; background: var(--sand); }
.progress-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold), #d2a668); }
.progress-row { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; font-size: 0.82rem; }
.progress-row strong { font-size: 0.86rem; }

.bar-chart { height: 220px; display: flex; align-items: end; gap: 16px; padding: 14px 4px 0; border-bottom: 1px solid var(--line); }
.bar-column { flex: 1; min-width: 0; display: grid; grid-template-rows: 1fr auto; height: 100%; gap: 8px; }
.bar-wrap { display: flex; align-items: end; justify-content: center; height: 100%; position: relative; }
.bar { width: min(56px, 72%); min-height: 8px; border-radius: 10px 10px 3px 3px; background: linear-gradient(to top, var(--ink), #86654f); }
.bar-value { position: absolute; top: calc(100% - var(--height) - 26px); font-size: 0.72rem; font-weight: 850; white-space: nowrap; }
.bar-label { text-align: center; font-size: 0.76rem; color: rgba(47,36,30,0.56); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.health-score { display: grid; grid-template-columns: 122px 1fr; align-items: center; gap: 20px; }
.score-ring {
  width: 116px;
  height: 116px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--green) calc(var(--score) * 1%), var(--sand) 0);
  position: relative;
}
.score-ring::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: var(--paper); }
.score-ring span { position: relative; z-index: 1; font-size: 1.8rem; font-weight: 900; }
.health-list { display: grid; gap: 9px; }
.health-line { display: flex; justify-content: space-between; gap: 10px; font-size: 0.82rem; }
.health-line span:first-child { color: rgba(47,36,30,0.6); }

.alert-list, .task-list, .simple-list { display: grid; gap: 10px; }
.alert-item, .task-item, .simple-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border-radius: 15px;
  background: var(--cream);
  border: 1px solid rgba(47,36,30,0.07);
}
.alert-icon, .row-icon { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; background: white; }
.alert-copy, .row-copy { min-width: 0; flex: 1; }
.alert-copy strong, .row-copy strong { display: block; font-size: 0.86rem; }
.alert-copy small, .row-copy small { display: block; margin-top: 3px; color: rgba(47,36,30,0.57); line-height: 1.4; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.status-dot.red { background: var(--red); }
.status-dot.orange { background: var(--orange); }
.status-dot.green { background: var(--green); }
.status-dot.blue { background: var(--blue); }

.quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.quick-card {
  min-height: 112px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,253,249,0.94);
  padding: 17px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  color: var(--ink);
  text-align: left;
}
.quick-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.quick-card span { font-size: 1.3rem; }
.quick-card strong { font-size: 0.86rem; }

.toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.filter-group { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-chip {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: rgba(47,36,30,0.65);
  padding: 0 14px;
  font-size: 0.8rem;
  font-weight: 800;
}
.filter-chip.is-active { background: var(--ink); color: white; }
.search-input { min-width: 240px; height: 42px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); padding: 0 13px; }

.table-card { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); overflow: hidden; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; font-size: 0.82rem; vertical-align: middle; }
.data-table th { background: #f2eade; color: rgba(47,36,30,0.65); font-size: 0.74rem; letter-spacing: 0.05em; text-transform: uppercase; }
.data-table tr:last-child td { border-bottom: 0; }
.table-primary { font-weight: 800; }
.table-secondary { display: block; color: rgba(47,36,30,0.52); font-size: 0.75rem; margin-top: 3px; }

.badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; font-size: 0.72rem; font-weight: 850; white-space: nowrap; }
.badge--green { background: var(--green-soft); color: var(--green); }
.badge--red { background: var(--red-soft); color: var(--red); }
.badge--orange { background: var(--orange-soft); color: var(--orange); }
.badge--blue { background: var(--blue-soft); color: var(--blue); }
.badge--purple { background: var(--purple-soft); color: var(--purple); }
.badge--neutral { background: var(--cream); color: var(--ink-2); }

.mobile-cards { display: none; gap: 10px; }
.mobile-record { border: 1px solid var(--line); border-radius: 18px; background: var(--paper); padding: 16px; }
.mobile-record__head { display: flex; justify-content: space-between; gap: 12px; }
.mobile-record__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.meta-box { padding: 10px; border-radius: 12px; background: var(--cream); }
.meta-box small { display: block; color: rgba(47,36,30,0.53); font-size: 0.7rem; }
.meta-box strong { display: block; margin-top: 3px; font-size: 0.82rem; }

.task-item { align-items: flex-start; }
.task-check {
  width: 25px;
  height: 25px;
  flex: 0 0 auto;
  border: 2px solid var(--sand-2);
  border-radius: 8px;
  background: white;
  display: grid;
  place-items: center;
  color: transparent;
}
.task-check.is-complete { background: var(--green); border-color: var(--green); color: white; }
.task-item.is-complete .row-copy strong { text-decoration: line-through; color: rgba(47,36,30,0.48); }
.task-actions { display: flex; gap: 8px; align-items: center; }

.kpi-split { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.kpi-box { padding: 15px; border-radius: 15px; background: var(--cream); }
.kpi-box small { display: block; color: rgba(47,36,30,0.54); }
.kpi-box strong { display: block; margin-top: 7px; font-size: 1.1rem; }

.campaign-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.campaign-card { border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--paper); }
.campaign-cover { min-height: 118px; padding: 18px; display: flex; justify-content: space-between; align-items: flex-start; color: white; background: linear-gradient(135deg, #586b4e, #93a56a); }
.campaign-cover.alt { background: linear-gradient(135deg, #8a5e2d, #c29157); }
.campaign-cover.purple { background: linear-gradient(135deg, #57485f, #8e7695); }
.campaign-body { padding: 17px; }
.campaign-body h3 { margin-bottom: 5px; font-size: 1rem; }
.campaign-body p { color: rgba(47,36,30,0.58); font-size: 0.8rem; min-height: 38px; }

.avatar-stack { display: flex; }
.avatar-stack span { width: 30px; height: 30px; margin-left: -7px; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--paper); background: var(--ink); color: white; font-size: 0.68rem; font-weight: 900; }
.avatar-stack span:first-child { margin-left: 0; }

.quick-action-button {
  position: fixed;
  right: 28px;
  bottom: 28px;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 20px;
  background: var(--gold);
  color: white;
  font-size: 2rem;
  line-height: 1;
  box-shadow: 0 18px 36px rgba(138,94,45,0.3);
  z-index: 24;
}
.mobile-nav { display: none; }

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(30,23,20,0.52);
  backdrop-filter: blur(8px);
}
.modal {
  width: min(100%, 620px);
  max-height: min(90vh, 780px);
  overflow: auto;
  border-radius: 26px;
  background: var(--paper);
  box-shadow: 0 32px 90px rgba(0,0,0,0.28);
  padding: 24px;
}
.modal-handle { display: none; width: 48px; height: 5px; border-radius: 999px; background: var(--sand-2); margin: 0 auto 13px; }
.modal-header { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.modal-header h2 { margin: 0; }
.modal-content { margin-top: 22px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-group { display: grid; gap: 7px; }
.form-group--full { grid-column: 1 / -1; }
.form-group label { font-size: 0.76rem; font-weight: 850; }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; }
.action-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.action-menu button { min-height: 88px; border: 1px solid var(--line); border-radius: 18px; background: var(--cream); color: var(--ink); padding: 15px; text-align: left; }
.action-menu button span { display: block; font-size: 1.4rem; margin-bottom: 10px; }
.action-menu button strong { display: block; }
.action-menu button small { display: block; margin-top: 4px; color: rgba(47,36,30,0.54); }

.toast-region { position: fixed; top: 18px; right: 18px; z-index: 200; display: grid; gap: 9px; }
.toast { min-width: 260px; max-width: 360px; border-radius: 15px; background: var(--ink); color: white; padding: 13px 15px; box-shadow: var(--shadow); animation: toastIn 220ms ease; font-size: 0.84rem; }
@keyframes toastIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

.empty-state { padding: 42px 20px; text-align: center; }
.empty-icon { width: 54px; height: 54px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 18px; background: var(--green-soft); color: var(--green); font-size: 1.3rem; font-weight: 900; }
.empty-state h3 { margin-bottom: 5px; }
.empty-state p { color: rgba(47,36,30,0.56); margin: 0; }

@media (max-width: 1100px) {
  .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campaign-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  body { background: var(--cream); }
  .login-screen { padding: 18px; }
  .login-shell { grid-template-columns: 1fr; gap: 24px; }
  .brand-lockup--login h1 { font-size: 2.7rem; }
  .brand-lockup--login p:last-child { font-size: 0.96rem; }
  .login-card { padding: 24px; border-radius: 24px; }

  .app-shell { display: block; }
  .sidebar { display: none; }
  .main-content { padding: 0 14px calc(108px + var(--safe-bottom)); }
  .topbar { min-height: 82px; padding-top: env(safe-area-inset-top, 0px); }
  .topbar h2 { font-size: 1.3rem; }
  .profile-copy { display: none; }
  .profile-pill { padding: 5px; border: 0; background: transparent; }
  .profile-pill > span:first-child { width: 40px; height: 40px; border-radius: 13px; }
  .topbar-actions { gap: 5px; }
  .icon-button { width: 40px; height: 40px; border-radius: 12px; }

  .hero-card { border-radius: 23px; padding: 23px 20px; }
  .hero-card h2 { font-size: 1.55rem; }
  .metrics-grid { gap: 10px; }
  .metric-card { padding: 15px; border-radius: 18px; }
  .metric-card strong { font-size: 1.32rem; margin-top: 13px; }
  .metric-card__icon { width: 34px; height: 34px; }
  .metric-card__trend { font-size: 0.68rem; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .quick-grid { gap: 9px; }
  .quick-card { min-height: 100px; border-radius: 18px; }
  .card { border-radius: 20px; padding: 17px; }
  .section-header { margin-top: 23px; }
  .health-score { grid-template-columns: 102px 1fr; gap: 14px; }
  .score-ring { width: 96px; height: 96px; }
  .score-ring span { font-size: 1.5rem; }
  .campaign-grid { grid-template-columns: 1fr; }
  .kpi-split { grid-template-columns: 1fr 1fr; }
  .kpi-split > :last-child { grid-column: 1 / -1; }

  .table-card { display: none; }
  .mobile-cards { display: grid; }
  .toolbar { align-items: stretch; }
  .search-input { min-width: 0; width: 100%; }
  .data-table { min-width: 760px; }

  .quick-action-button {
    right: 50%;
    transform: translateX(50%);
    bottom: calc(25px + var(--safe-bottom));
    width: 54px;
    height: 54px;
    border-radius: 18px;
    z-index: 35;
  }
  .mobile-nav {
    position: fixed;
    inset: auto 0 0;
    z-index: 30;
    min-height: calc(78px + var(--safe-bottom));
    padding: 9px 8px calc(8px + var(--safe-bottom));
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2px;
    border-top: 1px solid var(--line);
    background: rgba(255,253,249,0.95);
    backdrop-filter: blur(18px);
  }
  .mobile-nav .nav-item {
    min-height: 52px;
    padding: 4px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 4px;
    border-radius: 12px;
    font-size: 0.65rem;
    background: transparent;
  }
  .mobile-nav .nav-item span:first-child { width: auto; font-size: 1.05rem; }
  .mobile-nav .nav-item.is-active { color: var(--gold-dark); background: transparent; box-shadow: none; }
  .modal-backdrop { place-items: end center; padding: 0; }
  .modal { width: 100%; max-height: 88vh; border-radius: 25px 25px 0 0; padding: 17px 17px calc(22px + var(--safe-bottom)); }
  .modal-handle { display: block; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group--full { grid-column: auto; }
  .action-menu { grid-template-columns: 1fr 1fr; }
  .toast-region { top: calc(10px + env(safe-area-inset-top, 0px)); left: 12px; right: 12px; }
  .toast { min-width: 0; max-width: none; }
}

@media (max-width: 440px) {
  .metrics-grid { grid-template-columns: 1fr 1fr; }
  .metric-card small { font-size: 0.72rem; }
  .quick-grid { grid-template-columns: 1fr 1fr; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-actions .button { padding: 0 11px; font-size: 0.78rem; }
  .action-menu { grid-template-columns: 1fr; }
}

.quick-card small { display: block; margin-top: 4px; line-height: 1.35; }
.toast-region, .toast { pointer-events: none; }


/* v0.2 — OCR, recetario por tamaño y deberes medibles */
.permission-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(83,115,132,.2);
  border-radius: 15px;
  background: var(--blue-soft);
}
.permission-note strong, .permission-note span { display:block; }
.permission-note span { margin-left:auto; max-width:70%; color:var(--ink-2); font-size:.86rem; line-height:1.45; }
.task-state-icon { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; font-weight:900; }
.task-state-icon.green { background:var(--green-soft); color:var(--green); }
.task-state-icon.blue { background:var(--blue-soft); color:var(--blue); }
.task-state-icon.orange { background:var(--orange-soft); color:var(--orange); }
.task-measure { margin-top:5px !important; color:var(--gold-dark) !important; }
.task-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.task-waiting { font-size:.78rem; font-weight:800; color:var(--blue); }
.task-brief { display:grid; gap:8px; padding:16px; margin-bottom:18px; border-radius:16px; background:var(--cream); }
.task-brief span { color:var(--ink-2); line-height:1.45; }
.target-pill { justify-self:start; padding:7px 10px; border-radius:999px; background:var(--ink); color:white; font-size:.78rem; font-weight:800; }
.receipt-scanner { padding:18px; border:1px dashed var(--sand-2); border-radius:20px; background:linear-gradient(145deg,var(--paper),var(--cream)); }
.scanner-copy { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.scanner-copy strong,.scanner-copy small { display:block; }
.scanner-copy small { color:var(--ink-2); margin-top:4px; line-height:1.4; }
.scanner-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; background:var(--sand); font-size:1.25rem; }
.receipt-preview { width:100%; max-height:280px; object-fit:contain; margin-top:12px; border-radius:14px; background:white; border:1px solid var(--line); }
.ocr-progress { margin-top:15px; }
.ocr-progress small { display:block; margin-top:7px; color:var(--ink-2); }
.scanner-result { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:14px 16px; margin:18px 0; border-radius:15px; background:var(--green-soft); }
.scanner-result span { color:var(--green); font-size:.84rem; font-weight:700; text-align:right; }
.receipt-lines { display:grid; gap:8px; margin-bottom:10px; }
.receipt-line { display:grid; grid-template-columns:minmax(0,1fr) 82px 110px 44px; gap:8px; align-items:center; }
.receipt-line .input-control { min-height:44px; }
.menu-grid { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.recipe-summary { display:grid; gap:4px; margin-top:14px; padding:12px; border-radius:14px; background:var(--cream); }
.recipe-summary span { font-weight:850; }
.recipe-summary small { color:var(--ink-2); }
.recipe-modal { display:grid; gap:18px; }
.recipe-variant { padding:18px; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.recipe-variant__head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.recipe-variant__head h3 { margin:0; }
.ingredient-table { overflow:hidden; margin:15px 0; border:1px solid var(--line); border-radius:14px; }
.ingredient-row { display:grid; grid-template-columns:1fr auto; gap:12px; padding:11px 13px; border-bottom:1px solid var(--line); font-size:.88rem; }
.ingredient-row:last-child { border-bottom:0; }
.ingredient-row--head { background:var(--cream); color:var(--ink-2); font-size:.76rem; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.recipe-steps { display:grid; gap:9px; }
.recipe-steps > div { display:flex; gap:10px; align-items:flex-start; }
.recipe-steps span { width:26px; height:26px; flex:0 0 auto; display:grid; place-items:center; border-radius:9px; background:var(--ink); color:white; font-size:.72rem; font-weight:900; }
.recipe-steps p { margin:2px 0 0; font-size:.88rem; }
.data-table tr[data-expense-id] { cursor:pointer; }
.data-table tr[data-expense-id]:hover { background:rgba(232,221,207,.28); }
@media (max-width: 680px) {
  .permission-note { display:grid; }
  .permission-note span { margin-left:0; max-width:none; }
  .receipt-line { grid-template-columns:1fr 68px 90px 42px; }
  .task-item { align-items:flex-start; }
  .task-actions { width:100%; justify-content:flex-start; padding-left:44px; }
  .scanner-result { display:grid; }
  .scanner-result span { text-align:left; }
}

/* v0.3 production additions */
.stack-form { display: grid; gap: 0.85rem; }
.divider { display: flex; align-items: center; gap: 0.75rem; color: var(--muted); margin: 0.25rem 0; }
.divider::before, .divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.loading-card { min-height: 240px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); color: var(--muted); }
textarea.input-control { resize: vertical; min-height: 88px; font: inherit; }
.toast.negative { border-color: rgba(169, 70, 55, .25); }
.health-score strong { line-height: 1; }
.simple-row button { width: 100%; text-align: left; }
.receipt-line { grid-template-columns: minmax(0, 2fr) minmax(70px, .6fr) minmax(90px, .8fr); }
.permission-note { line-height: 1.45; }
@media (max-width: 760px) {
  .receipt-line { grid-template-columns: 1fr 76px 90px; gap: .45rem; }
  .hero-actions { width: 100%; }
  .hero-actions .button { flex: 1; }
}

/* v0.5 — acceso institucional */
.login-card {
  border: 1px solid rgba(255,255,255,0.55);
  box-shadow: 0 34px 90px rgba(16, 10, 7, 0.34);
}
.login-card > div:first-child {
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(47,36,30,0.08);
}
.login-card h2 {
  font-size: clamp(2rem, 4vw, 2.55rem);
  line-height: 1.05;
}
.login-note {
  max-width: 32rem;
  margin-inline: auto;
  line-height: 1.5;
}
#auth-toggle {
  margin-top: 16px;
  font-size: 0.95rem;
}

@media (max-width: 680px) {
  .login-screen {
    place-items: start center;
    padding: calc(22px + env(safe-area-inset-top, 0px)) 18px calc(24px + env(safe-area-inset-bottom, 0px));
  }
  .login-shell {
    width: 100%;
    gap: 26px;
  }
  .brand-lockup--login {
    align-items: center;
    gap: 16px;
    padding: 6px 4px 0;
  }
  .brand-lockup--login .brand-mark {
    width: 58px;
    height: 58px;
    border-radius: 18px;
  }
  .brand-lockup--login h1 {
    margin-bottom: 8px;
    font-size: clamp(2.35rem, 12vw, 3.5rem);
    letter-spacing: -0.055em;
  }
  .brand-lockup--login p:last-child {
    margin-bottom: 0;
    max-width: 300px;
    font-size: 0.95rem;
  }
  .login-card {
    padding: 28px 24px 26px;
    border-radius: 28px;
  }
  .login-card h2 { font-size: 2.05rem; }
  .field-label { margin-top: 20px; }
  .input-control { min-height: 54px; border-radius: 16px; }
  .button { min-height: 52px; border-radius: 16px; }
}

/* v0.6 — Menú financiero */
.menu-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:110px}.menu-price small,.cost-summary small{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.recipe-variant{display:block;padding-top:2px}.cost-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 14px}.cost-summary>div{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55);display:flex;flex-direction:column;gap:4px}.cost-summary strong{font-size:.92rem;color:var(--ink)}
@media(max-width:680px){.cost-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-price{align-items:flex-start;margin-top:10px}.menu-card__top{align-items:flex-start;flex-direction:column}}

/* v0.6 — Menú financiero */
.menu-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:110px}.menu-price small,.cost-summary small{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.recipe-cost-block{display:block;padding:2px 0 14px}.cost-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 14px}.cost-summary>div{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55);display:flex;flex-direction:column;gap:4px}.cost-summary strong{font-size:.92rem;color:var(--ink)}
@media(max-width:680px){.cost-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-price{align-items:flex-start;margin-top:10px}}

/* Sprint 6.1 — readable payroll period cards */
.payroll-period-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,253,249,0.8);
}
.payroll-period-card + .payroll-period-card { margin-top: 10px; }
.payroll-period-card__icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--cream);
  color: var(--gold-dark);
  font-weight: 900;
}
.payroll-period-card__content { min-width: 0; }
.payroll-period-card__top,
.payroll-period-card__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.payroll-period-card__title { min-width: 0; }
.payroll-period-card__title strong {
  display: block;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.payroll-period-card__title p {
  margin: 4px 0 0;
  color: rgba(47,36,30,0.58);
  font-size: 0.82rem;
  line-height: 1.4;
}
.payroll-period-card__bottom {
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.payroll-period-card__amount {
  font-size: 1.08rem;
  white-space: nowrap;
}
.payroll-period-card__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.payroll-period-card__actions .button { width: auto; }

@media (max-width: 760px) {
  .payroll-period-card__top,
  .payroll-period-card__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .payroll-period-card__actions {
    width: 100%;
    justify-content: stretch;
  }
  .payroll-period-card__actions .button { flex: 1; }
}

.section-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
@media (max-width: 720px) {
  .section-actions { width: 100%; justify-content: flex-start; }
}

/* Sprint 7 — system health */
.progress-track { height: 10px; overflow: hidden; border-radius: 999px; background: var(--sand); margin: 14px 0 18px; }
.progress-track > span { display: block; height: 100%; border-radius: inherit; background: var(--green); transition: width 260ms ease; }

/* Sprint 7.1 — Metas de ventas */
.goals-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.goal-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.goal-card__top h3 { margin:2px 0 5px; }
.goal-progress { height:10px; margin:20px 0 14px; overflow:hidden; border-radius:999px; background:var(--sand); }
.goal-progress span { display:block; height:100%; border-radius:inherit; background:var(--green); }
.goal-values { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.goal-values div { padding:12px; border-radius:13px; background:var(--cream); }
.goal-values small,.goal-values strong { display:block; }
.goal-values small { color:rgba(47,36,30,.56); margin-bottom:5px; }
.goal-actions { display:flex; gap:16px; align-items:center; margin-top:18px; }
.danger-text { color:var(--red); }
@media (max-width:760px){.goals-grid{grid-template-columns:1fr}.goal-values{grid-template-columns:1fr}.goal-actions{flex-wrap:wrap}}

/* Sprint 7.3 — claridad en creación de nómina */
.payroll-help {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(247,241,232,0.62);
}
.payroll-help strong { display:block; margin-bottom:4px; }
.payroll-help p { margin:0; color:rgba(47,36,30,.66); font-size:.86rem; line-height:1.45; }
.field-hint { display:block; margin-top:6px; color:rgba(47,36,30,.54); font-size:.75rem; line-height:1.35; }
.payroll-column-guide {
  display:grid; grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(115px,.75fr)); gap:10px;
  padding:0 12px; color:rgba(47,36,30,.55); font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em;
}
.payroll-people-list { display:grid; gap:10px; }
.payroll-person-row {
  display:grid; grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(115px,.75fr)); gap:10px; align-items:end;
  padding:14px; border:1px solid var(--line); border-radius:16px; background:rgba(255,253,249,.96);
}
.payroll-person-select { min-height:50px; display:flex; gap:10px; align-items:center; cursor:pointer; }
.payroll-person-select input { width:18px; height:18px; flex:0 0 auto; }
.payroll-person-select span { min-width:0; }
.payroll-person-select strong,.payroll-person-select small { display:block; }
.payroll-person-select small { margin-top:4px; color:rgba(47,36,30,.55); font-size:.75rem; }
.payroll-money-field label { display:block; margin:0 0 6px; font-size:.74rem; font-weight:800; color:rgba(47,36,30,.68); }
.payroll-summary-note { padding:12px 14px; border-radius:12px; background:var(--sand); color:var(--ink); font-size:.82rem; font-weight:750; }
@media (max-width:760px) {
  .payroll-column-guide { display:none; }
  .payroll-person-row { grid-template-columns:1fr 1fr; }
  .payroll-person-select { grid-column:1 / -1; border-bottom:1px solid var(--line); padding-bottom:10px; }
  .payroll-money-field:last-child { grid-column:1 / -1; }
}

/* Sprint 7.4 — reglas recurrentes de nómina */
.payroll-config-list { display: grid; gap: 16px; }
.payroll-person-config {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  background: rgba(255,253,249,0.84);
}
.payroll-person-config__head { margin-bottom: 4px; }
.payroll-person-config__head strong { display: block; font-size: 1rem; }
.payroll-person-config__head small { display: block; margin-top: 4px; color: rgba(47,36,30,0.58); }
@media (max-width: 720px) {
  .payroll-person-config { padding: 14px; }
}

/* Sprint 7.6 — menú personalizable */
.menu-category-section { margin-top: 28px; }
.menu-category-header { margin-bottom: 12px; }
.menu-category-header > span { color: rgba(47,36,30,.55); font-size: .82rem; font-weight: 800; }
.menu-admin-card { position: relative; }
.menu-admin-card.is-inactive, .recipe-cost-block.is-inactive { opacity: .62; }
.menu-card-side { display: grid; justify-items: end; gap: 10px; }
.menu-admin-actions, .variant-head-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.menu-category-rename { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; margin-top: 10px; }
.check-row { display: flex; gap: 10px; align-items: center; min-height: 50px; padding-top: 24px; font-weight: 800; }
.check-row input { width: 18px; height: 18px; }
.recipe-editor-list { max-height: 380px; overflow: auto; border: 1px solid var(--line); border-radius: 16px; background: white; }
.recipe-editor-row { display: grid; grid-template-columns: minmax(0,1fr) 140px; gap: 12px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.recipe-editor-row:last-child { border-bottom: 0; }
.recipe-editor-row small { color: rgba(47,36,30,.55); }
.recipe-editor-row .input-control { min-height: 42px; }
@media (max-width: 720px) {
  .menu-card-side { justify-items: start; }
  .menu-admin-actions, .variant-head-actions { justify-content: flex-start; }
  .recipe-editor-row { grid-template-columns: 1fr 110px; }
  .menu-category-rename { grid-template-columns: 1fr; }
}

/* Sprint 8 — iPad and touch refinement */
@media (min-width: 768px) and (max-width: 1180px) {
  .app-shell { grid-template-columns: 220px minmax(0,1fr); }
  .sidebar { width: 220px; padding: 22px 14px; }
  .main-content { grid-column: 2; padding: 0 20px 54px; }
  .metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .section-header { align-items: flex-start; }
  .hero-actions { width: 100%; }
  .hero-actions .button { min-width: 0; flex: 1 1 180px; }
  .modal-card { width: min(760px, calc(100vw - 48px)); max-height: calc(100vh - 48px); overflow-y: auto; }
  .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .data-table { min-width: 760px; }
  .table-card { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .button, .nav-item, .icon-button, .profile-pill { min-height: 48px; }
  .input-control { min-height: 52px; font-size: 16px; }
}
@media (pointer: coarse) {
  .button, .text-button, .nav-item, .icon-button { cursor: pointer; }
  .button--small { min-height: 42px; }
}
.shift-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; }
@media (max-width: 700px){ .shift-hero{align-items:flex-start;flex-direction:column}.shift-hero .button{width:100%} }

/* Sprint 10.1 — Calidad operativa */
.quality-role-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
}
.quality-role-guide article {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,253,249,.9);
  padding: 14px 16px;
  display: grid;
  gap: 4px;
}
.quality-role-guide span { color: rgba(47,36,30,.62); font-size: .82rem; line-height: 1.45; }
.quality-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.quality-quick-card {
  min-height: 116px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,253,249,.96);
  color: var(--ink);
  padding: 16px;
  text-align: left;
  display: grid;
  align-content: start;
  gap: 6px;
  box-shadow: 0 6px 18px rgba(47,36,30,.04);
}
.quality-quick-card:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(47,36,30,.08); }
.quality-quick-card > span { font-size: 1.25rem; }
.quality-quick-card small { color: rgba(47,36,30,.58); line-height: 1.35; }
.row-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width: 1100px) {
  .quality-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .quality-role-guide, .quality-quick-grid { grid-template-columns: 1fr; }
  .quality-quick-card { min-height: 96px; }
}

/* 10.1.9 */
.login-actions{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
[data-view-screen="goals"]{display:block;width:100%}


/* Menú navegable 10.2.1 */
.menu-browser-toolbar{padding:16px;margin-bottom:16px;position:sticky;top:0;z-index:8;box-shadow:0 10px 30px rgba(47,36,30,.06)}
.menu-search-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.menu-search-wrap>span{font-size:1.35rem;color:rgba(47,36,30,.55)}
.menu-category-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:thin}.menu-category-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;white-space:nowrap;font:inherit;font-weight:750;color:var(--ink);cursor:pointer}.menu-category-chip small{opacity:.55;margin-left:4px}.menu-category-chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.menu-browser-status{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:12px;font-size:.84rem}.status-text-ok{color:#397455;font-weight:750}.status-text-warning{color:#9a6727;font-weight:750}
.menu-compact-list{display:grid;gap:10px}.menu-compact-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.menu-compact-card.is-inactive{opacity:.62}.menu-compact-summary{width:100%;border:0;background:transparent;padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;text-align:left;color:inherit;cursor:pointer}.menu-compact-main{display:grid;grid-template-columns:10px minmax(0,1fr);gap:12px;align-items:start}.menu-category-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);margin-top:8px}.menu-compact-main small{display:block;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:rgba(47,36,30,.52);font-size:.68rem}.menu-compact-main strong{display:block;font-size:1.04rem;margin-top:3px}.menu-compact-main p{margin:4px 0 0;color:rgba(47,36,30,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:720px}.menu-compact-meta{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:12px;text-align:right}.menu-compact-meta>span{font-size:.78rem;color:rgba(47,36,30,.55)}.menu-compact-meta>b{font-size:1.35rem;font-weight:500}.menu-compact-details{border-top:1px solid var(--line);padding:14px 18px 18px;background:rgba(250,248,245,.62)}
.menu-variant-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}.menu-variant-pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;white-space:nowrap;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700}.menu-admin-footer,.recipe-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.menu-admin-footer{justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px}
@media(max-width:720px){.menu-browser-toolbar{position:static}.menu-browser-status{align-items:flex-start;flex-direction:column;gap:5px}.menu-compact-summary{grid-template-columns:1fr;padding:14px}.menu-compact-meta{grid-template-columns:auto 1fr auto;text-align:left}.menu-compact-main p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.menu-compact-details{padding:12px}.menu-admin-footer{justify-content:flex-start}}


/* Sprint 10.3.0: access + finance procurement */
.access-table-wrap{overflow:auto}.access-table{min-width:980px}.access-person{display:flex;align-items:center;gap:12px}.access-person small{display:block;margin-top:3px}.profile-mini{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface-soft,#f2eee9);font-weight:800}.row-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.pipeline-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 22px}.pipeline-legend span{background:var(--surface,#fff);border:1px solid var(--line,#e8e1da);border-radius:16px;padding:12px;font-weight:700}.pipeline-legend b{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#332820;color:#fff;margin-right:8px}.procurement-list{display:grid;gap:12px}.procurement-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line,#e8e1da);border-radius:16px;background:var(--surface-soft,#faf8f5)}.procurement-card p,.procurement-card small{display:block;margin:4px 0 0}.purchase-report-lines{display:grid;gap:12px}.purchase-report-line{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) 110px 120px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line,#e8e1da);border-radius:14px}.purchase-report-line small{display:block;margin-top:4px}@media(max-width:800px){.pipeline-legend{grid-template-columns:1fr 1fr}.procurement-card{align-items:flex-start;flex-direction:column}.purchase-report-line{grid-template-columns:1fr}.access-table-wrap{border-radius:16px}.access-table th:nth-child(n+3):nth-child(-n+7),.access-table td:nth-child(n+3):nth-child(-n+7){min-width:105px}}

/* 10.3.2 stability and workflow fixes */
.alert-item--button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit;display:flex;align-items:center;gap:12px}
.alert-item--button:hover{background:rgba(35,28,24,.045)}
.missing-components-list{max-height:48vh;overflow:auto;border:1px solid rgba(35,28,24,.08);border-radius:16px;padding:6px}

/* 10.4.0 monthly workforce */
.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:8px}.rate-editor-list{display:grid;gap:10px;max-height:55vh;overflow:auto}.rate-editor-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 150px;gap:12px;align-items:end;padding:14px;border:1px solid var(--border,#ddd);border-radius:14px}.rate-editor-row small{display:block;color:var(--muted,#777)}@media(max-width:760px){.weekday-grid{grid-template-columns:repeat(4,1fr)}.rate-editor-row{grid-template-columns:1fr}}

/* 10.5.0 — recepción de comprobantes línea por línea */
.receipt-review-workspace{max-width:1180px}.receipt-total-strip{display:grid;grid-template-columns:auto minmax(140px,220px) 1fr 1fr;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.receipt-lines-header,.receipt-line{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(210px,1fr) minmax(210px,1.2fr) minmax(150px,.8fr) minmax(110px,.6fr) 72px;gap:10px;align-items:end}.receipt-lines-header{padding:0 12px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.receipt-line-table{display:grid;gap:10px}.receipt-line{padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.receipt-line__purchase,.receipt-line__inventory{display:grid;grid-template-columns:1fr 1fr;gap:6px}.receipt-line__purchase input:last-child{grid-column:1/-1}.receipt-create-fields{display:grid;grid-template-columns:1fr 100px;gap:6px;margin-top:6px}.receipt-apply-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border-radius:12px;background:var(--surface-soft);font-weight:700}.receipt-difference--ok{color:var(--success)}
@media(max-width:900px){.receipt-lines-header{display:none}.receipt-line{grid-template-columns:1fr}.receipt-total-strip{grid-template-columns:1fr 1fr}.receipt-apply-toggle{justify-content:flex-start;padding:0 12px}}


/* 10.5.5 — Deberes recurrentes */
.task-tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem}.task-title-line{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.task-actions{display:flex;gap:.45rem;align-items:center}.task-item.is-overdue{border-color:rgba(176,62,50,.28);background:rgba(176,62,50,.035)}
@media(max-width:760px){.task-item{align-items:flex-start}.task-actions{width:100%;margin-top:.65rem}.task-actions .button{width:100%}}

/* 10.6.3 — Biblioteca de deberes legible y responsive */
.duty-library-shell { display:grid; gap:18px; }
.duty-library-intro { padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--paper-2, #f7f5ef); }
.duty-library-intro h3 { margin:4px 0 8px; font-size:1.15rem; }
.duty-library-intro p:last-child { margin:0; line-height:1.5; color:var(--muted); }
.duty-library-toolbar { display:grid; gap:7px; }
.duty-library-summary { color:var(--muted); font-size:.9rem; }
.duty-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-height:56vh; overflow:auto; padding:2px 4px 6px 0; }
.duty-template-card { min-width:0; display:flex; flex-direction:column; gap:12px; padding:16px; border:1px solid var(--line); border-radius:18px; background:var(--paper,#fff); }
.duty-template-card__top { display:grid; grid-template-columns:36px minmax(0,1fr); gap:10px; align-items:start; }
.duty-template-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; background:var(--paper-2,#f3f0e8); font-size:16px; }
.duty-template-card h4 { margin:2px 0 0; font-size:1rem; line-height:1.25; overflow-wrap:anywhere; }
.duty-template-description { margin:0; color:var(--muted); line-height:1.45; font-size:.9rem; overflow-wrap:anywhere; }
.duty-template-meta { display:flex; gap:7px; flex-wrap:wrap; margin-top:auto; }
.duty-template-meta span { padding:5px 8px; border-radius:999px; background:var(--paper-2,#f3f0e8); font-size:.72rem; font-weight:700; letter-spacing:.02em; }
.duty-template-card .button { width:100%; text-align:center; }
@media (max-width:720px){ .duty-library-grid{grid-template-columns:1fr;max-height:60vh;} .duty-template-card{padding:14px;} }

/* 10.7.2 — asset monitoring */
.asset-monitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.asset-monitor-card{border:1px solid var(--line,#ded8d1);border-radius:20px;padding:18px;background:var(--panel,#fff);display:flex;flex-direction:column;gap:10px;min-width:0}
.asset-monitor-card__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.asset-monitor-card__top h4{margin:4px 0 0;font-size:17px}
.asset-code{font-size:11px;letter-spacing:.12em;font-weight:800;opacity:.55}
.asset-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;opacity:.75;flex-wrap:wrap}
.asset-control{background:rgba(121,103,84,.07);border-radius:14px;padding:12px;display:grid;gap:5px}
.asset-control strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.asset-control span{font-size:13px;line-height:1.4}
@media(max-width:820px){.asset-monitor-grid{grid-template-columns:1fr}}

/* 10.7.6 button feedback */
.button--working{transform:scale(.985);filter:brightness(.92);}
[data-action]{cursor:pointer;}


/* =========================================================
   10.7.7 — PHONE-FIRST LAYOUT
   ========================================================= */
@media (max-width: 820px) {
  html, body { width: 100%; overflow-x: hidden; }
  .main-content {
    width: 100%;
    padding: 0 16px calc(126px + var(--safe-bottom));
  }
  .topbar {
    min-height: 104px;
    align-items: flex-start;
    padding-top: calc(14px + env(safe-area-inset-top, 0px));
    padding-bottom: 12px;
  }
  .topbar > div:first-child { min-width: 0; }
  .topbar h2 { font-size: 1.55rem; line-height: 1.05; }
  #build-label { display:block; margin-top:8px; font-size:.72rem; }

  .view-root { width:100%; min-width:0; }
  .section-header {
    display: block !important;
    width: 100%;
    margin: 16px 0 18px;
  }
  .section-header > div:first-child {
    width:100%;
    max-width:none;
  }
  .section-header h2 {
    font-size: 1.85rem;
    line-height: 1.08;
    margin-bottom: 10px;
  }
  .section-header .muted {
    max-width: 42rem;
    margin-bottom: 0;
    font-size: .96rem;
    line-height: 1.5;
  }
  .hero-actions {
    width:100%;
    display:grid !important;
    grid-template-columns: 1fr 1fr;
    gap:10px;
    margin-top:16px;
  }
  .hero-actions .button {
    width:100%;
    min-width:0;
    min-height:54px;
    padding:10px 13px;
    white-space:normal;
    line-height:1.15;
    font-size:.88rem;
  }
  .hero-actions .button--primary:first-child {
    grid-column:1 / -1;
    min-height:58px;
  }

  .mobile-cards { gap: 12px; }
  .mobile-record {
    border-radius: 22px;
    padding: 18px;
    min-width: 0;
  }
  .mobile-record__head {
    align-items:flex-start;
    gap:12px;
  }
  .mobile-record__head > div { min-width:0; }
  .mobile-record__head strong {
    display:block;
    font-size:1.08rem;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  .mobile-record__head small {
    display:block;
    margin-top:4px;
    font-size:.78rem;
    color:rgba(47,36,30,.58);
  }
  .mobile-record p {
    margin:12px 0 0;
    line-height:1.45;
  }
  .mobile-record > small {
    display:block;
    margin-top:10px;
    line-height:1.35;
  }

  .quick-action-button {
    right: 16px !important;
    left:auto !important;
    transform:none !important;
    bottom: calc(92px + var(--safe-bottom)) !important;
    width:56px;
    height:56px;
    z-index:35;
    box-shadow:0 12px 28px rgba(138,94,45,.28);
  }

  .mobile-nav {
    min-height: calc(74px + var(--safe-bottom));
    padding: 7px 6px calc(7px + var(--safe-bottom));
  }
  .mobile-nav .nav-item {
    min-height:56px;
    font-size:.64rem;
    line-height:1.15;
  }

  .modal {
    max-height: 91dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .modal-content { padding-bottom: 12px; }
  .stack-form .button--wide {
    position: sticky;
    bottom: 0;
    z-index: 2;
  }
}

@media (max-width: 520px) {
  .main-content { padding-left:14px; padding-right:14px; }
  .hero-actions { grid-template-columns:1fr !important; }
  .hero-actions .button--primary:first-child { grid-column:auto; }
  .metrics-grid { grid-template-columns:1fr 1fr; }
  .metric-card { min-width:0; padding:16px 14px; }
  .metric-card strong { font-size:1.25rem; overflow-wrap:anywhere; }
  .metric-card p { font-size:.85rem; }
  .section-header h2 { font-size:1.72rem; }
}

/* Direct-action affordance: every operational button must be tappable. */
[data-action], [data-prepare], [data-count-item], [data-review-receipt],
[data-edit-equipment], [data-equipment-quality], [data-open-approval] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(183,131,67,.16);
}


/* 10.7.8 — action reliability */
[data-action] { cursor:pointer; pointer-events:auto !important; user-select:none; }
[data-action].button--working { transform:scale(.985); opacity:.78; }
@media (max-width:820px){
  [data-action] { min-height:52px; }
  .hero-actions [data-action] { width:100%; }
  .section-header { overflow:visible; }
}

/* 10.8.0 — Online order queue */
.online-orders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 24px}
.online-order-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px;display:grid;gap:14px}
.online-order-head,.online-order-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.online-order-head small{letter-spacing:.12em;font-weight:800;opacity:.55}.online-order-head h3{margin:4px 0}.online-order-head p{margin:0;color:var(--muted)}
.online-order-lines{display:grid;gap:8px;padding:12px;background:rgba(121,103,84,.06);border-radius:14px}.online-order-lines>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.order-note{padding:11px 13px;border-left:3px solid #b77d36;background:#f6f0e8;border-radius:0 12px 12px 0;font-size:13px}
@media(max-width:820px){.online-orders-grid{grid-template-columns:1fr}.online-order-card{border-radius:20px}.online-order-foot{align-items:flex-end}.online-order-foot .hero-actions{width:auto;display:flex!important;flex-direction:column;margin:0}}

/* 10.8.1 — Orders Inbox */
.online-orders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.online-order-card{background:var(--surface,#fff);border:1px solid var(--line,#e5ded5);border-radius:22px;padding:18px;display:grid;gap:15px}
.online-order-head,.online-order-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.online-order-head h3{margin:4px 0}.online-order-head p,.online-order-head small{margin:0}
.online-order-lines{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line,#e5ded5);border-bottom:1px solid var(--line,#e5ded5)}
.online-order-lines>div{display:flex;justify-content:space-between;gap:12px}
.order-note{padding:12px;border-radius:14px;background:rgba(184,132,66,.09);font-style:italic}
@media(max-width:820px){.online-orders-grid{grid-template-columns:1fr}.online-order-foot{display:grid}.online-order-foot .hero-actions{display:flex!important;flex-wrap:wrap}.online-order-card{padding:16px}}

/* 10.9.6.1 — order payment state */
.order-status-stack{display:grid;justify-items:end;gap:6px}
.order-payment-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}
.order-payment-badge--paid{background:#e6f2e8;color:#3f704e}
.order-payment-badge--clip{background:#eef0f7;color:#53617e}
.order-history-row .hero-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}


/* 10.9.13 — pedidos visibles en turno + resumen comercial de Finanzas */
.operational-orders-card{margin:16px 0;border:1px solid rgba(111,79,54,.14);background:linear-gradient(135deg,#fffdf9,#f7f0e7)}
.ops-order-list{display:grid;gap:8px}
.ops-order-row{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:minmax(88px,.75fr) minmax(110px,1.3fr) auto auto;gap:10px;align-items:center;text-align:left;color:inherit}
.ops-order-row:hover{background:#fbf5ec}
.ops-order-number{font-weight:900}.ops-order-customer{color:var(--muted)}.ops-order-total{font-weight:850;text-align:right}
.finance-commerce-card{margin-bottom:16px}.finance-mini-metrics{margin:14px 0}
@media(max-width:720px){.ops-order-row{grid-template-columns:1fr auto}.ops-order-customer{grid-column:1}.ops-order-total{grid-column:2;grid-row:1}.ops-order-row .badge{grid-column:2;grid-row:2}}


/* 10.9.39 — Purchases + Duty Inbox */
.purchase-request-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.purchase-request-card{border:1px solid var(--line,#e8e2dc);border-radius:20px;padding:18px;background:linear-gradient(180deg,#fff 0%,#fbf8f5 100%);display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:0 10px 28px rgba(40,27,18,.045)}
.purchase-request-card__top{display:flex;align-items:flex-start;gap:10px;min-width:0}
.purchase-request-card__icon{width:36px;height:36px;border-radius:12px;background:#f2e9df;display:grid;place-items:center;flex:0 0 auto}
.purchase-request-card__title{min-width:0;flex:1}.purchase-request-card__title small{font-size:10px;letter-spacing:.12em;color:#9a704d}.purchase-request-card__title h3{font-size:17px;margin:3px 0 0;white-space:normal;overflow-wrap:anywhere}
.purchase-request-card__amount{font-size:30px;font-weight:760;letter-spacing:-.04em;color:#2f241f}
.purchase-request-card__meta{display:flex;gap:12px;flex-wrap:wrap;color:#81756e;font-size:12px}
.purchase-request-card__items{display:flex;flex-direction:column;gap:7px;padding:11px 12px;border-radius:14px;background:rgba(119,89,66,.05)}
.purchase-request-card__items div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.purchase-request-card__items span{color:#7e736c;text-align:right}
.purchase-request-card__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}
.purchase-request-card--approved{background:linear-gradient(180deg,#fff 0%,#f7fbf7 100%)}
.purchase-section{overflow:visible}

.task-inbox-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.task-inbox-card{display:grid;grid-template-columns:38px minmax(0,1fr) 22px;gap:12px;align-items:center;background:#fff;border:1px solid var(--line,#e9e2dc);border-radius:18px;padding:16px;cursor:pointer;transition:.18s ease;box-shadow:0 7px 20px rgba(40,27,18,.035)}
.task-inbox-card:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(40,27,18,.07);border-color:#d9c9bb}
.task-inbox-card.is-new{border-left:4px solid #9b6842}.task-inbox-card.is-overdue{border-left:4px solid #b85a52}
.task-state-dot{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#f3eee9;font-weight:700}.task-state-dot.green{background:#e7f2e7;color:#3b6b45}.task-state-dot.red{background:#f7e7e5;color:#9a433c}.task-state-dot.blue{background:#e8eef5;color:#46627d}
.task-inbox-card__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.task-inbox-card__top small{color:#9a704d;font-size:10px;letter-spacing:.08em}.task-inbox-card__top h3{margin:3px 0 0;font-size:16px}
.task-inbox-card__body>p{margin:7px 0;color:#675e58;line-height:1.35}.task-inbox-card__meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#8a8079}.task-inbox-card__arrow{font-size:24px;color:#ae9d90}
.task-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 2px}.task-tabs .button{white-space:nowrap}
.task-routines{margin-top:18px}.task-routines summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none}.task-routines summary::-webkit-details-marker{display:none}
.task-detail{display:flex;flex-direction:column;gap:16px}.task-detail__hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.task-detail__hero h2{margin:2px 0 8px}.task-detail__hero p{color:#6e645e}
.task-detail__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-detail__grid>div{padding:12px;border-radius:14px;background:#f7f3ef;display:flex;flex-direction:column;gap:4px}.task-detail__grid small{font-size:9px;letter-spacing:.1em;color:#9a704d}

@media(max-width:700px){.purchase-request-grid{grid-template-columns:1fr}.purchase-request-card__amount{font-size:26px}.task-inbox-card{grid-template-columns:32px minmax(0,1fr) 16px;padding:13px}.task-detail__grid{grid-template-columns:1fr 1fr}}

.purchase-review-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:2px 0 6px}
.purchase-review-hero h3{margin:4px 0 6px;font-size:20px}

.approval-inbox{display:flex;flex-direction:column;gap:12px}
.approval-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line,#e8e2dc);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(40,27,18,.035)}
.approval-card__icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f4ede7;color:#8f6547;font-weight:700}
.approval-card__body{min-width:0}.approval-card__body small{font-size:9px;letter-spacing:.12em;color:#9a704d}.approval-card__body h3{margin:3px 0 5px;font-size:16px}.approval-card__body p{margin:0;color:#756a63;overflow-wrap:anywhere}
@media(max-width:700px){.approval-card{grid-template-columns:36px minmax(0,1fr);}.approval-card>.button{grid-column:2;justify-self:start}}

/* 10.9.43 — iPad sales entry + separate cash reconciliation */
.sale-entry-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;position:sticky;bottom:0;z-index:12;padding:14px 0 2px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 24%)}
.sale-entry-actions .button{min-height:50px}
.sale-entry-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:14px;align-items:end}
.sale-total-box{min-height:48px}
.sale-flow-note{margin-top:2px}
@media (min-width:700px) and (max-width:1180px){
  .modal-shell,.modal-card,.modal-panel{max-width:min(880px,94vw)}
  .modal-content{max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .sale-entry-form{gap:12px}
  .sale-payment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
  .sale-entry-form .input-control,.sale-entry-form input,.sale-entry-form select{min-height:48px;font-size:16px}
  .sale-entry-form .receipt-line{grid-template-columns:minmax(0,1fr) 110px 44px;gap:10px}
  .sale-products-header{margin-bottom:0}
}
@media (min-width:960px) and (max-width:1366px) and (orientation:landscape){
  .sale-payment-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:699px){
  .sale-entry-top,.sale-payment-grid,.sale-entry-actions{grid-template-columns:1fr}
  .sale-entry-actions{position:static}
}

/* 10.9.44 — Sales is now an action inbox: only open tickets. */
.sales-open-metrics{grid-template-columns:minmax(240px,360px)}
.open-sales-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.open-sale-card{border:1px solid var(--line,#e8e2dc);border-radius:20px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 24px rgba(40,27,18,.04)}
.open-sale-card__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.open-sale-card__head small{font-size:9px;letter-spacing:.12em;color:#9a704d}.open-sale-card__head h3{margin:3px 0 4px;font-size:17px}.open-sale-card__head p{margin:0;color:#81756e;font-size:12px}.open-sale-card__head>strong{font-size:22px;white-space:nowrap}
.open-sale-card__items{padding:10px 12px;border-radius:14px;background:#f8f5f2;display:flex;flex-direction:column;gap:7px}.open-sale-card__items>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}
.open-sale-card__actions{margin-top:auto}
@media(max-width:700px){.open-sales-grid{grid-template-columns:1fr}.sales-open-metrics{grid-template-columns:1fr}}

/* 10.9.45 — Auth recovery / iPad */
.recovery-password-form .input-control{min-height:52px;font-size:16px}
.recovery-password-form .button{min-height:52px}
@media(max-width:1180px){#auth-submit{min-height:50px;touch-action:manipulation}.auth-card input{font-size:16px;min-height:50px}}

/* 10.9.47 — Points redemption catalog manager */
.rewards-admin{max-width:920px}
.rewards-admin__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rewards-admin__summary>div{padding:12px 14px;border-radius:14px;background:#f7f3ef;display:flex;flex-direction:column;gap:3px}
.rewards-admin__summary small{font-size:9px;letter-spacing:.11em;color:#9a704d}
.rewards-admin__summary strong{font-size:22px}
.rewards-admin__list{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto;padding-right:3px}
.reward-admin-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 105px 120px 92px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line,#e8e2dc);border-radius:15px;background:#fff}
.reward-admin-row__copy{display:flex;flex-direction:column;min-width:0}.reward-admin-row__copy small{font-size:9px;letter-spacing:.09em;color:#9a704d}.reward-admin-row__copy strong{overflow-wrap:anywhere}.reward-admin-row__copy span{font-size:11px;color:#81756e}
.reward-admin-toggle{display:flex;gap:7px;align-items:center;font-size:12px}.reward-admin-toggle input{width:18px;height:18px}
.reward-admin-points{display:flex;flex-direction:column;gap:3px}.reward-admin-points label{font-size:9px;color:#8a7c73}.reward-admin-points .input-control{min-height:40px}
@media(max-width:760px){.reward-admin-row{grid-template-columns:minmax(0,1fr) 92px}.reward-admin-points{grid-column:1}.reward-admin-row>.button{grid-column:2}.rewards-admin__summary{grid-template-columns:1fr 1fr}}

/* 10.9.49 — Points Treasury 2.0 */
.points-risk-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border-radius:18px;margin-bottom:16px;border:1px solid transparent}.points-risk-banner small{font-size:9px;letter-spacing:.12em}.points-risk-banner strong{display:block;font-size:17px;margin:3px 0 5px}.points-risk-banner p{margin:0;max-width:780px}.points-risk-banner--healthy{background:#eef7ef;border-color:#d6ead8;color:#315d39}.points-risk-banner--watch{background:#fff6e8;border-color:#f2dfbd;color:#7c5523}.points-risk-banner--critical{background:#fff0ef;border-color:#efcfcc;color:#8d3f38}
.points-treasury-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.points-treasury-kpis article{padding:18px;border:1px solid var(--line,#e8e2dc);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(40,27,18,.035);display:flex;flex-direction:column;gap:5px}.points-treasury-kpis small{font-size:9px;letter-spacing:.12em;color:#9a704d}.points-treasury-kpis strong{font-size:27px;letter-spacing:-.035em}.points-treasury-kpis span{font-size:11px;color:#7b7069}.points-coverage-kpi i,.points-share-cell i{height:6px;border-radius:999px;background:#eee7e1;overflow:hidden;display:block}.points-coverage-kpi i{margin-top:7px}.points-coverage-kpi i b,.points-share-cell i b{display:block;height:100%;background:#8c674c;border-radius:inherit}
.points-treasury-overview{align-items:stretch}.points-exposure-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.points-exposure-stack>div{padding:14px;border-radius:14px;background:#f8f4f0;display:flex;flex-direction:column;gap:4px}.points-exposure-stack span{font-size:11px;color:#756a63}.points-exposure-stack strong{font-size:21px}.points-exposure-stack small{color:#91857d;line-height:1.25}
.points-top-holder{padding:16px;border-radius:16px;background:#2e2622;color:#fff;display:flex;flex-direction:column;gap:4px}.points-top-holder small{font-size:9px;letter-spacing:.12em;opacity:.65}.points-top-holder strong{font-size:19px}.points-top-holder span,.points-top-holder b{font-size:12px;font-weight:500;opacity:.85}.points-levels{display:flex;flex-direction:column;margin-top:10px}.points-level-row{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px solid #eee6df}.points-level-row>div{display:flex;flex-direction:column}.points-level-row small,.points-level-row__right span{font-size:10px;color:#8d8179}.points-level-row__right{text-align:right}
.points-share-cell{min-width:110px}.points-share-cell span{display:block;font-size:11px;margin-bottom:4px}.points-credit{color:#3d7549}.points-debit{color:#9a4a43}
@media(max-width:980px){.points-treasury-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.points-exposure-stack{grid-template-columns:1fr}.points-risk-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.points-treasury-kpis{grid-template-columns:1fr}.points-treasury-kpis article{padding:15px}.points-risk-banner{padding:15px}.points-treasury-kpis strong{font-size:24px}}

/* 10.9.50 — Points Seasons Simulator */
.points-season-form{max-width:980px}
.season-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.season-hero h2{margin:3px 0 7px}
.season-check{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:14px;background:#f7f3ef}
.season-check input{width:18px;height:18px}
.season-tier-list{display:flex;flex-direction:column;gap:9px}
.season-tier-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(105px,.75fr));gap:10px;align-items:end;padding:12px;border:1px solid var(--line,#e8e2dc);border-radius:16px;background:#fff}
.season-tier-row>div{display:flex;flex-direction:column;gap:3px}.season-tier-row>div small{font-size:9px;letter-spacing:.11em;color:#9a704d}
.season-tier-row label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#81756e}.season-tier-row .input-control{min-height:42px}
.season-simulation-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#2f241f,#49382f);color:#fff}
.season-simulation-card>div{display:flex;flex-direction:column;gap:5px}.season-simulation-card small{font-size:9px;letter-spacing:.11em;opacity:.72}.season-simulation-card strong{font-size:24px;letter-spacing:-.03em}
.season-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}
.season-launch-locked{opacity:.55;cursor:not-allowed;background:#ece5df!important;color:#756a63!important;border:1px dashed #c9b9ac!important}
@media(max-width:760px){.season-tier-row{grid-template-columns:1fr 1fr}.season-tier-row>div{grid-column:1/-1}.season-simulation-card{grid-template-columns:1fr}.season-actions{grid-template-columns:1fr}.season-hero{flex-direction:column}}

/* 10.9.51 — Inventory Guard 2.0 */
.inventory-unreconciled-note{padding:8px 10px;border-radius:10px;background:#eef4f8;color:#496174;font-size:12px}
.inventory-guard-note{border-left:4px solid #6f8fa8}
.recipe-cost-block:not(.is-inactive) .inventory-guard-note{background:#f3f7fa}
.badge--blue{background:#e8f0f6;color:#48677d}

/* 10.9.52 — Initial Inventory Reconciliation */
.initial-inventory-reconciliation{max-width:1040px}
.reconciliation-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.reconciliation-hero h2{margin:3px 0 6px}
.reconciliation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.reconciliation-metrics>div{padding:12px 14px;border-radius:14px;background:#f7f3ef;display:flex;flex-direction:column;gap:3px}
.reconciliation-metrics small{font-size:9px;letter-spacing:.1em;color:#8c786a}.reconciliation-metrics strong{font-size:22px}
.reconciliation-actions-top,.reconciliation-filter{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.initial-reconciliation-list{display:flex;flex-direction:column;gap:8px;max-height:56vh;overflow:auto;padding-right:3px}
.reconciliation-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 120px minmax(150px,.8fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--line,#e8e2dc);border-radius:15px;background:#fff}
.reconciliation-row__copy{display:flex;flex-direction:column;min-width:0}.reconciliation-row__copy small{font-size:9px;letter-spacing:.09em;color:#9a704d}.reconciliation-row__copy span{font-size:11px;color:#81756e}
.reconciliation-count-field{display:flex;flex-direction:column;gap:4px}.reconciliation-count-field span{font-size:9px;color:#81756e}.reconciliation-count-field .input-control{min-height:42px}
.reconciliation-existing{display:flex;flex-direction:column;align-items:flex-end}.reconciliation-existing small{font-size:10px;color:#81756e}
.reconciliation-supervision{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border-radius:16px;background:#f7f3ef}.reconciliation-supervision p{margin:3px 0 0;color:#756a63}
@media(max-width:760px){.reconciliation-metrics{grid-template-columns:1fr 1fr}.reconciliation-actions-top,.reconciliation-filter{grid-template-columns:1fr}.reconciliation-row{grid-template-columns:1fr 110px}.reconciliation-count-field,.reconciliation-existing{grid-column:1/-1;align-items:stretch}.reconciliation-supervision,.reconciliation-hero{flex-direction:column;align-items:stretch}}

/* 10.9.54 — actionable vNext diagnostic + reliable viewport scrolling */
.modal{display:flex;flex-direction:column;overflow:hidden;max-height:min(92dvh,820px)}
.modal-header{flex:0 0 auto;position:sticky;top:0;z-index:3;background:var(--paper);padding-bottom:4px}
.modal-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(28px + var(--safe-bottom,0px))}
.vnext-state-row--actionable{width:100%;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit;background:transparent}
.vnext-state-row--actionable:hover{background:rgba(138,94,45,.055)}
.vnext-state-row--actionable:focus-visible{outline:3px solid rgba(138,94,45,.22);outline-offset:2px}
.vnext-action-label{display:block;margin-top:7px;font-size:.75rem;font-weight:850;color:var(--brown,#8a5e2d)}
.vnext-diagnostic-spacer{height:20px}
@media(max-width:760px){.modal{max-height:92dvh}.modal-content{padding-bottom:calc(36px + var(--safe-bottom,0px))}}


/* 10.9.57 · vNext diagnostic spacing + loading reliability */
.vnext-engine-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:min(100%,520px)}
.vnext-engine-actions .button{min-height:74px;padding:14px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left;white-space:normal;line-height:1.2}
.vnext-engine-actions .button strong{font-size:14px}
.vnext-engine-actions .button span{font-size:12px;font-weight:600;opacity:.7}
.vnext-engine-loading{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}
.vnext-spinner{width:34px;height:34px;border:3px solid rgba(30,45,40,.12);border-top-color:currentColor;border-radius:50%;animation:vnextSpin .8s linear infinite;margin-bottom:8px}
@keyframes vnextSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.vnext-engine-actions{grid-template-columns:1fr;width:100%;min-width:0}.vnext-engine-actions .button{width:100%}}

/* 10.9.58 · vNext Today v1 */
.vnext-today{padding:0;overflow:hidden;border:1px solid rgba(96,66,43,.12);background:linear-gradient(180deg,#fffaf3 0%,#fffdf9 100%)}
.vnext-today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid rgba(96,66,43,.09)}
.vnext-today-head h3{margin:2px 0 5px;font-size:22px}
.vnext-today-loading{display:flex;align-items:center;justify-content:center;gap:13px;min-height:130px;padding:24px;color:var(--text-soft,#6f665d)}
.vnext-today-loading strong{display:block;color:var(--text,#372f29);margin-bottom:3px}.vnext-today-loading p{margin:0;font-size:13px}
.vnext-today-body{padding:22px 26px 24px}
.vnext-today-state{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;border-radius:18px;background:#f7f1e7;border:1px solid rgba(96,66,43,.09)}
.vnext-today-state h2{font-size:clamp(22px,3vw,30px);margin:3px 0 5px;letter-spacing:-.02em}.vnext-today-state p{margin:0;color:var(--text-soft,#74695f);font-size:13px}.vnext-today-kicker{font-size:11px;letter-spacing:.12em;font-weight:900;color:#9b6d43}
.vnext-today-state--decision{background:#fff4ef}.vnext-today-state--action{background:#fff8ee}.vnext-today-state--watch{background:#fffaf1}.vnext-today-state--good{background:#f3f8f2}
.vnext-today-count{min-width:86px;height:86px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.72);border:1px solid rgba(96,66,43,.1)}
.vnext-today-count strong{font-size:30px;line-height:1}.vnext-today-count span{font-size:11px;margin-top:5px;color:var(--text-soft,#74695f);font-weight:800}
.vnext-today-section{margin-top:22px}.vnext-today-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.vnext-today-section-title>span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.vnext-today-section-title small{color:var(--text-soft,#74695f)}
.vnext-today-list{display:grid;gap:9px}.vnext-today-row{width:100%;border:1px solid rgba(96,66,43,.1);background:#fff;border-radius:15px;padding:15px 16px;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:12px;text-align:left;color:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.vnext-today-row:hover{transform:translateY(-1px);border-color:rgba(147,95,49,.28);box-shadow:0 8px 22px rgba(70,48,29,.06)}
.vnext-today-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:900;background:#f6eee4;color:#9a6638}.vnext-today-icon--decision{background:#fff0ea;color:#a3482d}.vnext-today-icon--watch{background:#f7f1e7;color:#8b6b45}
.vnext-today-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.vnext-today-copy strong{font-size:14px}.vnext-today-copy>span{font-size:12px;color:var(--text-soft,#74695f);line-height:1.35}.vnext-today-copy small{font-size:11px;color:#9a8d82}.vnext-today-arrow{font-weight:900;color:#a2754c}
.vnext-today-delegated{margin-top:20px;border-top:1px solid rgba(96,66,43,.08);padding-top:16px}.vnext-today-delegated summary{cursor:pointer;font-size:12px;font-weight:850;color:var(--text-soft,#74695f)}.vnext-today-list--quiet{margin-top:10px}.vnext-today-row--quiet{background:#fcfaf7;opacity:.92}
.vnext-today-all-good{margin-top:20px;padding:13px 15px;border-radius:14px;background:#f5f8f2;display:flex;gap:11px;align-items:center}.vnext-today-all-good>span{width:30px;height:30px;border-radius:10px;background:#e4efe0;display:grid;place-items:center;color:#46633e;font-weight:900}.vnext-today-all-good strong{font-size:12px}.vnext-today-all-good p{margin:2px 0 0;font-size:11px;color:var(--text-soft,#74695f);text-transform:capitalize}
.vnext-today-foot{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:13px;color:#9a8d82;font-size:10px}.vnext-today--error{border-color:rgba(162,72,45,.2)}
@media(max-width:760px){.vnext-today-head{padding:20px;flex-direction:column}.vnext-today-head .button{width:100%}.vnext-today-body{padding:18px}.vnext-today-state{align-items:flex-start}.vnext-today-count{min-width:68px;height:68px;border-radius:18px}.vnext-today-count strong{font-size:24px}.vnext-today-section-title{align-items:flex-start;gap:8px;flex-direction:column}.vnext-today-foot{align-items:flex-start;flex-direction:column}}

/* 10.9.59 — Today clickable cards + Barista focus */
.vnext-today-row{min-height:70px}
.vnext-today-row:focus-visible{outline:3px solid rgba(163,111,63,.28);outline-offset:2px}
.vnext-today-row--static{cursor:default}.vnext-today-row--static:hover{transform:none;box-shadow:none}
.vnext-engine-actions{gap:20px;align-items:stretch}
.vnext-engine-actions .button{border-radius:16px}
@media(max-width:760px){.vnext-engine-actions{gap:12px}.vnext-today-row{min-height:76px;padding:16px}}

/* 10.9.60 — Barista Today Dynamic */
.hero-card--floor{margin-bottom:14px}
.vnext-today-body--floor{padding-top:14px}
.vnext-floor-label{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:11px;letter-spacing:.12em;font-weight:900;color:#9b6d43}
.vnext-floor-label small{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#f4eadf;color:#8c5f37;font-size:11px;letter-spacing:0}
.vnext-floor-calm{display:flex;gap:12px;align-items:center;padding:18px;border-radius:16px;background:#f3f8f2}
.vnext-floor-calm>span{width:36px;height:36px;border-radius:12px;background:#e4efe0;display:grid;place-items:center;color:#46633e;font-weight:900}
.vnext-floor-calm strong{display:block}.vnext-floor-calm p{margin:3px 0 0;color:var(--text-soft,#74695f);font-size:13px}
@media(max-width:760px){.vnext-today-head{padding-bottom:10px}.vnext-today-head h3{font-size:18px}.vnext-today-body--floor{padding-top:8px}.hero-card--floor{margin-bottom:10px}}


/* 10.9.63 — Menu product photo management */
.menu-photo-section{display:grid;gap:12px;padding:14px;border:1px dashed rgba(15,23,42,.16);border-radius:18px;background:rgba(248,250,252,.88)}
.menu-photo-preview{display:grid;place-items:center;min-height:180px;border-radius:18px;overflow:hidden;background:rgba(226,232,240,.55);border:1px solid rgba(148,163,184,.22)}
.menu-photo-preview img{display:block;width:100%;max-height:260px;object-fit:cover}
.menu-photo-placeholder{display:grid;gap:6px;justify-items:center;padding:24px;text-align:center;color:#64748b}
.menu-photo-placeholder strong{font-size:1rem;color:#0f172a}
.menu-photo-placeholder small{max-width:24rem;line-height:1.45}
.menu-photo-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.menu-photo-help{font-size:.9rem;color:#64748b}

.menu-photo-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}

/* 10.9.69 — official brand mark */
.brand-mark--official{
  overflow:hidden;
  padding:0 !important;
  background:#0b0b0b !important;
}
.brand-mark--official img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

/* 10.9.70 — dark official mark on light San Chitā OS surfaces */
.brand-mark--official{
  background:transparent !important;
  box-shadow:none !important;
}
.brand-mark--official img{
  object-fit:contain !important;
  padding:2px;
}

/* 10.9.71 — San Chitā Glass 85
   Glass is applied to navigation/surfaces while keeping food photography and
   dense tables readable. */
:root{
  --glass-bg:rgba(250,247,241,.72);
  --glass-strong:rgba(250,247,241,.84);
  --glass-dark:rgba(47,36,30,.82);
  --glass-line:rgba(255,255,255,.58);
  --glass-shadow:0 18px 54px rgba(58,43,34,.10);
  --glass-blur:18px;
}
@supports (backdrop-filter:blur(1px)){
  .sidebar,.topbar,.card,.metric-card,.modal-card,.sheet,.toast,.mobile-nav,
  .profile-chip,.store-chip,.notification-popover{
    background:var(--glass-bg)!important;
    border-color:var(--glass-line)!important;
    box-shadow:var(--glass-shadow)!important;
    backdrop-filter:blur(var(--glass-blur)) saturate(135%);
    -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(135%);
  }
}
.sidebar{background:rgba(248,244,237,.80)!important;}
.nav-item{border:1px solid transparent;border-radius:16px;transition:.18s ease;}
.nav-item:hover{background:rgba(255,255,255,.46);border-color:rgba(255,255,255,.58);}
.nav-item.is-active{background:rgba(47,36,30,.90)!important;box-shadow:0 10px 28px rgba(47,36,30,.18);}
.button,.chip,.status-pill{border-radius:14px;}
.modal-backdrop{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
@media(max-width:760px){
  .mobile-nav{margin:0 10px 10px;border:1px solid var(--glass-line);border-radius:24px;overflow:hidden;}
  .topbar{margin:8px 10px 0;border-radius:22px;}
}

/* 10.9.75 — SAN CHITĀ OS · FULL GLASS SYSTEM
   Applies the glass design language across the full authenticated control system,
   not only the public ordering experience. Brand hierarchy remains intact. */

:root{
  --os-glass:rgba(255,252,247,.64);
  --os-glass-strong:rgba(255,252,247,.80);
  --os-glass-soft:rgba(247,239,229,.52);
  --os-glass-dark:rgba(48,35,29,.88);
  --os-glass-line:rgba(255,255,255,.64);
  --os-glass-line-dark:rgba(255,255,255,.14);
  --os-glass-shadow:0 18px 52px rgba(52,38,29,.11);
  --os-glass-shadow-soft:0 9px 28px rgba(52,38,29,.07);
  --os-glass-blur:20px;
  --os-glass-radius-xl:28px;
  --os-glass-radius-lg:22px;
  --os-glass-radius-md:16px;
}

/* Ambient surface behind the entire control system */
body{
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.92),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(218,196,174,.25),transparent 34%),
    radial-gradient(circle at 55% 88%,rgba(232,217,199,.20),transparent 38%),
    linear-gradient(150deg,#f8f3ed,#eee5dc 54%,#f7f1eb) !important;
  background-attachment:fixed !important;
}

/* Main app chrome */
.sidebar,
.topbar,
.mobile-nav,
.modal,
.login-card,
.store-chip,
.profile-pill,
.notification-popover,
.loading-card{
  background:var(--os-glass-strong)!important;
  border:1px solid var(--os-glass-line)!important;
  box-shadow:var(--os-glass-shadow)!important;
  backdrop-filter:blur(var(--os-glass-blur)) saturate(145%)!important;
  -webkit-backdrop-filter:blur(var(--os-glass-blur)) saturate(145%)!important;
}

.sidebar{
  background:rgba(250,246,240,.76)!important;
  border-right:1px solid rgba(255,255,255,.64)!important;
}
.sidebar-footer{
  background:transparent!important;
}

/* Core cards and surfaces across every module */
.card,
.metric-card,
.quick-card,
.table-card,
.alert-item,
.task-item,
.simple-row,
.campaign-card,
.payroll-period-card,
.procurement-card,
.purchase-report-line,
.receipt-review-workspace,
.receipt-total-strip,
.receipt-line,
.duty-template-card,
.asset-monitor-card,
.online-order-card,
.operational-orders-card,
.finance-commerce-card,
.purchase-request-card,
.task-inbox-card,
.menu-browser-toolbar,
.menu-compact-summary,
.menu-compact-details,
.access-table-wrap,
.pipeline-legend span,
.receipt-scanner,
.receipt-preview,
.ingredient-table,
.task-brief,
.asset-control,
.mobile-cards > *,
.dashboard-grid > *,
.campaign-grid > *,
.purchase-request-grid > *,
.duty-library-grid > *,
.online-orders-grid > *{
  background:linear-gradient(145deg,rgba(255,253,249,.70),rgba(244,235,225,.52))!important;
  border:1px solid var(--os-glass-line)!important;
  box-shadow:var(--os-glass-shadow-soft)!important;
  backdrop-filter:blur(var(--os-glass-blur)) saturate(140%)!important;
  -webkit-backdrop-filter:blur(var(--os-glass-blur)) saturate(140%)!important;
}

/* Data tables should read like glass, not turn opaque */
.data-table,
.access-table{
  background:transparent!important;
}
.data-table th,
.access-table th{
  background:rgba(239,229,218,.56)!important;
  backdrop-filter:blur(14px) saturate(130%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(130%)!important;
}
.data-table td,
.access-table td{
  background:rgba(255,253,249,.36)!important;
}
.data-table tr:hover td,
.access-table tr:hover td{
  background:rgba(255,255,255,.58)!important;
}

/* Dark premium glass for hierarchy */
.hero-card,
.campaign-cover,
.points-balance,
.wallet-balance{
  background:
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(145deg,rgba(49,35,29,.94),rgba(102,71,52,.88))!important;
  border:1px solid var(--os-glass-line-dark)!important;
  box-shadow:0 20px 54px rgba(47,36,30,.18)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
}

/* Inputs, selects, textarea, search, toggles and form rows */
.input-control,
input,
select,
textarea,
.field-control,
.filter-control,
.search-input,
.receipt-apply-toggle{
  background:rgba(255,253,249,.62)!important;
  border:1px solid rgba(255,255,255,.70)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 7px 18px rgba(52,38,29,.05)!important;
  backdrop-filter:blur(15px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(135%)!important;
}
.input-control:focus,
input:focus,
select:focus,
textarea:focus{
  border-color:rgba(155,104,66,.42)!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.42),0 8px 24px rgba(52,38,29,.08)!important;
}

/* Buttons */
.button,
.icon-button,
.text-button,
.quick-action-button,
.task-check,
.status-pill,
.badge,
.chip{
  backdrop-filter:blur(14px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(135%)!important;
}
.button--secondary,
.icon-button,
.profile-pill{
  background:rgba(255,252,247,.60)!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:0 7px 20px rgba(52,38,29,.06)!important;
}
.button--primary,
.quick-action-button{
  background:linear-gradient(135deg,rgba(49,35,29,.96),rgba(91,61,45,.92))!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 14px 34px rgba(47,36,30,.22),inset 0 1px 0 rgba(255,255,255,.12)!important;
}

/* Navigation glass */
.desktop-nav .nav-item{
  border:1px solid transparent!important;
  border-radius:16px!important;
  background:transparent!important;
  transition:.18s ease!important;
}
.desktop-nav .nav-item:hover{
  background:rgba(255,255,255,.48)!important;
  border-color:rgba(255,255,255,.58)!important;
}
.desktop-nav .nav-item.is-active{
  background:linear-gradient(135deg,rgba(49,35,29,.94),rgba(78,54,42,.90))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 12px 28px rgba(47,36,30,.16)!important;
}

/* Modal backdrop + glass sheets */
.modal-backdrop{
  background:rgba(42,31,25,.18)!important;
  backdrop-filter:blur(11px)!important;
  -webkit-backdrop-filter:blur(11px)!important;
}
.modal{
  background:rgba(255,252,247,.88)!important;
}

/* Make all major shapes consistent */
.card,
.metric-card,
.quick-card,
.table-card,
.campaign-card,
.payroll-period-card,
.procurement-card,
.purchase-request-card,
.task-inbox-card,
.duty-template-card,
.asset-monitor-card,
.online-order-card,
.operational-orders-card,
.finance-commerce-card,
.receipt-scanner,
.menu-compact-summary,
.access-table-wrap,
.loading-card{
  border-radius:var(--os-glass-radius-lg)!important;
}
.hero-card,
.modal,
.login-card{
  border-radius:var(--os-glass-radius-xl)!important;
}
.input-control,
input,
select,
textarea,
.button,
.icon-button,
.store-chip,
.profile-pill,
.status-pill,
.badge,
.chip{
  border-radius:var(--os-glass-radius-md)!important;
}

/* Preserve alert/status color semantics while glass remains present */
.task-state-icon.green,
.status-dot.green,
.task-check.is-complete{filter:saturate(.9);}
.task-item.is-overdue,
.task-inbox-card.is-overdue{
  background:linear-gradient(145deg,rgba(255,248,246,.75),rgba(247,226,222,.52))!important;
}
.purchase-request-card--approved{
  background:linear-gradient(145deg,rgba(250,255,250,.76),rgba(229,243,229,.52))!important;
}

/* Avoid glass-on-glass visual sludge in layout-only containers */
.dashboard-grid,
.metrics-grid,
.quick-grid,
.campaign-grid,
.mobile-cards,
.purchase-request-grid,
.duty-library-grid,
.online-orders-grid,
.alert-list,
.task-list,
.simple-list,
.task-inbox-list{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Responsive liquid layout */
@media(max-width:760px){
  :root{--os-glass-blur:17px;}
  .topbar{
    position:sticky;
    top:8px;
    z-index:70;
    margin:8px 10px 0!important;
    border-radius:22px!important;
  }
  .mobile-nav{
    margin:0 10px calc(10px + env(safe-area-inset-bottom,0px))!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .mobile-nav .nav-item{
    background:transparent!important;
  }
  .mobile-nav .nav-item.is-active{
    background:rgba(255,255,255,.48)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.40)!important;
  }
  .modal{
    margin:0 8px 8px!important;
    border-radius:28px 28px 18px 18px!important;
  }
  .card,.metric-card,.quick-card,.task-inbox-card,.purchase-request-card{
    box-shadow:0 10px 28px rgba(52,38,29,.08)!important;
  }
}

/* Desktop subtle hover lift */
@media(min-width:900px){
  .card:hover,
  .metric-card:hover,
  .quick-card:hover,
  .purchase-request-card:hover,
  .task-inbox-card:hover,
  .online-order-card:hover{
    transform:translateY(-1px);
    box-shadow:0 20px 46px rgba(52,38,29,.11)!important;
    transition:.18s ease;
  }
}

/* 10.9.76 — Reports Center */
.report-controls{display:grid;gap:18px;}
.report-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.report-type{
  min-height:78px;display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:left;
  background:rgba(255,252,247,.62);border:1px solid rgba(255,255,255,.68);
  border-radius:18px;box-shadow:0 8px 24px rgba(52,38,29,.06);
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  color:var(--ink);cursor:pointer;
}
.report-type span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:rgba(53,36,29,.08);font-weight:900;}
.report-type.is-active{background:linear-gradient(135deg,rgba(49,35,29,.95),rgba(91,61,45,.91));color:#fff;border-color:rgba(255,255,255,.14);}
.report-type.is-active span{background:rgba(255,255,255,.12);}
.report-filters{align-items:end;}
.report-generate-wrap{display:flex;align-items:end;}
.report-summary-note{padding:12px 14px;margin-bottom:14px;border-radius:15px;background:rgba(255,253,249,.50);border:1px solid rgba(255,255,255,.62);color:var(--muted);}
.report-table{max-height:560px;overflow:auto;}
.report-loading{min-height:120px;display:grid;place-items:center;}
@media(max-width:900px){.report-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.report-type-grid{grid-template-columns:1fr 1fr}.report-type{min-height:66px;padding:11px}.report-filters{grid-template-columns:1fr 1fr}.report-generate-wrap{grid-column:1/-1}.report-preview .hero-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}}

/* 10.9.77 — Customer notification composer */
.customer-notification-composer{display:grid;gap:14px;max-width:820px}
.customer-notification-composer textarea{resize:vertical;min-height:110px}

/* 10.9.91 — Role Workspaces */
.role-workspace-hero{margin-bottom:14px}
.workspace-stack{display:grid;gap:14px}
.workspace-section{
  border:1px solid var(--os-glass-line,rgba(255,255,255,.64));
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,253,249,.70),rgba(244,235,225,.52));
  box-shadow:var(--os-glass-shadow-soft,0 9px 28px rgba(52,38,29,.07));
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  overflow:hidden;
}
.workspace-section>summary{
  list-style:none;cursor:pointer;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.workspace-section>summary::-webkit-details-marker{display:none}
.workspace-section>summary h3{margin:2px 0 0}
.workspace-section>summary .muted{margin:5px 0 0}
.workspace-summary-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.workspace-chevron{font-size:22px;transition:transform .18s ease}
.workspace-section[open] .workspace-chevron{transform:rotate(180deg)}
.workspace-section__body{padding:0 20px 20px;border-top:1px solid rgba(255,255,255,.48)}
.workspace-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.workspace-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.simple-row--button{width:100%;text-align:left;border:0}
@media(max-width:900px){.workspace-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .workspace-section>summary{padding:15px}
  .workspace-section__body{padding:0 15px 15px}
  .workspace-summary-actions .text-button{display:none}
  .workspace-kpi-row{grid-template-columns:1fr}
  .workspace-actions{display:grid;grid-template-columns:1fr 1fr}
  .workspace-actions .button{width:100%}
}

/* 10.9.91 — Premium confirmation cards */
.confirmation-card{
  display:grid;
  gap:16px;
  padding:8px 2px 2px;
}
.confirmation-card__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(145deg,rgba(255,251,247,.86),rgba(247,238,228,.72));
  box-shadow:0 10px 28px rgba(59,40,28,.10);
  font-size:.78rem;
  letter-spacing:.08em;
  color:#6b4f38;
  text-transform:uppercase;
  font-weight:700;
}
.confirmation-card__icon{font-size:1.05rem}
.confirmation-card__copy h3{margin:0 0 8px;color:#3b2a1d;font-size:1.35rem}
.confirmation-card__copy p{margin:0;color:#6a5647;line-height:1.55}
.confirmation-card__details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.confirmation-detail{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(246,238,228,.65));
  box-shadow:0 8px 24px rgba(59,40,28,.08);
}
.confirmation-detail span{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8b725d;margin-bottom:7px}
.confirmation-detail strong{display:block;font-size:1rem;color:#2f2218;line-height:1.4}
.confirmation-card__preview{
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.75);
  background:linear-gradient(145deg,rgba(255,250,245,.78),rgba(242,231,219,.68));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 12px 30px rgba(59,40,28,.08);
}
.confirmation-notification-preview h4{margin:4px 0 8px;color:#35251c;font-size:1.1rem}
.confirmation-notification-preview p{margin:0;color:#6a5647;line-height:1.55;white-space:pre-wrap}
.confirmation-card__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:4px}
.confirmation-card__actions--triple{justify-content:space-between}
.confirmation-card--danger .confirmation-card__badge{
  color:#8d3d38;
  background:linear-gradient(145deg,rgba(255,246,245,.92),rgba(248,223,219,.78));
}
.confirmation-card--decision .confirmation-card__badge,
.confirmation-card--neutral .confirmation-card__badge,
.confirmation-card--warm .confirmation-card__badge{color:#6b4f38}
@media (max-width:680px){
  .confirmation-card__details{grid-template-columns:1fr}
  .confirmation-card__actions,.confirmation-card__actions--triple{display:grid;grid-template-columns:1fr}
  .confirmation-card__actions .button{width:100%}
}

/* 10.9.91 — Functional module workspaces */
.functional-module-stack{display:grid;gap:14px;margin-top:14px}
.module-accordion{
  border:1px solid rgba(255,255,255,.68);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,253,249,.72),rgba(244,235,225,.54));
  box-shadow:0 14px 38px rgba(52,38,29,.08);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  overflow:hidden;
}
.module-accordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer}
.module-accordion>summary::-webkit-details-marker{display:none}
.module-accordion>summary h3{margin:2px 0 0;color:#37271d}
.module-accordion>summary .muted{margin:6px 0 0;max-width:760px}
.module-accordion__chevron{font-size:22px;line-height:1;transition:transform .18s ease;color:#7d6049}
.module-accordion[open] .module-accordion__chevron{transform:rotate(180deg)}
.module-accordion__body{padding:0 20px 20px;border-top:1px solid rgba(255,255,255,.50)}
.module-accordion__body>.section-header:first-child{margin-top:16px}
.module-accordion__body>.metrics-grid:first-child,.module-accordion__body>.metric-grid:first-child{margin-top:16px}
.module-accordion .marketing-overview-card,.module-accordion .marketing-menu-overview,.module-accordion .finance-commerce-card,.module-accordion .card{box-shadow:none!important;background:rgba(255,255,255,.34)!important}
.module-accordion .campaign-grid{margin-top:14px}
@media(max-width:680px){.module-accordion>summary{padding:15px}.module-accordion__body{padding:0 15px 15px}.functional-module-stack{gap:10px}}

/* 10.9.91 — one window per operational section */
.functional-module-stack{
  display:grid;
  gap:14px;
}
.module-accordion{
  border-radius:22px;
  overflow:hidden;
}
.module-accordion + .module-accordion{
  margin-top:0!important;
}
.module-accordion__body{
  padding-top:2px;
}
.module-window-card{
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.module-accordion__body > .card,
.module-accordion__body > .subcard,
.module-accordion__body > .campaign-grid{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* 10.9.91 — Multi-business selector */
.business-unit-panel{
  display:grid;
  gap:7px;
  padding:12px;
  margin-bottom:10px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,252,248,.72),rgba(243,232,220,.55));
  box-shadow:0 8px 24px rgba(55,39,28,.07);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
}
.business-unit-panel label{
  font-size:.68rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#876f5b;
  font-weight:700;
}
.business-unit-select{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#34251c;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.business-unit-select:disabled{opacity:.7;cursor:default}
.business-unit-mobile{
  display:none;
  position:relative;
  min-width:86px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.68);
  background:linear-gradient(145deg,rgba(255,253,250,.82),rgba(241,230,218,.64));
  box-shadow:0 8px 22px rgba(55,39,28,.08);
  overflow:hidden;
}
.business-unit-mobile span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:0 14px;
  font-size:.78rem;
  font-weight:750;
  color:#493527;
  pointer-events:none;
}
.business-unit-mobile select{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
@media(max-width:820px){
  .business-unit-mobile{display:block}
}

/* 10.9.91 — San Chitā Intelligence */
.ai-top-button{font-size:1.15rem}
.ai-dashboard-card{overflow:hidden;position:relative}
.ai-dashboard-card:after{content:"✦";position:absolute;right:2rem;bottom:-2rem;font-size:8rem;opacity:.035;pointer-events:none}
.ai-assistant-shell{display:grid;gap:16px}
.ai-assistant-hero{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:22px;background:rgba(255,255,255,.62);border:1px solid rgba(77,52,35,.12)}
.ai-orb{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#2f241d;color:#f5df9a;font-size:20px;flex:0 0 auto}
.ai-assistant-hero h3{margin:2px 0 6px}.ai-assistant-hero p{margin:0;color:var(--muted)}
.ai-thread{max-height:42vh;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px}
.ai-message{max-width:88%;padding:12px 14px;border-radius:18px;line-height:1.45;white-space:pre-wrap}
.ai-message--assistant{align-self:flex-start;background:rgba(255,255,255,.76);border:1px solid rgba(77,52,35,.10)}
.ai-message--user{align-self:flex-end;background:#2f241d;color:#fff}
.ai-message--error{border-color:#b85d50;color:#8a352b}
.ai-loading{opacity:.6}
.ai-quick-prompts{display:flex;gap:8px;flex-wrap:wrap}.ai-quick-prompts button{border:1px solid rgba(77,52,35,.12);background:rgba(255,255,255,.55);padding:9px 12px;border-radius:999px;font:inherit;cursor:pointer}
.ai-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.ai-compose textarea{resize:vertical;min-height:74px;border:1px solid rgba(77,52,35,.14);background:rgba(255,255,255,.72);border-radius:18px;padding:12px;font:inherit}
.ai-disclaimer{color:var(--muted)}
@media(max-width:640px){.ai-compose{grid-template-columns:1fr}.ai-message{max-width:94%}}
/* 10.9.91 — Multi-store foundation */
.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.store-card{display:grid;gap:16px}.store-card--current{outline:1px solid rgba(126,91,51,.28);box-shadow:0 18px 46px rgba(64,45,31,.08)}
.store-unit-chips{display:flex;gap:8px;flex-wrap:wrap}.store-unit-chip{padding:7px 10px;border-radius:999px;background:rgba(122,87,52,.09);border:1px solid rgba(122,87,52,.10);font-size:.82rem;font-weight:700}
.store-meta{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:12px;border-top:1px solid rgba(77,52,35,.09);font-size:.86rem;color:var(--muted)}
.store-unit-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:8px}.store-unit-option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(77,52,35,.12);border-radius:16px;background:rgba(255,255,255,.58);cursor:pointer}.store-unit-option input{width:18px;height:18px}.store-unit-option span{display:grid;gap:2px}.store-unit-option small{color:var(--muted)}


/* 10.9.92 — desktop readability: orders + topbar notifications */
.order-history-row{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:16px 18px!important;width:100%!important}
.order-history-row .row-copy{min-width:0!important;flex:1 1 auto!important}.order-history-row .row-copy strong{font-size:.95rem!important;white-space:normal!important}.order-history-row .row-copy p{margin:5px 0 0!important;line-height:1.4!important;color:var(--muted)!important}.order-history-row .hero-actions{width:auto!important;flex:0 0 auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
#notification-button{background:rgba(55,38,29,.92)!important;color:#f3cf75!important;border-color:rgba(55,38,29,.28)!important;box-shadow:0 8px 22px rgba(55,38,29,.14)!important}#notification-button:hover{background:#35251d!important;color:#ffe092!important}.notification-count{background:#b94d43!important;color:#fff!important;border-color:#f8f3eb!important}
@media(max-width:720px){.order-history-row{align-items:flex-start!important;flex-direction:column!important}.order-history-row .hero-actions{width:100%!important;justify-content:flex-start!important}}


/* 10.9.92b — toast contrast fix: glass must never wash out system feedback */
.toast-region{z-index:1000!important}
.toast{background:rgba(47,36,30,.96)!important;color:#fff!important;border:1px solid rgba(238,205,126,.28)!important;box-shadow:0 16px 42px rgba(39,27,21,.24)!important;backdrop-filter:blur(18px) saturate(120%)!important;-webkit-backdrop-filter:blur(18px) saturate(120%)!important;font-weight:700!important;line-height:1.4!important;text-shadow:0 1px 0 rgba(0,0,0,.08)!important}
.toast.negative{background:rgba(116,49,43,.97)!important;color:#fff!important;border-color:rgba(255,222,214,.32)!important}


/* 10.9.95 — Official San Chitā identity palette
   #0A2416 forest · #004B1E green · #FF4200 orange · #A9824C ochre
   #D8EECA sage · #FFB8A2 peach · #FFE9D7 cream · #232625 charcoal */
:root{
  --ink:#232625;
  --ink-2:#0A2416;
  --cream:#FFE9D7;
  --paper:#fffaf6;
  --sand:#D8EECA;
  --sand-2:#A9824C;
  --gold:#A9824C;
  --gold-dark:#765b37;
  --green:#004B1E;
  --green-soft:#D8EECA;
  --orange:#FF4200;
  --orange-soft:#FFB8A2;
  --line:rgba(10,36,22,.14);
  --glass-dark:rgba(10,36,22,.86);
  --os-glass-dark:rgba(10,36,22,.90);
  --os-glass-line-dark:rgba(216,238,202,.18);
  --os-glass-shadow:0 18px 52px rgba(10,36,22,.11);
  --os-glass-shadow-soft:0 9px 28px rgba(10,36,22,.07);
}

/* 10.9.100 — Marketing & Community OS */
.marketing-tabs{display:flex;gap:.55rem;overflow-x:auto;padding:.25rem 0 1rem;scrollbar-width:none}.marketing-tabs::-webkit-scrollbar{display:none}.marketing-tabs .button{white-space:nowrap}.marketing-os-body{display:grid;gap:1rem}.marketing-kpis{margin-bottom:1rem}.marketing-home-grid{align-items:start}.marketing-message-preview{margin:.85rem 0;padding:.9rem 1rem;border:1px solid rgba(98,83,62,.16);border-radius:18px;background:rgba(255,255,255,.55)}.marketing-message-preview strong{display:block;margin-bottom:.35rem}.marketing-message-preview p{margin:0;color:var(--muted,#6f665f);line-height:1.45}.marketing-rule-copy{margin:.75rem 0 0}.marketing-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:.85rem 0}.marketing-rule-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.marketing-checks{display:flex;flex-wrap:wrap;gap:1rem;margin:.4rem 0 1rem}.marketing-checks label{display:flex;align-items:center;gap:.45rem;font-size:.92rem}.marketing-audience-result{margin-top:1rem}.marketing-form-section{padding:1rem;border:1px solid rgba(98,83,62,.14);border-radius:20px;background:rgba(250,247,242,.6)}.marketing-campaign-card .kpi-split{grid-template-columns:repeat(4,minmax(0,1fr))}.marketing-campaign-form{gap:1rem}
@media(max-width:900px){.marketing-rule-grid,.marketing-rule-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-campaign-card .kpi-split{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.marketing-rule-grid,.marketing-rule-grid.compact{grid-template-columns:1fr}.marketing-tabs{margin-inline:-.25rem;padding-inline:.25rem}.marketing-campaign-card .kpi-split{grid-template-columns:1fr 1fr}.marketing-form-section{padding:.8rem}}

/* 10.9.101 — Finance OS */
.finance-tabs{display:flex;gap:.55rem;overflow-x:auto;padding:.35rem 0 1rem;scrollbar-width:none}.finance-tabs::-webkit-scrollbar{display:none}.finance-tabs .button{white-space:nowrap}.finance-os-body{display:grid;gap:1rem}.finance-truth-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-radius:20px;background:rgba(63,72,52,.09);border:1px solid rgba(63,72,52,.15)}.finance-truth-banner strong{color:#3f4834}.finance-truth-banner span{color:var(--muted,#6f665f);font-size:.9rem}.finance-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.finance-command-card{padding:1rem 1.05rem;border-radius:22px;background:rgba(255,255,255,.64);border:1px solid rgba(98,83,62,.13);box-shadow:0 14px 32px rgba(73,55,40,.06)}.finance-command-card small{display:block;font-size:.72rem;letter-spacing:.08em;font-weight:800;color:#806b59}.finance-command-card strong{display:block;margin:.35rem 0 .25rem;font-size:1.35rem;color:#34261e}.finance-command-card span{font-size:.82rem;color:var(--muted,#6f665f)}.finance-command-card--accent{background:linear-gradient(145deg,rgba(72,82,58,.13),rgba(255,255,255,.72));border-color:rgba(72,82,58,.24)}.finance-waterfall,.finance-pnl-stack{display:grid;gap:.65rem}.finance-waterfall>div,.finance-pnl-stack>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:16px;background:rgba(250,247,242,.68);border:1px solid rgba(98,83,62,.1)}.finance-pnl-stack .subtotal{background:rgba(72,82,58,.08);font-weight:800}.finance-pnl-stack .total{background:rgba(72,82,58,.14);border-color:rgba(72,82,58,.22);font-weight:900}.finance-pnl-stack .minus{opacity:.88}.finance-horizon{display:flex;gap:.45rem;flex-wrap:wrap}.finance-budget-input{align-items:center}.finance-budget-input .input-control{margin:0}
@media(max-width:980px){.finance-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-truth-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.finance-command-grid{grid-template-columns:1fr 1fr;gap:.65rem}.finance-command-card{padding:.85rem}.finance-command-card strong{font-size:1.08rem}.finance-tabs{margin-inline:-.25rem;padding-inline:.25rem}.finance-truth-banner{padding:.85rem}.finance-pnl-stack>div,.finance-waterfall>div{align-items:flex-start;flex-direction:column;gap:.25rem}}

/* 10.9.102 Operations Control Tower */
.operations-hero-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0}.operations-readiness,.operations-score{border:1px solid var(--border,rgba(120,120,120,.2));border-radius:18px;padding:16px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:6px;min-height:118px}.operations-readiness{grid-column:span 2;background:linear-gradient(135deg,rgba(155,97,55,.12),rgba(106,117,78,.08))}.operations-readiness small,.operations-score small{font-size:.72rem;font-weight:800;letter-spacing:.08em;opacity:.65}.operations-readiness strong{font-size:2.4rem;line-height:1}.operations-score strong{font-size:1.8rem;line-height:1}.operations-readiness span,.operations-score span{font-size:.82rem;opacity:.72}.operations-attention{border-left:4px solid transparent}.operations-attention--critical{border-left-color:#a92d24}.operations-attention--high{border-left-color:#b56a22}.operations-attention--medium{border-left-color:#77805f}.prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.prep-card{border:1px solid var(--border,rgba(120,120,120,.2));border-radius:16px;padding:14px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:8px}.prep-card>small{font-size:.72rem;letter-spacing:.06em;opacity:.65}.prep-card>strong{font-size:1rem}.prep-card>div{display:flex;justify-content:space-between;gap:12px;font-size:.86rem}.prep-card em{font-style:normal;font-size:.74rem;opacity:.65}.operations-os-body{display:flex;flex-direction:column;gap:16px}
@media(max-width:900px){.operations-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-readiness{grid-column:span 2}.prep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.operations-hero-grid,.prep-grid{grid-template-columns:1fr}.operations-readiness{grid-column:span 1}.operations-readiness,.operations-score{min-height:auto}}

/* 10.9.103 — Unified Business OS */
.business-os-shell{display:grid;gap:.85rem;margin-bottom:1rem}.business-os-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(236,226,211,.46));border:1px solid rgba(92,74,56,.13);box-shadow:0 14px 34px rgba(69,49,34,.05)}.business-os-hero h2{margin:.2rem 0 .3rem}.business-os-live{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .7rem;border-radius:999px;background:rgba(68,81,57,.1);border:1px solid rgba(68,81,57,.18);font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#46533c}.business-os-live:before{content:"";width:7px;height:7px;border-radius:50%;background:#657253;box-shadow:0 0 0 4px rgba(101,114,83,.12)}.business-os-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.business-os-metric{padding:.9rem 1rem;border-radius:19px;background:rgba(255,255,255,.7);border:1px solid rgba(92,74,56,.11)}.business-os-metric small{display:block;font-size:.69rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#866f5d}.business-os-metric strong{display:block;margin:.35rem 0 .18rem;font-size:1.12rem;color:#34261f}.business-os-metric span{font-size:.78rem;color:var(--muted,#716860)}.business-os-attention{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.75rem .95rem;border-radius:17px;background:rgba(160,92,49,.07);border:1px solid rgba(160,92,49,.13);font-size:.82rem}.business-os-attention strong{color:#744c34}.business-os-attention span{color:#6f6259}.empty-state small{display:inline-block;max-width:680px;margin:.45rem auto;color:var(--muted,#716860);line-height:1.45}
@media(max-width:980px){.business-os-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.business-os-hero{padding:.9rem;flex-direction:column}.business-os-grid{grid-template-columns:1fr 1fr;gap:.55rem}.business-os-metric{padding:.75rem}.business-os-metric strong{font-size:1rem}.business-os-attention{align-items:flex-start;flex-direction:column;gap:.3rem}}

/* 10.9.104 — readability + continuity */
.simple-row > .button,
.simple-row > .text-button,
.operations-attention > .button,
.operations-attention > .text-button {
  width:auto !important;
  flex:0 0 auto !important;
  text-align:center !important;
  white-space:nowrap;
}
.simple-row .row-copy,
.operations-attention .row-copy { min-width:0; overflow:visible; }
.simple-row .row-copy strong,
.simple-row .row-copy p,
.simple-row .row-copy small,
.operations-attention .row-copy strong,
.operations-attention .row-copy p {
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.simple-row .row-copy p,.operations-attention .row-copy p{margin:.28rem 0 0;color:var(--muted,#6f665f)}
.operations-attention{align-items:flex-start;display:grid;grid-template-columns:38px minmax(0,1fr) auto;min-height:74px}
.operations-attention .row-copy strong{font-size:.94rem}
.operations-attention .text-button{align-self:center;padding:.5rem .65rem}
.store-card__actions{display:flex;align-items:center;justify-content:flex-end;padding-top:.25rem}
.goal-recurrence{min-height:28px;margin-top:.65rem}.goal-archive-list{display:grid;gap:.65rem}.goal-archive-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,1.4fr) 72px;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:17px;background:rgba(250,247,242,.68);border:1px solid rgba(98,83,62,.1)}.goal-archive-card small,.goal-archive-card span{display:block;color:var(--muted,#6f665f);font-size:.78rem}.goal-archive-card strong{display:block;margin:.15rem 0;font-size:.92rem}.goal-archive-chart{height:9px;border-radius:999px;background:rgba(100,82,65,.12);overflow:hidden}.goal-archive-chart i{display:block;height:100%;background:#647051;border-radius:inherit}.goal-archive-pct{font-weight:900;text-align:right}.goal-archive-pct.green{color:#536243}.goal-archive-pct.orange{color:#a8682f}.goal-archive-pct.red{color:#a14439}
.marketing-campaign-card[data-open-marketing-campaign]{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.marketing-campaign-card[data-open-marketing-campaign]:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(73,55,40,.10)}.marketing-detail-message{font-size:1rem;line-height:1.6}.marketing-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.marketing-detail-meta span{display:flex;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border-radius:14px;background:rgba(250,247,242,.7);font-size:.82rem}.marketing-detail-header{align-items:flex-start}
@media(max-width:700px){.operations-attention{grid-template-columns:34px minmax(0,1fr)}.operations-attention > .text-button,.operations-attention > .button{grid-column:2;justify-self:start}.goal-archive-card{grid-template-columns:1fr 64px}.goal-archive-chart{grid-column:1/-1;grid-row:2}.marketing-detail-meta{grid-template-columns:1fr}.store-card__actions{justify-content:flex-start}}

/* 10.9.105 — store isolation + role workspaces + marketing navigation */
.marketing-context-nav{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:.7rem;margin:0 0 .75rem;padding:.55rem .65rem;border:1px solid rgba(98,83,62,.12);border-radius:16px;background:rgba(251,248,243,.94);backdrop-filter:blur(12px);box-shadow:0 8px 22px rgba(73,55,40,.06)}
.marketing-context-nav span{font-size:.78rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#6f665f)}
.marketing-detail-header .hero-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.floor-primary-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-top:1rem}.floor-primary-actions .button{min-height:48px}
.role-floor-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}.admin-command{appearance:none;border:1px solid rgba(92,74,56,.13);border-radius:18px;background:rgba(255,255,255,.68);padding:1rem;text-align:left;cursor:pointer;transition:.15s ease}.admin-command:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(73,55,40,.07)}.admin-command strong{display:block;font-size:.95rem;color:#34261f}.admin-command span{display:block;margin-top:.28rem;color:var(--muted,#716860);font-size:.8rem;line-height:1.35}.admin-command--primary{background:linear-gradient(145deg,rgba(72,82,58,.14),rgba(255,255,255,.8));border-color:rgba(72,82,58,.22)}
.branch-setup-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:1rem 1.1rem;border-radius:22px;border:1px solid rgba(255,66,0,.16);background:linear-gradient(145deg,rgba(255,184,162,.18),rgba(255,255,255,.72))}.branch-setup-banner h3{margin:.18rem 0 .3rem}.branch-setup-banner p{margin:0;color:var(--muted,#716860);line-height:1.45}.branch-setup-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.store-context-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .62rem;border-radius:999px;background:rgba(72,82,58,.09);border:1px solid rgba(72,82,58,.14);font-size:.72rem;font-weight:850;color:#48543e}
@media(max-width:980px){.floor-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-setup-banner{flex-direction:column}.branch-setup-actions{justify-content:flex-start}.role-floor-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.floor-primary-actions,.admin-command-grid,.role-floor-kpis{grid-template-columns:1fr}.marketing-context-nav{top:.25rem}.marketing-detail-header{gap:.75rem}.marketing-detail-header .hero-actions{width:100%}.marketing-detail-header .hero-actions .button{flex:1 1 auto}.branch-setup-actions{display:grid;grid-template-columns:1fr;width:100%}.branch-setup-actions .button{width:100%}}

/* 10.9.106 — Marketing navigation, compact summary, analytics charts, modern customer notices */
.marketing-tabs{position:sticky;top:56px;z-index:7;background:rgba(247,243,237,.96);backdrop-filter:blur(14px);padding:.55rem .25rem .75rem;margin:0 0 .75rem;border-bottom:1px solid rgba(92,74,56,.08)}
.marketing-summary-shell{display:grid;gap:.9rem;max-width:1180px}
.marketing-summary-shell .marketing-kpis{margin:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.marketing-summary-shell .marketing-kpis .metric-card{min-height:98px;padding:.82rem .9rem}
.marketing-summary-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:.85rem;align-items:start}
.marketing-summary-card{min-height:0;padding:1rem}.marketing-summary-card .section-header{margin-bottom:.55rem}.marketing-summary-card .simple-row{padding:.68rem .15rem;min-height:54px}
.marketing-quick-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.marketing-quick-action{appearance:none;border:1px solid rgba(92,74,56,.12);background:rgba(255,255,255,.66);border-radius:18px;padding:.9rem;text-align:left;display:grid;grid-template-columns:1fr auto;gap:.18rem .6rem;cursor:pointer;min-height:78px}
.marketing-quick-action strong{font-size:.88rem}.marketing-quick-action span{font-size:.74rem;color:var(--muted,#716860)}.marketing-quick-action b{grid-row:1/3;grid-column:2;align-self:center;font-size:1.1rem}
.marketing-recent-card{padding:1rem}.marketing-mini-table{display:grid}.marketing-mini-table button{appearance:none;border:0;border-top:1px solid rgba(92,74,56,.08);background:transparent;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;text-align:left;align-items:center;padding:.72rem .1rem;cursor:pointer}.marketing-mini-table button:first-child{border-top:0}.marketing-mini-table span strong,.marketing-mini-table small{display:block}.marketing-mini-table small{margin-top:.18rem;color:var(--muted,#716860)}
.marketing-analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:.85rem}.marketing-analytics-kpis .metric-card{min-height:102px}
.marketing-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem}.marketing-chart-card{padding:1rem;min-height:260px}.marketing-chart-card .section-header{margin-bottom:.7rem}
.marketing-bar-chart{display:grid;gap:.75rem}.marketing-bar-row{display:grid;gap:.35rem}.marketing-bar-label{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.78rem}.marketing-bar-label strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marketing-bar-label span{font-weight:850}.marketing-bar-track{height:10px;border-radius:999px;background:rgba(91,76,61,.10);overflow:hidden}.marketing-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#59624c,#8d765f)}.marketing-chart-empty{min-height:160px;display:grid;place-items:center}
.marketing-os-body{min-width:0}.marketing-os-body>.section-header{margin-top:.2rem}.marketing-campaign-card .hero-actions{margin-top:.75rem}.marketing-campaign-card .hero-actions .button{position:relative;z-index:2}
.customer-notification-studio{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1rem;align-items:start;max-width:1180px}.customer-notification-editor{max-width:none;padding:1.15rem}.customer-notification-editor .field-label{display:flex;justify-content:space-between;gap:1rem}.customer-notification-editor .field-label small{font-weight:700;color:var(--muted,#716860)}
.customer-notification-safety{display:flex;gap:.55rem;flex-wrap:wrap}.customer-notification-safety span{font-size:.72rem;font-weight:800;padding:.45rem .62rem;border-radius:999px;background:rgba(79,91,65,.09);color:#526047}
.customer-notification-preview-card{position:sticky;top:124px;display:grid;gap:.8rem;padding:1rem;border-radius:24px;border:1px solid rgba(92,74,56,.12);background:linear-gradient(145deg,rgba(250,246,240,.96),rgba(255,255,255,.78));box-shadow:0 18px 44px rgba(73,55,40,.07)}
.customer-notification-device{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.75rem;padding:1rem;border-radius:20px;background:rgba(255,255,255,.88);border:1px solid rgba(92,74,56,.11);box-shadow:0 10px 28px rgba(73,55,40,.08)}.customer-notification-device__top{grid-column:1/-1;display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted,#716860)}.customer-notification-device__icon{width:46px;height:46px;border-radius:14px;background:#413128;color:#fff;display:grid;place-items:center;font-size:1.25rem}.customer-notification-device strong{display:block;font-size:.9rem}.customer-notification-device p{margin:.25rem 0 0;color:var(--muted,#716860);font-size:.8rem;line-height:1.45}.customer-notification-preview-meta{display:grid;gap:.45rem}.customer-notification-preview-meta>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .72rem;border-radius:14px;background:rgba(255,255,255,.58);font-size:.76rem}.customer-notification-preview-meta span{color:var(--muted,#716860)}
@media(max-width:980px){.marketing-summary-grid,.marketing-analytics-grid,.customer-notification-studio{grid-template-columns:1fr}.marketing-quick-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-notification-preview-card{position:static}.marketing-tabs{top:0}}
@media(max-width:620px){.marketing-summary-shell .marketing-kpis,.marketing-analytics-kpis,.marketing-quick-strip{grid-template-columns:1fr 1fr}.marketing-mini-table button{grid-template-columns:1fr auto}.marketing-mini-table button>span:nth-child(2){display:none}.marketing-tabs{margin-inline:-.4rem;padding-inline:.4rem}.customer-notification-studio{gap:.75rem}}

/* 10.9.107 — Marketing density, analytics and branch readiness */
.marketing-summary-shell .marketing-kpis,.marketing-analytics-kpis{grid-template-columns:repeat(4,minmax(118px,1fr))!important;gap:.65rem!important}
.marketing-summary-shell .marketing-kpis .metric-card,.marketing-analytics-kpis .metric-card{min-height:82px!important;padding:.72rem .8rem!important}
.marketing-summary-shell .marketing-kpis .metric-card strong,.marketing-analytics-kpis .metric-card strong{font-size:1.35rem}
.marketing-audience-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:.9rem;align-items:start}
.audience-preview-card{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}.audience-preview-card>div{padding:.85rem;border:1px solid rgba(98,83,62,.12);border-radius:16px;background:rgba(255,255,255,.62)}.audience-preview-card small{display:block;color:var(--muted);margin-bottom:.2rem}.audience-preview-card strong{font-size:1.5rem}.marketing-segment-row{align-items:center}.marketing-segment-row .hero-actions{margin-left:auto}
.marketing-mini-columns{height:185px;display:flex;align-items:flex-end;gap:4px;padding:.6rem .15rem 1.8rem;position:relative;border-bottom:1px solid rgba(98,83,62,.12)}.marketing-mini-column{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative;min-width:4px}.marketing-mini-column i{display:block;width:70%;min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#6f5847,#a78368)}.marketing-mini-column span{position:absolute;bottom:-1.45rem;font-size:.62rem;color:var(--muted);white-space:nowrap;transform:rotate(-18deg);transform-origin:center}.marketing-line-empty{display:grid;place-items:center;min-height:170px;color:var(--muted)}
.analytics-zero-state{padding:1rem;border:1px dashed rgba(98,83,62,.2);border-radius:16px;background:rgba(255,255,255,.4)}.analytics-zero-state p{margin:.35rem 0 0;color:var(--muted)}.analytics-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.analytics-insight-grid>div{padding:.9rem;border:1px solid rgba(98,83,62,.12);border-radius:16px}.analytics-insight-grid small,.analytics-insight-grid span{display:block;color:var(--muted)}.analytics-insight-grid strong{display:block;font-size:1.4rem;margin:.18rem 0}
.branch-readiness-mini{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.65rem}.branch-readiness-mini span{padding:.35rem .55rem;border-radius:999px;background:rgba(255,255,255,.7);font-size:.8rem}
.marketing-campaign-actions{margin-top:auto}.marketing-campaign-card .campaign-body{display:flex;flex-direction:column;height:100%}
@media(max-width:1000px){.marketing-audience-layout,.analytics-insight-grid{grid-template-columns:1fr 1fr}.marketing-summary-shell .marketing-kpis,.marketing-analytics-kpis{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.marketing-audience-layout,.analytics-insight-grid{grid-template-columns:1fr}.marketing-summary-shell .marketing-kpis,.marketing-analytics-kpis{grid-template-columns:1fr 1fr!important}.marketing-mini-column span{display:none}}

/* 10.9.108 — Marketing interaction + compact Analytics */
.marketing-tabs .button{pointer-events:auto;position:relative;z-index:2}
.marketing-range-picker{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.marketing-range-picker button{appearance:none;border:1px solid rgba(92,74,56,.14);background:rgba(255,255,255,.72);color:var(--ink,#302821);border-radius:999px;padding:.42rem .72rem;font:inherit;font-size:.72rem;font-weight:850;line-height:1;min-width:0;cursor:pointer;box-shadow:none}
.marketing-range-picker button.is-active{background:#4a3a31;color:#fff;border-color:#4a3a31}
.marketing-analytics-header{align-items:flex-start}.marketing-analytics-grid--first{margin-bottom:.7rem}.marketing-chart-card--funnel{min-height:220px}
.marketing-analytics-kpis{margin:.25rem 0 .85rem!important}.marketing-analytics-kpis .metric-card{min-height:74px!important;padding:.65rem .75rem!important}.marketing-analytics-kpis .metric-card strong{font-size:1.22rem!important}
.marketing-audience-layout{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}
.marketing-segment-row{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:.55rem .7rem!important;align-items:start!important}
.marketing-segment-row .row-copy{min-width:0!important;overflow:visible!important}.marketing-segment-row .row-copy strong,.marketing-segment-row .row-copy p{white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
.marketing-segment-row .hero-actions{grid-column:2;display:flex!important;gap:.4rem!important;flex-wrap:wrap!important;margin:0!important;justify-content:flex-start!important}
@media(max-width:900px){.marketing-analytics-header{display:grid;gap:.65rem}.marketing-range-picker{justify-content:flex-start}.marketing-audience-layout{grid-template-columns:1fr}.marketing-segment-row{grid-template-columns:34px minmax(0,1fr)!important}}


/* 10.9.109 — Global density pass: compact KPI surfaces, duties, purchases and receipts */
.metrics-grid,.metric-grid{gap:.55rem!important}
.metric-card{min-height:0!important;padding:.68rem .78rem!important;border-radius:15px!important;box-shadow:0 3px 10px rgba(47,36,30,.025)!important}
.metric-card__top{gap:.45rem!important;align-items:center!important}
.metric-card__icon{width:26px!important;height:26px!important;border-radius:8px!important;font-size:.78rem!important}
.metric-card__trend{font-size:.64rem!important;line-height:1.15!important;white-space:normal!important;text-align:right!important}
.metric-card strong{margin-top:.42rem!important;font-size:1.18rem!important;line-height:1.05!important}
.metric-card p{margin:.18rem 0 0!important;font-size:.76rem!important;line-height:1.2!important;color:rgba(47,36,30,.66)!important}
.business-os-shell{gap:.55rem!important;margin-bottom:.7rem!important}
.business-os-hero{padding:.78rem .9rem!important;border-radius:17px!important;box-shadow:none!important}
.business-os-hero h2{font-size:1rem!important;margin:.12rem 0!important}
.business-os-hero .muted{font-size:.76rem!important;margin:.15rem 0 0!important}
.business-os-grid{gap:.5rem!important}
.business-os-metric{padding:.58rem .7rem!important;border-radius:14px!important;min-height:0!important}
.business-os-metric small{font-size:.59rem!important}.business-os-metric strong{font-size:.98rem!important;margin:.18rem 0 .08rem!important}.business-os-metric span{font-size:.68rem!important}
.business-os-attention{padding:.52rem .7rem!important;border-radius:13px!important;font-size:.72rem!important}
.section-header{margin:18px 0 10px!important}
.card{padding:15px!important;border-radius:17px!important}

/* Marketing: no oversized summary/analytics cards */
.marketing-summary-shell{gap:.6rem!important}
.marketing-summary-shell .marketing-kpis,.marketing-analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.5rem!important;margin:.1rem 0 .55rem!important}
.marketing-summary-shell .marketing-kpis .metric-card,.marketing-analytics-kpis .metric-card{min-height:0!important;padding:.58rem .68rem!important}
.marketing-summary-shell .marketing-kpis .metric-card strong,.marketing-analytics-kpis .metric-card strong{font-size:1.08rem!important}
.marketing-summary-grid,.marketing-analytics-grid{gap:.6rem!important}
.marketing-summary-card,.marketing-chart-card,.marketing-recent-card{padding:.78rem!important;border-radius:16px!important}
.marketing-chart-card{min-height:190px!important}.marketing-chart-card--funnel{min-height:180px!important}
.marketing-range-picker{gap:.28rem!important;justify-content:flex-start!important}
.marketing-range-picker button{padding:.34rem .58rem!important;font-size:.68rem!important;min-height:28px!important}
.marketing-tabs{padding:.35rem .15rem .5rem!important;margin-bottom:.5rem!important;gap:.35rem!important}
.marketing-tabs .button{min-height:30px!important;padding:0 .65rem!important;font-size:.7rem!important;border-radius:999px!important}
.marketing-quick-strip{gap:.45rem!important}.marketing-quick-action{min-height:0!important;padding:.65rem .72rem!important;border-radius:14px!important}

/* Duties: denser inbox and KPIs */
.task-inbox-list{gap:7px!important;margin-top:9px!important}
.task-inbox-card{grid-template-columns:30px minmax(0,1fr) 14px!important;gap:9px!important;padding:10px 12px!important;border-radius:14px!important;box-shadow:none!important}
.task-state-dot{width:25px!important;height:25px!important;font-size:.72rem!important}
.task-inbox-card__top h3{font-size:13.5px!important;margin:1px 0 0!important}.task-inbox-card__top small{font-size:8.5px!important}
.task-inbox-card__body>p{margin:4px 0!important;font-size:.75rem!important;line-height:1.28!important}.task-inbox-card__meta{font-size:9.5px!important;gap:8px!important}
.task-inbox-card__arrow{font-size:17px!important}.task-tabs{gap:5px!important}.task-tabs .button{min-height:29px!important;padding:0 .62rem!important;font-size:.68rem!important}
.task-routines{margin-top:10px!important}

/* Procurement / receipts and other dashboard KPI bands */
.purchase-request-grid{gap:9px!important}.purchase-request-card{padding:12px!important;border-radius:15px!important;gap:8px!important;box-shadow:none!important}.purchase-request-card__amount{font-size:21px!important}
[data-business-os-shell] + .metrics-grid,.business-os-shell + .metrics-grid{margin-top:.45rem!important}

@media(max-width:900px){
  .marketing-summary-shell .marketing-kpis,.marketing-analytics-kpis,.metrics-grid,.business-os-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* 10.9.110 — semantic quality sections + compact marketing KPI language */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}
.marketing-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.1rem 0 .65rem}
.marketing-stat{position:relative;min-width:0;padding:.72rem .78rem .68rem;border:1px solid rgba(92,74,56,.11);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(248,244,238,.7));box-shadow:0 3px 10px rgba(47,36,30,.025)}
.marketing-stat__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}
.marketing-stat__icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(92,74,56,.08);font-size:.76rem;font-weight:900;flex:0 0 auto}
.marketing-stat__detail{font-size:.63rem;font-weight:800;line-height:1.15;color:rgba(47,36,30,.55);text-align:right;white-space:normal}
.marketing-stat__value{margin-top:.48rem;font-size:1.15rem;font-weight:900;letter-spacing:-.035em;line-height:1}
.marketing-stat__label{margin-top:.2rem;font-size:.72rem;color:rgba(47,36,30,.66);line-height:1.2}
.marketing-stat--member .marketing-stat__icon{background:rgba(154,111,72,.09)}
.marketing-stat--device .marketing-stat__icon{background:rgba(74,93,112,.09)}
.marketing-stat--push .marketing-stat__icon{background:rgba(88,103,71,.1)}
.marketing-stat--revenue .marketing-stat__icon{background:rgba(93,73,56,.1)}
.marketing-stat-grid--analytics{margin:.15rem 0 .7rem}
@media(max-width:900px){.marketing-stat-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.marketing-stat-grid{grid-template-columns:1fr 1fr}.marketing-stat{padding:.62rem}.marketing-stat__detail{display:none}.marketing-stat__value{font-size:1.05rem}}


/* 10.9.120 — Management OS: compact store control + multi-store comparison */
.management-store-list{display:grid;gap:.5rem}
.management-store-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(360px,2fr) auto;align-items:center;gap:.8rem;width:100%;padding:.68rem .75rem;border:1px solid rgba(92,74,56,.11);border-radius:14px;background:rgba(255,255,255,.56);text-align:left;cursor:pointer;color:inherit}
.management-store-row:hover{background:rgba(255,255,255,.82);transform:translateY(-1px)}
.management-store-row[data-current="true"]{box-shadow:inset 0 0 0 1px rgba(92,74,56,.16)}
.management-store-row__identity{display:flex;align-items:center;gap:.58rem;min-width:0}
.management-store-row__identity div{display:grid;gap:.12rem;min-width:0}
.management-store-row__identity strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.management-store-row__identity small{font-size:.68rem;color:var(--muted,#756b63)}
.management-state-dot{width:9px;height:9px;border-radius:999px;flex:0 0 auto;background:#8b837a}
.management-state-dot--stable{background:#667a5b}.management-state-dot--watch{background:#b68a4f}.management-state-dot--attention{background:#a75f4f}.management-state-dot--unconfigured{background:#71808c}
.management-store-row__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.42rem}
.management-store-row__stats span{display:grid;gap:.08rem;min-width:0}
.management-store-row__stats b{font-size:.82rem;line-height:1.05}.management-store-row__stats small{font-size:.61rem;color:var(--muted,#756b63);white-space:nowrap}
.management-store-row__arrow{font-weight:900;opacity:.45}
.store-control-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-bottom:.65rem}
.store-control-strip>div{display:grid;gap:.12rem;padding:.62rem .66rem;border:1px solid rgba(92,74,56,.1);border-radius:13px;background:rgba(255,255,255,.58);min-width:0}
.store-control-strip small{font-size:.58rem;letter-spacing:.08em;font-weight:800;color:var(--muted,#756b63)}
.store-control-strip strong{font-size:.94rem;line-height:1.08}.store-control-strip span{font-size:.62rem;color:var(--muted,#756b63)}
@media(max-width:1050px){.management-store-row{grid-template-columns:1fr}.management-store-row__arrow{display:none}.store-control-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.management-store-row__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.store-control-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.management-store-row{padding:.62rem}}


/* 10.9.122 — Management drill-down */
.management-detail-shell{display:grid;gap:.9rem}.management-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.management-detail-header h3{margin:.08rem 0 .16rem;font-size:1.2rem}.management-state-chip{font-size:.68rem;font-weight:850;padding:.38rem .58rem;border-radius:999px;background:rgba(92,74,56,.09);white-space:nowrap}.management-state-chip--attention{background:rgba(154,71,45,.11)}.management-state-chip--watch{background:rgba(177,126,36,.12)}.management-state-chip--unconfigured{background:rgba(120,120,120,.10)}.management-detail-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.management-detail-kpis>div,.management-detail-standards>div{display:grid;gap:.12rem;padding:.64rem .7rem;border:1px solid rgba(92,74,56,.1);border-radius:13px;background:rgba(255,255,255,.55)}.management-detail-kpis strong{font-size:.98rem}.management-detail-kpis span,.management-detail-standards span{font-size:.64rem;color:var(--muted,#756b63)}.management-detail-standards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.management-detail-standards strong{font-size:.88rem}.management-detail-section{margin-top:.15rem}.management-detail-actions{margin-top:-.2rem}@media(max-width:680px){.management-detail-header{display:grid}.management-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.management-detail-standards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 10.9.127 — PWA/mobile interaction hardening */
html{height:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{min-height:100dvh;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;}
button,a,[role="button"],select,input[type="checkbox"],input[type="radio"]{touch-action:manipulation;}
@media (max-width:720px){
  input,select,textarea{font-size:16px;}
  .main-content{min-height:100dvh;}
  .modal{max-height:calc(100dvh - env(safe-area-inset-top,0px));}
}
@media (display-mode:standalone){
  body{min-height:100dvh;}
}
