:root {
  --portal-brand: #16836f;
  --portal-brand-dark: #0e6658;
  --portal-brand-soft: #e9f6f2;
  --portal-ink: #17312c;
  --portal-muted: #667773;
  --portal-line: #dfe8e5;
  --portal-bg: #f3f7f6;
  --portal-white: #fff;
  --portal-danger: #b5473d;
  --portal-shadow: 0 16px 48px rgba(25, 70, 61, .08);
  --portal-radius: 20px;
  --portal-radius-sm: 12px;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--portal-ink); font-family: Inter, "Segoe UI", Tahoma, Arial, sans-serif; background: var(--portal-bg); line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img { display: block; max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.portal-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.portal-header { position: sticky; z-index: 10; top: 0; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--portal-line); box-shadow: 0 3px 18px rgba(20,65,56,.04); backdrop-filter: blur(10px); }
.portal-header__inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.portal-brand, .portal-auth-brand { display: flex; align-items: center; gap: 12px; }
.portal-brand__mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: linear-gradient(145deg, #1b9a82, #116d5d); font-size: 22px; font-weight: 800; box-shadow: 0 8px 20px rgba(22,131,111,.23); }
.portal-brand__copy, .portal-auth-brand > div { display: flex; flex-direction: column; line-height: 1.15; }
.portal-brand__copy strong, .portal-auth-brand strong { font-size: 15px; letter-spacing: .01em; }
.portal-brand__copy small, .portal-auth-brand small { margin-top: 4px; color: var(--portal-muted); font-size: 12px; }
.portal-header__actions { display: flex; align-items: center; gap: 12px; }
.cashier-notification-bell { position:relative; } .cashier-notification-bell summary { position:relative; cursor:pointer; list-style:none; font-size:18px; } .cashier-notification-bell summary::-webkit-details-marker { display:none; } .cashier-notification-bell b { position:absolute; top:-8px; right:-10px; display:grid; min-width:17px; height:17px; place-items:center; border-radius:50%; color:#fff; background:var(--portal-danger); font-size:10px; } .cashier-notification-bell > div { position:absolute; right:0; z-index:20; width:280px; margin-top:10px; padding:8px; border:1px solid var(--portal-line); border-radius:12px; background:#fff; box-shadow:var(--portal-shadow); } .cashier-notification-bell a { display:block; padding:10px; border-radius:8px; } .cashier-notification-bell a:hover { background:var(--portal-brand-soft); } .cashier-notification-bell strong,.cashier-notification-bell small { display:block; } .cashier-notification-bell small,.cashier-notification-bell p { margin:3px 0 0; color:var(--portal-muted); font-size:11px; }
.notification-read-all { width:100%; margin-top:7px; padding:9px; color:var(--portal-brand); background:#f1f8f6; border:0; border-radius:8px; cursor:pointer; font-size:12px; font-weight:800; }
.owner-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.owner-kpi { min-height:126px; padding:19px; border:1px solid var(--portal-line); border-radius:15px; background:#f8fbfa; }
.owner-kpi small,.owner-kpi strong,.owner-kpi span { display:block; }
.owner-kpi small { color:var(--portal-muted); font-weight:800; }
.owner-kpi strong { margin:9px 0 5px; color:var(--portal-brand-dark); font-size:23px; }
.owner-kpi span { color:var(--portal-muted); font-size:12px; }
.metric--blue { border-color:#bdd8f2 !important; background:#edf6ff !important; }
.metric--green { border-color:#b8dfd4 !important; background:#eaf8f3 !important; }
.metric--violet { border-color:#d6caef !important; background:#f5f0ff !important; }
.metric--orange { border-color:#f0d19c !important; background:#fff7e7 !important; }
.metric--red { border-color:#efc2bd !important; background:#fff0ee !important; }
.metric--cyan { border-color:#b8e0e7 !important; background:#eafbfd !important; }
.owner-sales-strip { grid-template-columns:repeat(5,minmax(112px,1fr)); }
.sales-summary { grid-template-columns:repeat(5,minmax(0,1fr)); }
.owner-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.dashboard-panel { min-width:0; padding:22px; border:1px solid var(--portal-line); border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(27,76,66,.06); }
.dashboard-panel--wide { grid-column:span 2; background:linear-gradient(145deg,#fbfffe,#f1f8f6); }
.dashboard-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; }
.dashboard-panel h2 { margin:2px 0 0; font-size:19px; }
.dashboard-panel > header > strong { color:var(--portal-brand-dark); font-size:20px; }
.sales-chart { height:220px; display:grid; grid-template-columns:repeat(7,minmax(34px,1fr)); align-items:end; gap:14px; padding-top:22px; border-bottom:1px solid var(--portal-line); }
.sales-chart__column { height:100%; display:grid; grid-template-rows:20px 1fr 28px; align-items:end; text-align:center; }
.sales-chart__value { color:var(--portal-muted); font-size:10px; font-weight:800; }
.sales-chart__track { height:100%; display:flex; align-items:flex-end; justify-content:center; }
.sales-chart__track span { width:min(42px,72%); min-height:4px; border-radius:8px 8px 2px 2px; background:linear-gradient(180deg,#31b89b,var(--portal-brand)); box-shadow:0 5px 13px rgba(12,133,108,.2); }
.sales-chart__column small { align-self:center; color:var(--portal-muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.dashboard-bars { display:grid; gap:17px; }
.dashboard-bars p { display:flex; justify-content:space-between; gap:12px; margin:0 0 7px; font-size:12px; }
.dashboard-bars p span { font-weight:750; }
.dashboard-bars p strong { color:var(--portal-muted); font-size:11px; }
.dashboard-bar { height:9px; overflow:hidden; border-radius:99px; background:#edf3f1; }
.dashboard-bar span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#15957b,#46c6aa); }
.dashboard-bars--items .dashboard-bar span { background:linear-gradient(90deg,#6653d9,#9b8df0); }
.dashboard-bars--items small { display:block; margin-top:5px; color:var(--portal-muted); font-size:10px; }
.dashboard-empty { display:block!important; padding:22px; border:1px dashed var(--portal-line); border-radius:12px; color:var(--portal-muted); text-align:center; }
.operations-alert-list { display:grid; gap:10px; }
.operations-alert-list > div { display:flex; align-items:center; justify-content:space-between; padding:13px 14px; border-radius:11px; background:#f3f8f6; color:var(--portal-brand-dark); }
.operations-alert-list > div strong { display:grid; place-items:center; min-width:31px; height:31px; border-radius:9px; background:#fff; font-size:16px; }
.operations-alert-list .is-warning { background:#fff3df; color:#a95508; }
.operations-alert-list .is-alert { background:#fff0f0; color:#b52a2a; }
.portal-container:has(.portal-workspace) { width:min(1440px,calc(100% - 24px)); }
.portal-main:has(.portal-workspace) { padding-top:20px; }
.owner-breadcrumb { margin-bottom:8px; }
  .owner-hero { position:relative; min-height:190px; align-items:center; padding:28px 34px; overflow:hidden; background:var(--portal-brand-dark); }
.owner-hero--image { color:#fff; }
.owner-hero--image .portal-eyebrow,.owner-hero--image .portal-lead { color:rgba(255,255,255,.82); }
.owner-hero--image h1 { color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.2); }
.owner-hero__identity { display:flex; align-items:center; gap:18px; }
  .owner-hero__background,.cashier-hero__background { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; background:#edf5f3; }
  .owner-hero__overlay,.cashier-hero__overlay { position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgba(5,35,31,.88),rgba(5,35,31,.42)); }
  .owner-hero__identity,.owner-hero__actions,.cashier-hero__identity,.cashier-hero__actions { position:relative; z-index:1; }
  .owner-hero__logo { width:76px; height:76px; flex:0 0 76px; object-fit:contain; object-position:center; border:3px solid rgba(255,255,255,.82); border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.18); }
.owner-hero__logo--fallback { display:grid; place-items:center; color:#fff; background:var(--portal-brand); font-size:30px; font-weight:900; }
.owner-hero__actions { display:flex; align-items:flex-end; flex-direction:column; gap:14px; }
.owner-hero__section { padding:8px 13px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#fff; background:rgba(4,45,38,.42); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; backdrop-filter:blur(8px); }
.owner-hero:not(.owner-hero--image) .owner-hero__section { color:var(--portal-brand-dark); background:var(--portal-brand-soft); }
.portal-workspace { display:flex; flex-direction:column; }
.portal-workspace>.owner-hero { order:-2; flex:0 0 190px; width:100%; min-height:190px; max-height:190px; }
.portal-workspace>.portal-tabs { order:-1; flex:0 0 auto; }
.portal-workspace>.workspace-head:not(.owner-hero) { align-items:center; padding:16px 24px; gap:18px; border-bottom:1px solid var(--portal-line); background:#fbfdfc; }
.portal-workspace>.workspace-head:not(.owner-hero) h1 { margin:0 0 3px; font-size:20px; }.portal-workspace>.workspace-head:not(.owner-hero) .portal-eyebrow { display:none; }.portal-workspace>.workspace-head:not(.owner-hero) .portal-lead { font-size:11px; }
.owner-section-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 24px; border-bottom:1px solid var(--portal-line); background:#fbfdfc; }.owner-section-actions strong,.owner-section-actions small { display:block; }.owner-section-actions small { margin-top:3px; color:var(--portal-muted); font-size:10px; }
.owner-hero--image .portal-chip { border:1px solid rgba(255,255,255,.32); box-shadow:0 4px 14px rgba(0,0,0,.14); }
.portal-btn--light { color:var(--portal-brand-dark); background:rgba(255,255,255,.94); }
.owner-dashboard-body { display:grid; gap:18px; padding:22px 24px 28px; }
.owner-quick-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.owner-quick-strip article { min-width:0; display:flex; align-items:center; gap:13px; padding:14px 16px; border:1px solid var(--portal-line); border-radius:13px; background:#fbfdfc; }
.owner-quick-strip article.has-attention { border-color:#efd097; background:#fff8eb; }
.owner-quick-strip small,.owner-quick-strip strong,.owner-quick-strip article div>span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.owner-quick-strip small { color:var(--portal-muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.owner-quick-strip strong { margin:3px 0; color:var(--portal-brand-dark); font-size:14px; }
.owner-quick-strip article div>span { color:var(--portal-muted); font-size:10px; }
.owner-icon { width:35px; height:35px; display:grid; flex:0 0 35px; place-items:center; border-radius:10px; color:#166b5a; background:#e8f5f1; font-size:17px; font-style:normal; font-weight:900; }
.owner-icon--green { color:#0c765f; background:#dff5ee; }.owner-icon--violet { color:#6248c7; background:#eee9ff; }.owner-icon--orange { color:#a95508; background:#ffedd0; }
.owner-primary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:stretch; }
.owner-meters,.owner-sales-chart { min-height:330px; }
.owner-meter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.owner-meter-grid>div { position:relative; min-height:72px; padding:10px 8px 8px 47px; border:1px solid var(--portal-line); border-radius:12px; background:#f8fbfa; }
.owner-meter-grid .owner-icon { position:absolute; left:8px; top:50%; width:31px; height:31px; transform:translateY(-50%); }
.owner-meter-grid small,.owner-meter-grid strong,.owner-meter-grid em { display:block; }
.owner-meter-grid small { color:var(--portal-muted); font-size:10px; font-weight:800; }
.owner-meter-grid strong { margin:2px 0; color:var(--portal-brand-dark); font-size:15px; }
.owner-meter-grid em { color:var(--portal-muted); font-size:9px; font-style:normal; }
.owner-sales-chart .sales-chart { height:225px; }
.owner-analysis-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.owner-analysis-grid .dashboard-panel { min-height:270px; }
.owner-setup-panel { padding:18px 20px; }
.owner-setup-panel>header { margin-bottom:14px; }
.owner-setup-links { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
.owner-setup-links a { min-width:0; display:grid; grid-template-columns:32px 1fr; grid-template-rows:auto auto; column-gap:9px; padding:11px; border:1px solid var(--portal-line); border-radius:11px; background:#f8fbfa; }
.owner-setup-links a>span { grid-row:span 2; width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:var(--portal-brand); background:#e5f3ef; font-size:16px; }
.owner-setup-links strong,.owner-setup-links small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.owner-setup-links strong { color:var(--portal-brand-dark); font-size:13px; }.owner-setup-links small { color:var(--portal-muted); font-size:9px; }
.owner-icon svg,.menu-category-card svg,.top-item svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.operations-alert-list>div { display:grid; grid-template-columns:34px 1fr auto; }
.alert-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#187963; background:#fff; font-size:16px; font-weight:900; }
.top-item { display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:10px; }
.top-item__image { width:46px; height:46px; display:grid; place-items:center; overflow:hidden; border-radius:10px; color:#6b5bd2; background:#f0edff; }
.top-item__image img { width:100%; height:100%; object-fit:cover; }
.owner-analysis-grid .dashboard-panel { min-height:250px; padding:18px; }.owner-analysis-grid .dashboard-panel>header { margin-bottom:15px; }
.compact-section-head { padding-block:25px 22px; }.compact-workspace-body { padding:20px 24px 28px; }
.menu-accordion-section { padding:20px; }.menu-accordion { display:grid; gap:11px; }.menu-category-card { overflow:hidden; border:1px solid var(--portal-line); border-radius:14px; background:#fff; }
.menu-category-card>summary { display:grid; grid-template-columns:52px minmax(0,1fr) auto 28px; align-items:center; gap:12px; padding:12px 15px; cursor:pointer; list-style:none; }.menu-category-card>summary::-webkit-details-marker { display:none; }.menu-category-card[open]>summary { border-bottom:1px solid var(--portal-line); background:#f8fbfa; }
.menu-category-card__image { width:52px; height:52px; display:grid; place-items:center; overflow:hidden; border-radius:11px; color:var(--portal-brand); background:#e9f5f2; }.menu-category-card__image img { width:100%; height:100%; object-fit:cover; }.menu-category-card__title strong,.menu-category-card__title small { display:block; }.menu-category-card__title strong { font-size:15px; }.menu-category-card__title small { margin-top:4px; color:var(--portal-muted); font-size:11px; }.menu-category-card__chevron { color:var(--portal-muted); font-size:20px; transition:transform .2s ease; }.menu-category-card[open] .menu-category-card__chevron { transform:rotate(180deg); }
.menu-category-card__body { padding:14px; background:#fbfdfc; }.menu-category-actions { display:flex; justify-content:flex-end; align-items:center; gap:14px; margin-bottom:11px; }.portal-btn--small { min-height:34px; padding:0 12px; font-size:11px; }.menu-category-items { display:grid; gap:8px; }.menu-category-items .menu-record { background:#fff; }
.profile-form,.operations-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }.profile-form>.portal-alert,.profile-form>.sticky-form-actions,.operations-form>.sticky-form-actions { grid-column:1/-1; }.profile-form>.portal-form-section:nth-of-type(2),.profile-form>.portal-form-section:nth-of-type(3),.operations-form>.portal-form-section:nth-of-type(1),.operations-form>.portal-form-section:nth-of-type(2),.operations-form>.portal-form-section:nth-of-type(4) { grid-column:1/-1; }
.portal-form-section__head:has(.section-symbol) { display:flex; align-items:flex-start; gap:12px; }.section-symbol { width:36px; height:36px; display:grid; flex:0 0 36px; place-items:center; border-radius:10px; color:var(--portal-brand); background:#e8f5f1; font-size:18px; font-weight:900; }.field-wide { grid-column:1/-1; }.identity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.media-editor-grid { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(360px,1.3fr); gap:16px; margin-bottom:18px; }.media-editor { display:grid; grid-template-columns:110px minmax(0,1fr); gap:14px; padding:14px; border:1px solid var(--portal-line); border-radius:13px; background:#fbfdfc; }.media-editor--header { grid-template-columns:minmax(210px,.9fr) minmax(200px,1fr); }.media-preview { height:105px; display:grid; place-items:center; overflow:hidden; border:1px dashed #aecbc4; border-radius:11px; color:var(--portal-muted); background:#edf5f3; font-size:11px; }.media-preview img { width:100%; height:100%; object-fit:cover; }.media-editor--logo .media-preview img,.media-editor--header .media-preview img { object-fit:contain; object-position:center; background:#fff; }.media-editor h3 { margin:4px 0 3px; }.media-editor small { color:var(--portal-muted); }.media-editor input[type=file] { width:100%; margin-top:9px; padding:7px; border:1px solid var(--portal-line); border-radius:9px; background:#fff; font-size:11px; }
.brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.brand-color-control { position:relative; }.brand-color-control>input[type=color] { position:absolute; right:8px; bottom:8px; width:34px; height:30px; padding:2px; border:0; border-radius:7px; }.address-grid { display:grid; grid-template-columns:1fr 1fr .55fr 1.4fr .55fr .55fr .55fr; gap:12px; align-items:end; }.map-location-box { margin:18px 0; padding:15px; border:1px solid var(--portal-line); border-radius:13px; background:#f6faf9; }.map-location-box>div:first-child { margin-bottom:12px; }.map-location-box h3,.map-location-box p { margin:0; }.map-location-box p { color:var(--portal-muted); font-size:11px; }.social-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.social-grid>div { padding:12px; border:1px solid var(--portal-line); border-radius:12px; background:#fbfdfc; }
.sticky-form-actions { position:sticky; bottom:8px; z-index:12; margin:4px -8px -10px; border:1px solid var(--portal-line); border-radius:13px; box-shadow:0 12px 35px rgba(24,73,63,.13); }.unsaved-copy { margin-right:auto; color:var(--portal-muted); font-size:11px; }.operations-identity-grid { grid-template-columns:1.25fr 1.25fr .7fr .7fr 1fr; }.sensitive-field { grid-column:span 2; }.sensitive-field>small { display:block; margin-top:5px; color:#a35d14; }.fulfillment-toggle-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.toggle-picture { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:var(--portal-brand); background:#e8f5f1; font-size:17px; }.alert-settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.alert-settings-grid>div { padding:12px; border:1px solid var(--portal-line); border-radius:12px; background:#fbfdfc; }.sound-test-link { padding:0; border:0; background:none; cursor:pointer; }.compact-settings-row { margin-top:14px; }
.portal-nav__link { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border-radius: 999px; color: var(--portal-muted); font-size: 14px; font-weight: 700; }
.portal-nav__link.active { color: var(--portal-brand-dark); background: var(--portal-brand-soft); }
.portal-account { display: flex; align-items: center; gap: 8px; padding-left: 14px; border-left: 1px solid var(--portal-line); }
.portal-account__avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--portal-brand-dark); background: #dcefea; font-weight: 800; }
.portal-account__name { max-width: 140px; overflow: hidden; text-overflow: ellipsis; font-size: 14px; font-weight: 700; }
.portal-logout { min-height: 38px; padding: 0 14px; color: var(--portal-muted); background: transparent; border: 1px solid var(--portal-line); border-radius: 10px; cursor: pointer; font-weight: 700; }
.portal-logout:hover { color: var(--portal-brand-dark); border-color: #a9ccc4; background: var(--portal-brand-soft); }
.portal-main { padding: 42px 0 72px; }

.portal-page-card, .portal-workspace { overflow: hidden; background: var(--portal-white); border: 1px solid var(--portal-line); border-radius: var(--portal-radius); box-shadow: var(--portal-shadow); }
.portal-page-head, .workspace-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding: 36px 40px 30px; }
.portal-page-head { border-bottom: 1px solid var(--portal-line); }
.portal-page-head h1, .workspace-head h1, .portal-auth-copy h1 { margin: 3px 0 8px; font-size: clamp(28px, 4vw, 38px); line-height: 1.15; letter-spacing: -.035em; }
.portal-eyebrow, .portal-kicker { margin: 0; color: var(--portal-brand); font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.portal-lead, .workspace-head p, .portal-auth-copy p { max-width: 680px; margin: 0; color: var(--portal-muted); }
.portal-page-head__count { flex: none; padding: 8px 12px; border-radius: 999px; background: var(--portal-brand-soft); color: var(--portal-brand-dark); font-size: 13px; font-weight: 800; }

.restaurant-list { padding: 30px 40px 40px; display: grid; gap: 18px; }
.restaurant-card { padding: 24px; border: 1px solid var(--portal-line); border-radius: 16px; background: #fff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.restaurant-card:hover { transform: translateY(-2px); border-color: #bad8d1; box-shadow: 0 13px 30px rgba(22,100,85,.08); }
.restaurant-card__main, .restaurant-card__footer, .restaurant-card__identity, .restaurant-card__states, .portal-metrics { display: flex; align-items: center; }
.restaurant-card__main, .restaurant-card__footer { justify-content: space-between; gap: 24px; }
.restaurant-card__identity { gap: 15px; min-width: 0; }
.restaurant-card__icon { width: 52px; height: 52px; flex: none; display: grid; place-items: center; border-radius: 15px; background: #edf7f4; color: var(--portal-brand); font-size: 22px; font-weight: 800; }
.restaurant-card h2 { margin: 2px 0; font-size: 20px; }
.restaurant-card p { margin: 0; color: var(--portal-muted); }
.restaurant-card__states { flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.restaurant-card__footer { padding-top: 21px; margin-top: 21px; border-top: 1px solid #edf1f0; }
.portal-metrics { gap: 10px; }
.portal-metric { min-width: 92px; padding: 10px 13px; border-radius: 11px; background: #f6f9f8; }
.portal-metric strong { display: block; color: var(--portal-brand-dark); font-size: 20px; line-height: 1.1; }
.portal-metric span { display: block; margin-top: 3px; color: var(--portal-muted); font-size: 11px; font-weight: 700; }
.portal-chip { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 10px; border-radius: 999px; white-space: nowrap; font-size: 11px; font-weight: 800; }
.portal-chip--success { color: #126452; background: #e2f4ee; }
.portal-chip--muted { color: #697671; background: #edf1f0; }

.portal-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 18px; border: 1px solid var(--portal-brand); border-radius: 11px; color: #fff; background: var(--portal-brand); cursor: pointer; font-weight: 800; font-size: 14px; transition: .16s ease; }
.portal-btn:hover { border-color: var(--portal-brand-dark); background: var(--portal-brand-dark); transform: translateY(-1px); }
.portal-btn--secondary { color: var(--portal-brand-dark); border-color: #b9d7d0; background: #fff; }
.portal-btn--secondary:hover { color: var(--portal-brand-dark); border-color: #90bdb3; background: var(--portal-brand-soft); }
.portal-btn--block { width: 100%; }
.portal-text-link { color: var(--portal-brand-dark); font-weight: 800; font-size: 13px; }
.portal-text-link:hover { text-decoration: underline; }
.portal-breadcrumb { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px; color: var(--portal-muted); font-size: 14px; font-weight: 700; }
.portal-breadcrumb:hover { color: var(--portal-brand-dark); }

.workspace-head { background: linear-gradient(135deg, #fff 62%, #f0f8f6); }
.workspace-head__states { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.portal-tabs { display: flex; gap: 6px; padding: 0 32px; border-top: 1px solid #edf1f0; border-bottom: 1px solid var(--portal-line); overflow-x: auto; scrollbar-width: thin; }
.portal-tabs a { flex: none; position: relative; padding: 17px 14px; color: var(--portal-muted); font-size: 14px; font-weight: 750; }
.cashier-tabs a span { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:5px; padding:0 6px; border-radius:999px; background:#edf3f1; font-size:11px; }
.cashier-tabs a.active span { color:var(--portal-brand); background:#dff1ea; }
.cashier-search { display:flex; gap:10px; margin-bottom:18px; }
.cashier-search input { min-width:0; flex:1; min-height:42px; padding:9px 12px; border:1px solid var(--portal-line); border-radius:9px; }
.cashier-queue-body { padding-top: 26px; }
.cashier-priority-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:26px; }
.cashier-priority-card { min-width:0; padding:16px; border:1px solid var(--portal-line); border-radius:14px; background:linear-gradient(145deg,#fff,#f4faf8); box-shadow:0 5px 16px rgba(25,70,61,.04); }
.cashier-priority-card strong, .cashier-priority-card span { display:block; }
.cashier-priority-card strong { color:var(--portal-brand-dark); font-size:25px; line-height:1.1; }
.cashier-priority-card span { margin-top:5px; color:var(--portal-muted); font-size:11px; font-weight:750; line-height:1.35; }
.cashier-priority-card--attention { border-color:#f0d1a1; background:#fff8e9; }
.cashier-priority-card--attention strong { color:#9a6512; }
.portal-pagination { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:20px; }
.portal-tabs a:hover { color: var(--portal-brand-dark); }
.portal-tabs a.active { color: var(--portal-brand-dark); }
.portal-tabs a.active::after { position: absolute; right: 10px; bottom: -1px; left: 10px; height: 3px; content: ""; border-radius: 3px 3px 0 0; background: var(--portal-brand); }
.schedule-table-wrap { overflow-x: auto; border: 1px solid var(--portal-line); border-radius: 12px; }
.schedule-table { width: 100%; min-width: 720px; border-collapse: collapse; table-layout: fixed; }
.schedule-table--exceptions { min-width: 920px; }
.schedule-table--closures { min-width: 850px; }
.schedule-table th { padding: 11px 12px; color: var(--portal-muted); background: #f5f8f7; border-bottom: 1px solid var(--portal-line); text-align: left; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.schedule-table td { padding: 12px; border-bottom: 1px solid #edf1f0; vertical-align: middle; }
.schedule-table tbody tr:last-child td { border-bottom: 0; }
.schedule-table .schedule-action { width: 92px; white-space: nowrap; }
.schedule-table .schedule-check { width: 110px; text-align: center; }
.schedule-table input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--portal-brand); }
.schedule-action label { display: inline !important; margin: 0 0 0 5px !important; color: var(--portal-danger) !important; cursor: pointer; font-size: 12px !important; }
.schedule-row-error td { padding: 0 12px 12px; color: var(--portal-danger); background: #fffafa; font-size: 12px; font-weight: 700; }
.schedule-add { margin-top: 14px; }
.alert-sound-tests { margin-top:18px; }
.alert-enable-button { position:fixed; right:20px; bottom:20px; z-index:50; min-height:44px; padding:0 18px; border:0; border-radius:999px; color:#fff; background:var(--portal-brand); box-shadow:0 10px 30px rgba(0,0,0,.2); cursor:pointer; font-weight:800; }
.live-alert-region { position:fixed; top:90px; right:20px; z-index:60; width:min(360px,calc(100vw - 40px)); display:grid; gap:10px; }
.live-alert-toast { display:grid; gap:3px; padding:16px 18px; border:1px solid #9bcfc2; border-radius:14px; background:#fff; box-shadow:0 16px 40px rgba(0,0,0,.16); }
.live-alert-toast span { color:var(--portal-muted); font-size:13px; }
.workspace-body { padding: 30px 36px 38px; }
.summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 28px; }
.summary-grid > div { display: flex; align-items: center; gap: 13px; padding: 18px; border: 1px solid var(--portal-line); border-radius: 14px; background: #fbfdfc; }
.summary-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--portal-brand); background: var(--portal-brand-soft); font-size: 18px; }
.summary-grid strong, .summary-grid small { display: block; }
.summary-grid strong { font-size: 24px; line-height: 1.1; }
.summary-grid small { margin-top: 3px; color: var(--portal-muted); font-weight: 700; }
.workspace-section { margin-top: 22px; padding: 26px; border: 1px solid var(--portal-line); border-radius: 16px; }
.section-head, .subsection-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.section-head { margin-bottom: 22px; }
.section-head h2 { margin: 3px 0 4px; font-size: 22px; }
.section-head p { margin: 0; color: var(--portal-muted); }
.section-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.portal-table-wrap { overflow-x: auto; border: 1px solid var(--portal-line); border-radius: 12px; }
.portal-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.portal-table th { padding: 12px 16px; text-align: left; color: var(--portal-muted); background: #f5f8f7; border-bottom: 1px solid var(--portal-line); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.portal-table td { padding: 15px 16px; border-bottom: 1px solid #edf1f0; font-size: 14px; }
.portal-table tr:last-child td { border-bottom: 0; }
.portal-table tbody tr:hover { background: #fbfdfc; }
.table-action { text-align: right; }
.table-empty { padding: 18px; color: var(--portal-muted); text-align: center; }
.menu-subsection + .menu-subsection { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--portal-line); }
.subsection-head { margin-bottom: 12px; }
.subsection-head h3 { margin: 0; font-size: 16px; }
.subsection-head span { color: var(--portal-muted); font-size: 12px; font-weight: 700; }
.menu-list { display: grid; gap: 10px; }
.menu-record { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 13px; border: 1px solid var(--portal-line); border-radius: 12px; }
.menu-record__media { width: 58px; height: 58px; display: grid; place-items: center; overflow: hidden; border-radius: 10px; color: var(--portal-brand); background: #edf7f4; font-size: 21px; }
.menu-record__media img { width: 100%; height: 100%; object-fit: cover; }
.menu-record__title { display: flex; align-items: center; gap: 10px; }
.menu-record__content p { margin: 3px 0; color: var(--portal-muted); font-size: 13px; }
.menu-record__content small { color: #83908c; }

.portal-form-workspace { max-width: 940px; margin-inline: auto; }
.portal-form-section { padding: 24px; border: 1px solid var(--portal-line); border-radius: 15px; background: #fff; }
.portal-form-section + .portal-form-section { margin-top: 18px; }
.portal-form-section.is-disabled { opacity: .58; }
.portal-form-section__head { margin-bottom: 20px; }
.portal-form-section__head h2 { margin: 0 0 4px; font-size: 19px; }
.portal-form-section__head p { margin: 0; color: var(--portal-muted); font-size: 13px; }
.portal-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.portal-form-grid > div, .portal-field, .portal-media-field { min-width: 0; }
.portal-form label:not(.portal-toggle) { display: block; margin-bottom: 7px; color: #314b45; font-size: 13px; font-weight: 800; }
.portal-form input:not([type="checkbox"]):not([type="color"]), .portal-form select, .portal-form textarea { width: 100%; min-height: 44px; padding: 10px 12px; color: var(--portal-ink); background: #fff; border: 1px solid #cbd9d5; border-radius: 9px; outline: none; }
.portal-form textarea { min-height: 104px; resize: vertical; }
.portal-form input:focus, .portal-form select:focus, .portal-form textarea:focus { border-color: var(--portal-brand); box-shadow: 0 0 0 3px rgba(22,131,111,.12); }
.portal-form input[type="file"] { padding: 8px; background: #f8faf9; }
.portal-form .helptext { display: block; margin-top: 6px; color: var(--portal-muted); font-size: 11px; }
.portal-form .errorlist { margin: 6px 0 0; padding: 0; color: var(--portal-danger); list-style: none; font-size: 12px; font-weight: 700; }
.portal-toggle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.portal-toggle { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid var(--portal-line); border-radius: 11px; cursor: pointer; }
.portal-toggle--wide { grid-column: 1 / -1; }
.portal-toggle input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--portal-brand); }
.portal-toggle strong, .portal-toggle small { display: block; }
.portal-toggle strong { font-size: 13px; }
.portal-toggle small { margin-top: 2px; color: var(--portal-muted); font-size: 11px; line-height: 1.4; }
.portal-toggle--danger { margin-top: 14px; border-color: #efd4d0; background: #fffafa; }
.portal-toggle--danger strong { color: var(--portal-danger); }
.portal-media-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 20px; }
.portal-media-field h3 { margin: 0 0 10px; font-size: 14px; }
.portal-image-preview, .portal-image-placeholder { width: 160px; height: 120px; margin-bottom: 13px; border: 1px solid var(--portal-line); border-radius: 12px; object-fit: cover; }
.portal-image-preview--wide, .portal-image-placeholder--wide { width: 100%; max-width: 360px; }
.portal-image-placeholder { display: grid; place-items: center; color: #899793; background: repeating-linear-gradient(45deg,#f4f7f6,#f4f7f6 8px,#eef3f1 8px,#eef3f1 16px); font-size: 12px; font-weight: 700; }
.portal-color-field { display: grid; grid-template-columns: minmax(0,1fr) 72px; gap: 8px 12px; align-items: end; }
.portal-color-field > div { grid-column: 1; grid-row: 1 / 3; }
.portal-color-field > label { grid-column: 2; margin: 0; font-size: 11px; }
.portal-color-field input[type="color"] { grid-column: 2; width: 72px; height: 44px; padding: 4px; border: 1px solid #cbd9d5; border-radius: 9px; background: #fff; cursor: pointer; }
.form-actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 10px; margin: 24px -36px -38px; padding: 18px 36px; border-top: 1px solid var(--portal-line); background: rgba(255,255,255,.96); backdrop-filter: blur(8px); }
.portal-alert { margin-bottom: 16px; padding: 12px 14px; color: #7b3029; background: #fff0ee; border: 1px solid #efc4bf; border-radius: 10px; font-size: 13px; }
.portal-alert--success { color: #126452; background: #e6f6f1; border-color: #b7ded4; }
.portal-btn--danger { color: #fff; background: var(--portal-danger); border-color: var(--portal-danger); }
.portal-btn--danger:hover { background: #90372f; border-color: #90372f; }
.portal-btn:disabled { cursor: not-allowed; opacity: .5; transform: none; }

.cashier-messages { margin-bottom: 16px; }
.cashier-tabs a span { display: inline-grid; min-width: 22px; min-height: 22px; margin-left: 5px; place-items: center; border-radius: 999px; color: var(--portal-brand-dark); background: var(--portal-brand-soft); font-size: 10px; }
.cashier-queue-section + .cashier-queue-section { margin-top: 28px; }
.cashier-order-table { min-width: 960px; }
.cashier-status--pending_confirmation { color: #7b5714; background: #fff2cf; }
.cashier-status--confirmed, .cashier-status--preparing, .cashier-status--ready, .cashier-status--out_for_delivery { color: #126452; background: #e2f4ee; }
.cashier-status--completed { color: #315b8a; background: #e9f2fc; }
.cashier-status--cancelled { color: #8b3d35; background: #fbe9e7; }
.cashier-detail-grid { display: grid; grid-template-columns: minmax(0, 720px) 320px; justify-content: space-between; gap: 32px; align-items: start; }
.cashier-chat-column { min-width:0; }
.cashier-chat-panel { margin-top:0; padding:22px; background:#f7faf9; }
.cashier-detail-grid .workspace-section:first-child { margin-top: 0; }
.cashier-definition-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0; }
.cashier-definition-grid > div { padding: 13px; border-radius: 10px; background: #f6f9f8; }
.cashier-definition-grid .wide { grid-column: 1 / -1; }
.cashier-definition-grid dt, .cashier-totals dt { color: var(--portal-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.cashier-definition-grid dd, .cashier-totals dd { margin: 4px 0 0; font-weight: 750; }
.cashier-totals { width: min(100%, 340px); margin: 18px 0 0 auto; }
.cashier-totals > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--portal-line); }
.cashier-totals .total { color: var(--portal-brand-dark); font-size: 17px; border-bottom: 0; }
.cashier-actions { position: sticky; top: 100px; }
.cashier-actions .portal-form-section { margin: 0; }
.cashier-cancel-form { padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--portal-line); }
.cashier-cancel-form textarea { margin-bottom: 10px; }
.cashier-action-note { margin: 14px 0 0; color: var(--portal-muted); font-size: 12px; }
.cashier-order-builder #customer-search { margin-bottom:14px; }
.cashier-menu-panel { max-height:58vh; overflow:auto; }
.cashier-menu-panel h3 { margin:18px 0 8px; color:var(--portal-brand-dark); font-size:13px; }
.cashier-menu-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--portal-line); }
.cashier-menu-item:last-child { border-bottom:0; }.cashier-menu-item strong,.cashier-menu-item small { display:block; }.cashier-menu-item small { color:var(--portal-muted); font-size:11px; }.cashier-menu-item .portal-btn { min-width:34px; min-height:34px; padding:0 10px; }
.cashier-handoff-table { min-width:760px; }
.cashier-handoff-row--attention { background:#fffaf0; }
.cashier-handoff-status { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; color:#58706a; background:#edf3f1; font-size:11px; font-weight:800; }
.cashier-handoff-status--waiting { color:#126452; background:#e2f4ee; }
.cashier-handoff-status--attention { color:#965d08; background:#fff0cc; }
.cashier-handoff-status--claimed { color:#315b8a; background:#e9f2fc; }
.cashier-handoff-table small { color:var(--portal-muted); font-size:11px; }
.cashier-conversation-feed { display:grid; gap:12px; max-height:68vh; overflow-y:auto; padding:4px 6px 4px 2px; }
.cashier-message { max-width:86%; padding:13px 15px; border:1px solid #dfe8e5; border-radius:4px 15px 15px 15px; background:#fff; box-shadow:0 3px 10px rgba(25,70,61,.05); }
.cashier-message--staff { justify-self:end; color:#fff; border-color:var(--portal-brand); border-radius:15px 4px 15px 15px; background:linear-gradient(145deg,#1d987f,#137564); }
.cashier-message--agent { justify-self:end; color:#194f78; border-color:#c8deed; border-radius:15px 4px 15px 15px; background:#edf7ff; }
.cashier-message--agent small { color:#5f839e; }
.cashier-message > div { display:flex; justify-content:space-between; gap:16px; font-size:12px; }
.cashier-message small { color:var(--portal-muted); }
.cashier-message--staff small { color:#d7eee8; }
.cashier-message p { margin:5px 0 0; overflow-wrap:anywhere; }
.cashier-enter-hint { margin:0 0 10px; color:var(--portal-muted); font-size:11px; }
.cashier-order-context { margin-bottom:14px; }
.cashier-order-context dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; }
.cashier-order-context dl > div { padding:10px; border-radius:9px; background:#f6f9f8; }
.cashier-order-context .wide { grid-column:1 / -1; }
.cashier-order-context dt { color:var(--portal-muted); font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.cashier-order-context dd { margin:3px 0 0; font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.cashier-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.cashier-timeline li { position: relative; display: grid; grid-template-columns: 14px 1fr; gap: 11px; padding-bottom: 18px; }
.cashier-timeline li:not(:last-child)::before { position: absolute; top: 12px; bottom: 0; left: 5px; width: 2px; content: ""; background: var(--portal-line); }
.cashier-timeline__dot { position: relative; z-index: 1; width: 12px; height: 12px; margin-top: 4px; border: 3px solid #c7e4dd; border-radius: 50%; background: var(--portal-brand); }
.cashier-timeline p { margin: 2px 0 0; color: var(--portal-muted); font-size: 12px; }

.kitchen-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.kitchen-column { min-width: 0; padding: 16px; border: 1px solid var(--portal-line); border-radius: 15px; background: #f7faf9; }
.kitchen-column > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.kitchen-column > header h2 { margin: 0; font-size: 16px; }
.kitchen-column > header p { margin: 2px 0 0; color: var(--portal-muted); font-size: 11px; }
.kitchen-column > header > span { min-width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: var(--portal-brand-dark); background: var(--portal-brand-soft); font-size: 12px; font-weight: 800; }
.kitchen-column--preparing { background: #fffbf1; }
.kitchen-column--ready { background: #f2f8fd; }
.kitchen-ticket-list { display: grid; gap: 11px; }
.kitchen-ticket-card { padding: 15px; border: 1px solid var(--portal-line); border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(25,70,61,.05); }
.kitchen-ticket-card__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 11px; border-bottom: 1px solid #edf1f0; }
.kitchen-ticket-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 12px 0; }
.kitchen-ticket-card dl div { min-width: 0; }
.kitchen-ticket-card dt { color: var(--portal-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.kitchen-ticket-card dd { margin: 2px 0 0; font-size: 12px; font-weight: 750; }
.kitchen-ticket-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 22px; align-items: start; }
.kitchen-ticket-layout .workspace-section:first-child { margin-top: 0; }
.kitchen-production-list { display: grid; gap: 12px; }
.kitchen-production-list article { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 14px; padding: 17px; border: 1px solid var(--portal-line); border-radius: 12px; background: #fbfdfc; }
.kitchen-quantity { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--portal-brand); font-size: 18px; font-weight: 900; }
.kitchen-production-list h3 { margin: 1px 0 5px; font-size: 17px; }
.kitchen-production-list p { margin: 0; color: var(--portal-ink); }
.kitchen-production-list p.muted { color: var(--portal-muted); font-size: 12px; }

.operations-list { display: grid; gap: 18px; padding: 30px 40px 40px; }
.operations-card { padding: 22px; border: 1px solid var(--portal-line); border-radius: 16px; }
.operations-card > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.operations-card h2 { margin: 2px 0 0; font-size: 20px; }
.operations-metrics { display: grid; grid-template-columns: repeat(5, minmax(100px, 1fr)); gap: 9px; }
.operations-metrics > div { padding: 11px; border-radius: 10px; background: #f5f9f8; }
.operations-metrics strong, .operations-metrics span { display: block; }
.operations-metrics strong { color: var(--portal-brand-dark); font-size: 19px; }
.operations-metrics span { margin-top: 2px; color: var(--portal-muted); font-size: 10px; font-weight: 750; }
.operations-metric--value { grid-column: span 2; }
.operations-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.report-grids, .operations-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.report-grids h3 { margin: 0 0 10px; font-size: 14px; }
.report-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.report-chip-list span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; color: var(--portal-muted); background: #f1f6f4; font-size: 11px; font-weight: 750; }
.report-chip-list strong { color: var(--portal-brand-dark); font-size: 13px; }
.operations-feed { display: grid; gap: 9px; }
.operations-feed article { padding: 12px; border: 1px solid var(--portal-line); border-radius: 10px; background: #fbfdfc; }
.operations-feed article strong { font-size: 12px; }
.operations-feed article p { margin: 3px 0 0; color: var(--portal-muted); font-size: 11px; }
.operations-two-column > .workspace-section { margin-top: 22px; }

.portal-empty { padding: 46px 24px; border: 1px dashed #bfd2cd; border-radius: 14px; background: #fbfdfc; text-align: center; }
.portal-empty__icon { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 12px; border-radius: 14px; color: var(--portal-brand); background: var(--portal-brand-soft); font-size: 21px; }
.portal-empty h2, .portal-empty h3 { margin: 0 0 4px; }
.portal-empty p { margin: 0; color: var(--portal-muted); }
.portal-empty--compact { padding: 28px 20px; }
.campaign-copy { color: var(--portal-ink); line-height: 1.7; overflow-wrap: anywhere; }
.campaign-copy p:first-child { margin-top: 0; }
.campaign-copy p:last-child { margin-bottom: 0; }
.campaign-meta { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 0; }
.campaign-meta div { padding: 14px; border-radius: 10px; background: #f5f9f8; }
.campaign-meta dt { color: var(--portal-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.campaign-meta dd { margin: 4px 0 0; font-weight: 750; }
.campaign-archive { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--portal-line); }
.campaign-archive p { margin: 0; color: var(--portal-muted); font-size: 13px; }

.portal-auth-page { min-height: 100vh; background: radial-gradient(circle at 80% 15%, rgba(34,157,132,.18), transparent 30%), linear-gradient(145deg, #edf6f3, #f8faf9 58%, #e9f4f1); }
.portal-auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px; }
.portal-auth-card { width: min(100%, 440px); padding: 38px; background: rgba(255,255,255,.98); border: 1px solid rgba(211,226,222,.95); border-radius: 22px; box-shadow: 0 24px 70px rgba(27,76,66,.13); }
.portal-auth-brand { padding-bottom: 23px; margin-bottom: 28px; border-bottom: 1px solid var(--portal-line); }
.portal-auth-copy { margin-bottom: 24px; }
.portal-auth-copy h1 { font-size: 32px; }
.portal-login-form { display: grid; gap: 17px; }

@media (max-width: 760px) {
  .portal-container { width: min(100% - 24px, 1180px); }
  .portal-header__inner { min-height: auto; padding: 12px 0; align-items: flex-start; }
  .portal-brand__copy strong { font-size: 13px; }
  .portal-brand__copy small { font-size: 11px; }
  .portal-header__actions { flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
  .portal-account { order: -1; padding-left: 0; border-left: 0; }
  .portal-account__name { display: none; }
  .portal-nav__link, .portal-logout { min-height: 34px; padding: 0 11px; font-size: 12px; }
  .portal-main { padding: 22px 0 46px; }
  .portal-page-head, .workspace-head { padding: 26px 22px 22px; flex-direction: column; gap: 14px; }
  .restaurant-list, .workspace-body { padding: 20px; }
  .restaurant-card { padding: 18px; }
  .restaurant-card__main, .restaurant-card__footer { align-items: stretch; flex-direction: column; }
  .restaurant-card__states { justify-content: flex-start; }
  .portal-metrics { display: grid; grid-template-columns: repeat(3, 1fr); }
  .portal-metric { min-width: 0; }
  .restaurant-card__footer .portal-btn { width: 100%; }
  .portal-tabs { padding: 0 12px; }
  .portal-tabs a { padding: 14px 11px; font-size: 13px; }
  .summary-grid { grid-template-columns: 1fr; }
  .workspace-section { padding: 18px; }
  .section-head { align-items: stretch; flex-direction: column; }
  .section-actions .portal-btn { flex: 1; }
  .menu-record { grid-template-columns: 48px minmax(0,1fr); }
  .menu-record__media { width: 48px; height: 48px; }
  .menu-record > .portal-text-link { grid-column: 2; }
  .portal-form-grid, .portal-toggle-grid, .portal-media-grid { grid-template-columns: 1fr; }
  .portal-toggle--wide { grid-column: auto; }
  .schedule-table-wrap { overflow: visible; border: 0; }
  .schedule-table, .schedule-table--exceptions, .schedule-table--closures { min-width: 0; table-layout: auto; }
  .schedule-table thead { display: none; }
  .schedule-table, .schedule-table tbody, .schedule-table tr, .schedule-table td { display: block; width: 100%; }
  .schedule-table tbody { display: grid; gap: 12px; }
  .schedule-table .schedule-form-row { padding: 5px 14px; border: 1px solid var(--portal-line); border-radius: 12px; background: #fbfdfc; }
  .schedule-table .schedule-form-row td { display: grid; grid-template-columns: 120px minmax(0,1fr); align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid #e8efed; }
  .schedule-table .schedule-form-row td:last-child { border-bottom: 0; }
  .schedule-table .schedule-form-row td::before { content: attr(data-label); color: var(--portal-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
  .schedule-table .schedule-check, .schedule-table .schedule-action { width: 100%; text-align: left; }
  .schedule-row-error td { display: block; border: 0; }
  .schedule-add { width: 100%; }
  .form-actions { margin: 24px -20px -38px; padding: 15px 20px; }
  .form-actions .portal-btn { flex: 1; }
  .portal-auth-shell { padding: 18px; }
  .portal-auth-card { padding: 28px 22px; }
  .cashier-detail-grid { grid-template-columns: 1fr; }
  .owner-kpi-grid,.sales-summary { grid-template-columns:1fr 1fr; }
  .owner-dashboard-grid { grid-template-columns:1fr; }
  .dashboard-panel--wide { grid-column:auto; }
  .dashboard-panel { padding:18px; }
  .sales-chart { height:190px; gap:7px; }
  .portal-container:has(.portal-workspace) { width:min(100% - 12px,1440px); }
  .portal-main:has(.portal-workspace) { padding-top:10px; }
  .owner-hero { min-height:180px; padding:22px; align-items:flex-start; }
  .portal-workspace>.owner-hero { flex-basis:180px; min-height:180px; max-height:180px; }
  .owner-hero__identity { align-items:flex-start; }.owner-hero__logo { width:58px; height:58px; flex-basis:58px; border-radius:15px; }
  .owner-hero__actions { align-items:flex-start; }
  .owner-section-actions { align-items:stretch; flex-direction:column; padding:13px 16px; }
  .owner-dashboard-body { padding:14px; }
  .owner-quick-strip,.owner-primary-grid,.owner-analysis-grid { grid-template-columns:1fr; }
  .owner-meters,.owner-sales-chart { min-height:0; }
  .owner-sales-chart .sales-chart { height:210px; }
  .owner-setup-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .owner-meter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-form,.operations-form,.media-editor-grid,.brand-grid,.identity-grid,.address-grid,.social-grid,.alert-settings-grid,.operations-identity-grid { grid-template-columns:1fr; }
  .profile-form>.portal-form-section,.operations-form>.portal-form-section,.sensitive-field,.field-wide { grid-column:auto!important; }
  .media-editor,.media-editor--header { grid-template-columns:80px minmax(0,1fr); }.media-preview { height:80px; }
  .unsaved-copy { display:none; }
  .owner-sales-strip { grid-template-columns:repeat(2,minmax(112px,1fr)); }
  .cashier-priority-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cashier-actions { position: static; }
  .cashier-definition-grid { grid-template-columns: 1fr; }
  .cashier-definition-grid .wide { grid-column: auto; }
  .kitchen-board { grid-template-columns: 1fr; }
  .kitchen-ticket-layout { grid-template-columns: 1fr; }
  .operations-list { padding: 20px; }
  .operations-card > header { align-items: stretch; flex-direction: column; }
  .operations-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operations-metric--value { grid-column: span 2; }
  .operations-summary, .report-grids, .operations-two-column { grid-template-columns: 1fr; }
  .campaign-meta { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .campaign-archive { align-items: stretch; flex-direction: column; }
}

@media (max-width: 430px) {
  .portal-brand__mark { width: 38px; height: 38px; }
  .portal-account { display: none; }
  .portal-metrics { gap: 6px; }
  .portal-metric { padding: 9px; }
  .portal-metric span { font-size: 10px; }
  .restaurant-card__identity { align-items: flex-start; }
  .cashier-priority-strip { grid-template-columns:1fr; }
  .cashier-message { max-width:94%; }
}

/* Unified cashier workspace */
.cashier-workspace { overflow:hidden; }
  .cashier-hero { position:relative; min-height:156px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 30px; overflow:hidden; background:linear-gradient(135deg,#f7fcfa,#eaf5f2); }
.cashier-hero--image { color:#fff; }
.cashier-hero--image .portal-eyebrow,.cashier-hero--image .portal-lead { color:rgba(255,255,255,.82); }
.cashier-hero__identity { display:flex; align-items:center; gap:17px; min-width:0; }
.cashier-hero__identity h1 { margin:2px 0 3px; font-size:28px; }
.cashier-hero__identity p { margin-block:0; }
  .cashier-hero__logo { width:66px; height:66px; flex:0 0 66px; object-fit:contain; object-position:center; background:#fff; border:3px solid rgba(255,255,255,.75); border-radius:18px; box-shadow:0 9px 24px rgba(6,55,46,.18); }
.cashier-hero__logo--fallback { display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#27a98e,#116d5d); font-size:25px; font-weight:900; }
.cashier-hero__actions { display:flex; align-items:center; gap:10px; }
.cashier-hero__new { box-shadow:0 8px 20px rgba(6,68,57,.2); }
.cashier-section-tabs { border-top:1px solid rgba(214,231,226,.75); border-bottom:1px solid var(--portal-line); background:#fff; }
.cashier-section-tabs a { display:flex; align-items:center; gap:7px; }
.cashier-section-tabs a span { display:grid; min-width:20px; height:20px; place-items:center; padding-inline:5px; border-radius:999px; color:#fff; background:#d68122; font-size:10px; }
.cashier-subpage-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; padding:2px 2px 16px; border-bottom:1px solid var(--portal-line); }
.cashier-subpage-head h2 { margin:2px 0 3px; font-size:24px; }
.cashier-subpage-head p { margin:0; color:var(--portal-muted); }
.cashier-priority-strip { grid-template-columns:repeat(5,minmax(0,1fr)); gap:11px; }
.cashier-priority-card { position:relative; min-height:104px; padding:16px 14px 13px 70px; overflow:hidden; border-color:#dce9e5; background:linear-gradient(145deg,#fff,#f4f9f7); }
.cashier-priority-card__icon { position:absolute; top:15px; left:14px; width:44px; height:44px; object-fit:contain; border-radius:12px; filter:drop-shadow(0 5px 8px rgba(28,97,82,.12)); }
.cashier-priority-card strong { font-size:23px; }
.cashier-search--contained,.cashier-period-bar { padding:12px; border:1px solid var(--portal-line); border-radius:13px; background:#f7faf9; }
.cashier-period-bar { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:12px; margin-bottom:14px; }
.cashier-period-bar div { display:grid; gap:5px; }
.cashier-period-bar label { color:var(--portal-muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.cashier-sales-body { display:grid; gap:14px; }
.cashier-sales-body .workspace-section { margin:0; }
.cashier-sales-top-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.cashier-sales-top-grid>.dashboard-panel { height:100%; padding:18px; }
.cashier-sales-top-grid>.dashboard-panel>header { margin-bottom:14px; }
.cashier-sales-top-grid h3,.cashier-payment-panel h3 { margin:2px 0 0; font-size:18px; }
.cashier-sales-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.cashier-sales-metric { min-height:82px; display:flex; align-items:center; gap:10px; padding:10px; border:1px solid #dcebe6; border-radius:13px; background:linear-gradient(145deg,#fff,#f3faf7); }
.cashier-sales-metric:first-child { grid-column:span 2; }
.cashier-sales-metric img { width:49px; height:49px; flex:0 0 49px; object-fit:contain; filter:drop-shadow(0 5px 8px rgba(19,100,83,.12)); }
.cashier-sales-metric span,.cashier-sales-metric strong,.cashier-sales-metric small { display:block; min-width:0; }
.cashier-sales-metric strong { color:var(--portal-brand-dark); font-size:18px; }
.cashier-sales-metric small { color:var(--portal-muted); font-size:10px; font-weight:750; }
.cashier-sales-metric--danger { border-color:#f1d5d2; background:#fff8f7; }
.cashier-sales-metric--danger strong { color:#a63c34; }
.cashier-register-card { background:linear-gradient(145deg,#fff,#f6faf9); }
.cashier-register-card--open { border-color:#b9dfd4; background:linear-gradient(145deg,#fff,#edf9f5); }
.cashier-register-intro { display:flex; align-items:center; gap:16px; padding:10px 12px 16px; border-bottom:1px solid var(--portal-line); }
.cashier-register-intro img { width:105px; height:105px; flex:0 0 105px; object-fit:contain; filter:drop-shadow(0 10px 14px rgba(31,120,97,.14)); }
.cashier-register-intro p { margin:0; color:var(--portal-muted); font-size:12px; }
.cashier-register-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:14px 0; }
.cashier-register-summary div { padding:11px; border-radius:11px; background:rgba(255,255,255,.82); }
.cashier-register-summary small,.cashier-register-summary strong { display:block; }
.cashier-register-summary small { color:var(--portal-muted); font-size:10px; }
.cashier-register-summary strong { margin-top:4px; font-size:13px; }
.cashier-register-open-form { margin-top:14px; }
.cashier-register-open-form>p,.cashier-inline-form>p { margin:0 0 10px; }
.cashier-register-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.cashier-register-actions details>summary { display:flex; justify-content:center; cursor:pointer; list-style:none; }
.cashier-register-actions details>summary::-webkit-details-marker { display:none; }
.cashier-register-actions details[open] { grid-column:1/-1; padding:10px; border:1px solid var(--portal-line); border-radius:12px; background:#fff; }
.cashier-inline-form { margin-top:12px; }
.cashier-payment-panel { padding:17px 19px; }
.cashier-payment-panel>.section-head { margin-bottom:12px; }
.cashier-payment-panel>.section-head>strong { color:var(--portal-brand-dark); font-size:18px; }
.cashier-payment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.cashier-payment-grid article { display:flex; align-items:center; gap:12px; min-height:84px; padding:11px 14px; border:1px solid var(--portal-line); border-radius:13px; background:#fafcfb; }
.cashier-payment-grid img { width:55px; height:55px; flex:0 0 55px; object-fit:contain; border-radius:13px; }
.cashier-payment-grid span,.cashier-payment-grid small,.cashier-payment-grid strong { display:block; }
.cashier-payment-grid small { color:var(--portal-muted); font-size:11px; font-weight:800; }
.cashier-payment-grid strong { margin-top:2px; color:var(--portal-brand-dark); font-size:17px; }
.cashier-form-layout { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr); gap:18px; align-items:start; }
.cashier-form-card { margin:0; box-shadow:0 8px 24px rgba(20,68,58,.05); }
.cashier-form-card--narrow { width:min(820px,100%); margin-inline:auto; }
.cashier-form-card .portal-form>p,.cashier-structured-form>p { display:grid; grid-template-columns:minmax(140px,.38fr) minmax(220px,1fr); align-items:center; gap:10px 18px; margin:0; padding:12px 0; border-bottom:1px solid #edf2f0; }
.cashier-form-card .portal-form>p label { color:#385c55; font-size:12px; font-weight:800; }
.cashier-form-card .portal-form>p .helptext,.cashier-form-card .portal-form>p ul { grid-column:2; }
.cashier-address-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; color:var(--portal-brand-dark); background:var(--portal-brand-soft); font-size:21px; }
.workspace-section--flush { padding:0; overflow:hidden; }
.portal-empty--compact { padding:22px!important; }
.portal-empty--compact h3 { margin:0 0 4px; font-size:15px; }
.portal-empty--compact p { margin:0; }
.cashier-stepper { display:flex; gap:7px; margin:0; padding:0; list-style:none; }
.cashier-stepper li { display:flex; align-items:center; gap:6px; padding:8px 11px; border-radius:999px; color:var(--portal-muted); background:#edf3f1; font-size:11px; font-weight:800; }
.cashier-stepper li.active { color:#fff; background:var(--portal-brand); }
.cashier-menu-category { margin-top:8px; border:1px solid var(--portal-line); border-radius:10px; background:#fbfdfc; }
.cashier-menu-category>summary { display:flex; justify-content:space-between; padding:10px 12px; cursor:pointer; color:var(--portal-brand-dark); font-size:12px; font-weight:850; }
.cashier-menu-category>summary span { color:var(--portal-muted); }
.cashier-menu-category .cashier-menu-item { margin:0 8px 8px; }
.cashier-danger-zone { margin-top:14px; padding-top:12px; border-top:1px solid #f0d4d0; }
.cashier-danger-zone>summary { cursor:pointer; color:var(--portal-danger); font-size:12px; font-weight:800; }
.cashier-danger-zone form { margin-top:12px; }

/* Cashier Orders board — intentionally scoped to the Orders tab only. */
.cashier-orders-page { max-width:1440px; margin-inline:auto; }
.cashier-orders-breadcrumb { margin-bottom:9px; }
.cashier-orders-workspace { overflow:visible; }
.cashier-orders-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 22px; border-bottom:1px solid var(--portal-line); background:linear-gradient(135deg,#f8fcfa,#edf7f4); }
.cashier-orders-header h1 { margin:2px 0 0; font-size:21px; }
.cashier-orders-header .portal-eyebrow { margin:0; }
.cashier-orders-layout { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; }
.cashier-orders-sidebar { display:grid; gap:17px; padding:17px 13px; border-right:1px solid var(--portal-line); background:#fbfdfc; }
.cashier-orders-sidebar section { display:grid; gap:5px; }
.cashier-orders-filter-heading { margin:0 5px 4px; color:var(--portal-muted); font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.cashier-orders-filter { display:grid; grid-template-columns:37px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:48px; padding:6px 8px; border:1px solid transparent; border-radius:11px; color:var(--portal-text); text-decoration:none; }
.cashier-orders-filter:hover { border-color:#cfe3dd; background:#f1f8f5; }
.cashier-orders-filter.is-active { border-color:#a9d8ca; background:#e6f5ef; box-shadow:inset 3px 0 0 var(--portal-brand); }
.cashier-orders-filter img,.cashier-orders-icon { display:grid; width:37px; height:37px; place-items:center; object-fit:contain; border-radius:10px; background:#e6f4ef; color:var(--portal-brand-dark); font-size:21px; }
.cashier-orders-filter span:not(.cashier-orders-icon) { min-width:0; font-size:12px; font-weight:800; line-height:1.25; }
.cashier-orders-filter strong { min-width:22px; color:var(--portal-brand-dark); font-size:12px; text-align:right; }
.cashier-orders-main { min-width:0; padding:20px; }
.cashier-orders-main-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:13px; }
.cashier-orders-main-head p { margin:0; }.cashier-orders-main-head h2 { margin:2px 0 0; font-size:22px; }.cashier-orders-main-head>span { color:var(--portal-muted); font-size:12px; font-weight:800; }
.cashier-orders-search { display:flex; gap:9px; margin-bottom:15px; padding:9px; border:1px solid var(--portal-line); border-radius:13px; background:#f8fbfa; }
.cashier-orders-search input { flex:1; min-width:0; min-height:37px; padding:0 12px; border:1px solid #c9ddd7; border-radius:9px; background:#fff; }
.cashier-orders-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
/* Final Orders-board scanability refinements. */
.cashier-orders-filter img,.cashier-orders-icon { background:#cfece2; color:#075f51; filter:contrast(1.25) saturate(1.25); }
.cashier-order-card>header { align-items:center; min-width:0; padding:9px 10px; }
.cashier-order-card__header { display:grid; gap:5px; }
.cashier-order-card__header-row { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.cashier-order-card__number { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cashier-order-card__status { flex:0 0 auto; white-space:nowrap; }
.cashier-order-card__waiting { color:var(--portal-muted); font-size:10px; font-weight:800; white-space:nowrap; }
.cashier-order-card>header>div { flex-wrap:nowrap; min-width:0; }
.cashier-order-card>header strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cashier-order-card>header span,.cashier-order-card time { white-space:nowrap; }
.cashier-order-card dl div:nth-child(3) dd { display:-webkit-box; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
@media (min-width: 1700px) { .cashier-orders-board { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.cashier-order-card { display:flex; flex-direction:column; min-width:0; padding:14px; border:1px solid #d8e7e2; border-radius:14px; background:#fff; box-shadow:0 5px 16px rgba(20,68,58,.045); }
.cashier-order-card>header { display:flex; align-items:start; justify-content:space-between; gap:8px; padding-bottom:10px; border-bottom:1px solid #edf2f0; }
.cashier-order-card--acceptance>header { background:#fff4d8; }.cashier-order-card--progress>header { background:#eaf3ff; }.cashier-order-card--ready>header { background:#e8f7ef; }.cashier-order-card--attention>header { background:#fff0ef; }.cashier-order-card--completed>header { background:#eff5f2; }.cashier-order-card--cancelled>header { background:#f4eeee; }
.cashier-order-card>header>div { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }.cashier-order-card>header strong { color:var(--portal-brand-dark); font-size:17px; }.cashier-order-card time { color:var(--portal-muted); font-size:10px; font-weight:800; white-space:nowrap; }
.cashier-order-card dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }.cashier-order-card dl div { min-width:0; }.cashier-order-card dt { color:var(--portal-muted); font-size:10px; font-weight:850; text-transform:uppercase; }.cashier-order-card dd { overflow:hidden; margin:3px 0 0; font-size:12px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }.cashier-order-card footer { margin-top:auto; display:flex; justify-content:flex-end; }.cashier-order-card footer form { margin:0; }

@media (max-width: 900px) {
  .cashier-hero { align-items:flex-start; flex-direction:column; padding:22px; }
  .cashier-hero__actions { width:100%; justify-content:space-between; }
  .cashier-priority-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cashier-form-layout { grid-template-columns:1fr; }
  .cashier-subpage-head { align-items:flex-start; flex-direction:column; }
  .cashier-period-bar { grid-template-columns:1fr 1fr; }
  .cashier-period-bar .portal-btn { grid-column:1/-1; }
  .cashier-sales-top-grid { grid-template-columns:1fr; }
  .cashier-orders-layout { grid-template-columns:1fr; }.cashier-orders-sidebar { grid-template-columns:repeat(3,minmax(0,1fr)); border-right:0; border-bottom:1px solid var(--portal-line); }.cashier-orders-board { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .cashier-hero__identity { align-items:flex-start; }
  .cashier-hero__logo { width:52px; height:52px; flex-basis:52px; border-radius:14px; }
  .cashier-hero__identity h1 { font-size:22px; }
  .cashier-hero__identity .portal-lead { display:none; }
  .cashier-hero__actions .portal-chip { display:none; }
  .cashier-hero__new { width:100%; }
  .cashier-orders-header { padding:14px; }.cashier-orders-sidebar { grid-template-columns:1fr; }.cashier-orders-main { padding:14px; }.cashier-orders-board { grid-template-columns:1fr; gap:9px; }.cashier-orders-search { align-items:stretch; flex-direction:column; }.cashier-order-card dl { grid-template-columns:1fr; }
  .cashier-section-tabs { padding-inline:5px; }
  .cashier-section-tabs a { padding:12px 8px; font-size:11px; }
  .cashier-priority-strip,.cashier-period-bar { grid-template-columns:1fr; }
  .cashier-period-bar .portal-btn { grid-column:auto; }
  .cashier-form-card .portal-form>p,.cashier-structured-form>p { grid-template-columns:1fr; }
  .cashier-form-card .portal-form>p .helptext,.cashier-form-card .portal-form>p ul { grid-column:auto; }
  .cashier-stepper li span { display:none; }
  .cashier-sales-metrics,.cashier-payment-grid,.cashier-register-summary { grid-template-columns:1fr; }
  .cashier-sales-metric:first-child { grid-column:auto; }
  .cashier-register-intro img { width:82px; height:82px; flex-basis:82px; }
}
