/* OrderBite platform UI, 2026-09-25.
 * Presentation-only enhancement over the existing responsive styles.
 * No visibility, positioning, ordering, overflow, pointer-event or control
 * appearance overrides. Existing state classes and restaurant colours win.
 * Screen-only: receipts, invoices, QR exports and print layouts are untouched.
 */
@media screen {
  body.ob-platform-ui {
    --ob-ui-ink: #243b2e;
    --ob-ui-muted: #687369;
    --ob-ui-green: #274735;
    --ob-ui-soft: #eef2e7;
    --ob-ui-line: #dde4da;
    --ob-ui-surface: #ffffff;
    --ob-ui-shadow: 0 5px 22px rgba(35, 63, 49, .045);
    font-family: 'DM Sans', Arial, sans-serif;
  }

  /* Shared workspace canvas; public restaurant branding is deliberately separate. */
  .ob-platform-ui:is(.dashboard-page,.auth-page,.station-page,.influencer-dashboard-page,.influencer-public-page,.marketing-page) {
    background: #f6f7f2;
    color: var(--ob-ui-ink);
  }
  .ob-platform-ui :is(h1,h2,h3) { letter-spacing: -.035em; }
  .ob-platform-ui :is(a,button,input,select,textarea,summary):focus-visible {
    outline: 3px solid #5f833c;
    outline-offset: 3px;
  }
  .ob-platform-ui:not(.customer-menu-page) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=file]):not([type=submit]):not([type=button]),select,textarea) {
    border-color: #cdd7ca;
    border-width: 1px;
    border-radius: 9px;
    background-color: #fff;
    color: #243b2e;
    box-shadow: none;
  }
  .ob-platform-ui:not(.customer-menu-page) :is(input,textarea)::placeholder { color: #7a857b; opacity: 1; }
  .ob-platform-ui:not(.customer-menu-page) :is(input,select,textarea):disabled {
    background-color: #edf0e9;
    color: #788073;
  }
  .ob-platform-ui:not(.customer-menu-page) :is(input,select,textarea)[readonly] { background-color: #f7f8f4; }
  .ob-platform-ui:not(.customer-menu-page) :is(.button,.sa-primary,.sa-secondary,.station-logout,.ifd-payment button) {
    border-radius: 9px;
    box-shadow: none;
    font-weight: 750;
    letter-spacing: 0;
    border-width: 1px;
  }
  .ob-platform-ui:not(.customer-menu-page) :is(.button-dark,.sa-primary) {
    background: var(--ob-ui-green);
    border-color: var(--ob-ui-green);
    color: #fff;
  }
  .ob-platform-ui:not(.customer-menu-page) :is(.button-light,.sa-secondary) {
    background: #fff;
    border-color: #d4ddcf;
    color: var(--ob-ui-ink);
  }
  .ob-platform-ui:not(.customer-menu-page) .button-yellow {
    background: #dafa79;
    border-color: #c4dd86;
    color: #243b2e;
  }
  .ob-platform-ui:not(.customer-menu-page) :is(.button,.sa-primary,.sa-secondary):hover {
    box-shadow: 0 3px 10px rgba(35,63,49,.12);
  }
  .ob-platform-ui :is(button,input[type=submit]):disabled {
    opacity: .55;
    cursor: not-allowed;
  }
  .ob-platform-ui:not(.customer-menu-page) .brand-mark {
    background: #274735;
    color: #dafa79;
    border-color: transparent;
    box-shadow: none;
    border-radius: 11px;
  }
  .ob-platform-ui:not(.customer-menu-page) .brand-name { letter-spacing: -.05em; }
  .ob-platform-ui .flash { border-width: 1px; border-radius: 12px; box-shadow: 0 8px 30px #233f311a; }

  /* Restaurant dashboard and all its tabs. */
  .ob-platform-ui.dashboard-page :is(.dash-main,.platform-main,.sa-main) { background: #f6f7f2; }
  .ob-platform-ui.dashboard-page :is(.dash-sidebar,.platform-sidebar,.sa-sidebar) {
    background: #fff;
    border-color: var(--ob-ui-line);
    box-shadow: none;
  }
  .ob-platform-ui.dashboard-page :is(.dash-sidebar,.platform-sidebar,.sa-sidebar) :is(.brand,.brand-name) { color: #243b2e; }
  .ob-platform-ui.dashboard-page :is(.dash-sidebar nav a,.sa-nav a) {
    border-radius: 9px;
    box-shadow: none;
  }
  .ob-platform-ui.dashboard-page :is(.dash-sidebar nav a,.sa-nav a):not(.active):not(.is-locked) { color: #546252; }
  .ob-platform-ui.dashboard-page :is(.dash-sidebar nav a,.sa-nav a):not(.active):hover {
    background: #f1f4e9;
    color: #243b2e;
  }
  .ob-platform-ui.dashboard-page :is(.dash-sidebar nav a.active,.sa-nav a.active) {
    background: #274735;
    color: #fff;
    border-color: #274735;
    box-shadow: 0 4px 12px #233f3112;
  }
  .ob-platform-ui.dashboard-page :is(.dash-nav-group-label,.sa-nav-label) { color: #788572; letter-spacing: .09em; }
  .ob-platform-ui.dashboard-page :is(.page-heading>div>span,.dash-panel>header>div>span,.quick-start>span) { color: #73815f; }
  .ob-platform-ui.dashboard-page .setup-progress i { background: #648244; }
  .ob-platform-ui.dashboard-page :is(.sidebar-bottom,.sa-sidebar-bottom,.platform-owner-card,.sa-owner) { border-color: var(--ob-ui-line); }
  .ob-platform-ui.dashboard-page :is(.dash-topbar,.platform-topbar,.sa-topbar) {
    background: #fff;
    border-color: var(--ob-ui-line);
    box-shadow: 0 2px 10px #233f3104;
  }
  .ob-platform-ui.dashboard-page :is(.mobile-menu-button,.sa-menu-toggle) {
    background: #f4f6ef;
    border-color: #d4ddcf;
    border-radius: 8px;
    color: #274735;
  }
  .ob-platform-ui.dashboard-page :is(.page-heading h1,.sa-page-title h1) { color: #243b2e; letter-spacing: -.045em; }
  .ob-platform-ui.dashboard-page :is(.page-heading>p,.page-heading>div>p,.sa-page-title p) { color: #687369; }
  .ob-platform-ui.dashboard-page :is(.dash-panel,.sa-panel,.sa-form-card,.staff-restaurant-card,.verification-card,.locked-feature-card,.owner-rule-card,.business-launch-card,.delivery-order-card,.order-delivery-card,.integration-credentials-card,.sa-business-card,.sa-staff-card,.sa-sub-card,.sa-verification-card,.sa-price-card,.sa-gateway-card,.sa-repair-card,.sa-money-card,.sa-transfer-card,.sa-private-plan-card) {
    border-color: var(--ob-ui-line);
    border-width: 1px;
    border-radius: 14px;
    box-shadow: var(--ob-ui-shadow);
  }
  .ob-platform-ui.dashboard-page :is(.dash-panel,.sa-panel,.sa-form-card,.staff-restaurant-card,.sa-business-card,.sa-staff-card,.sa-sub-card) { background-color: #fff; }
  .ob-platform-ui.dashboard-page :is(.dash-panel>header,.sa-section-head,.sa-sub-card-head,.delivery-order-meta) { border-color: var(--ob-ui-line); }
  .ob-platform-ui.dashboard-page :is(.metric-grid>article,.business-metrics>article,.attendance-metrics>article,.cashbook-metrics>article,.sa-kpis>article,.sa-secondary-kpis>a,.sa-secondary-kpis>article,.order-sales-window-grid>article) {
    border-width: 1px;
    border-color: var(--ob-ui-line);
    border-radius: 14px;
    box-shadow: var(--ob-ui-shadow);
  }
  .ob-platform-ui.dashboard-page .metric-grid>article:not(.metric-red) { background: #fff; color: #243b2e; }
  .ob-platform-ui.dashboard-page .metric-grid>article.metric-red { background: #274735; color: #fff; border-color: #274735; }
  .ob-platform-ui.dashboard-page .metric-red :is(small,p) { color: #d8e5d1; }
  .ob-platform-ui.dashboard-page :is(.metric-grid,.business-metrics,.sa-kpis) strong { font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
  .ob-platform-ui.dashboard-page :is(.feed-list>div,.verification-meta,.business-stats,.sa-business-stats,.recent-pos-card,.sa-table>div,.order-row-v2) { border-color: #e4e9e0; }
  .ob-platform-ui.dashboard-page :is(.panel-empty,.sa-empty,.growth-empty) { color: #788171; }
  .ob-platform-ui.dashboard-page :is(.plan-usage,.billing-note,.assisted-setup-banner,.prepared-trial-banner,.sa-note,.sa-context-pill,.internal-ops-banner) {
    border-color: #dbe3cb;
    border-radius: 11px;
    box-shadow: none;
  }
  .ob-platform-ui.dashboard-page :is(.assisted-setup-banner,.plan-usage,.sa-note) { background: #edf2e4; color: #33482e; }
  .ob-platform-ui.dashboard-page :is(.setup-dropzone,.permission-fieldset,.language-section,.sa-copy-field,.sa-credential-field,.sa-control-drawer,.sa-access-drawer) {
    border-color: #d8e1d0;
    border-radius: 11px;
    box-shadow: none;
  }
  .ob-platform-ui.dashboard-page :is(.orders-table,.sa-table-wrap,.growth-table-wrap) { border-color: #dde4da; border-radius: 11px; }
  .ob-platform-ui.dashboard-page :is(th,.sa-table .head,.orders-table .table-head,.sa-customer-table .head) {
    background-color: #f1f4ec;
    color: #586751;
    border-color: #dce4d6;
  }
  .ob-platform-ui.dashboard-page td { border-color: #e3e9df; }
  .ob-platform-ui.dashboard-page :is(.order-code,.sa-business-ref) { font-variant-numeric: tabular-nums; }
  .ob-platform-ui.dashboard-page :is(.order-view-tabs a,.order-view-tabs button,.business-tabs a,.sa-filter) { border-radius: 8px; box-shadow: none; }
  .ob-platform-ui.dashboard-page :is(.order-view-tabs .active,.business-tabs a.active) { background: #274735; border-color: #274735; color: #fff; }
  .ob-platform-ui.dashboard-page :is(.status,.platform-status,.sa-role-badge,.sa-plan-chip,.sa-billing-chip) { border-radius: 20px; box-shadow: none; }
  /* Keep destructive actions and order/payment statuses semantically distinct. */
  .ob-platform-ui.dashboard-page :is(.danger-button,.sa-danger-button,.sa-danger,.reject-button,.sa-reject) { color: #9c2925; border-color: #efc6c3; background-color: #fff0ee; box-shadow: none; }

  /* Sign-in, onboarding, password recovery and verification. */
  .ob-platform-ui.auth-page :is(.auth-card,.verify-card,.demo-access-card) {
    border: 1px solid #dce4d6;
    border-radius: 20px;
    box-shadow: 0 16px 55px #233f310d;
    background: #fff;
  }
  .ob-platform-ui.auth-page .auth-copy {
    background: #274735;
    color: #fff;
    border-color: #274735;
  }
  .ob-platform-ui.auth-page .auth-copy :is(h1,h2) { color: #fff; line-height: 1.06; letter-spacing: -.05em; }
  .ob-platform-ui.auth-page .auth-copy p { color: #d4dfcc; line-height: 1.8; }
  .ob-platform-ui.auth-page .auth-copy .eyebrow { color: #dafa79; }
  .ob-platform-ui.auth-page .auth-copy .eyebrow i { background: #dafa79; box-shadow: 0 0 0 4px #ffffff15; }
  .ob-platform-ui.auth-page .auth-form { background: #fff; }
  .ob-platform-ui.auth-page :is(.auth-field-note,.auth-switch,.auth-forgot) { color: #687369; }
  .ob-platform-ui.auth-page :is(.auth-switch a,.auth-forgot a) { color: #355c32; text-decoration: underline; text-underline-offset: 3px; }
  .ob-platform-ui.auth-page .plan-picker label>span { border-width: 1px; border-color: #dce3d5; border-radius: 10px; box-shadow: none; }
  .ob-platform-ui.auth-page .plan-picker input:checked+span { background: #edf3e1; border-color: #749548; color: #263d2a; box-shadow: 0 0 0 1px #749548; }
  .ob-platform-ui.auth-page :is(.billing-note,.geo-pricing-note) { border-color: #dce4d0; background: #f2f5eb; color: #4e6044; border-radius: 10px; box-shadow: none; }

  /* Staff workstations: counters, kitchen queues, attendance and cashbook. */
  .ob-platform-ui.station-page :is(.station-topbar,.station-userbar) {
    border-color: #dce4d6;
    background: #fff;
    color: #243b2e;
    box-shadow: var(--ob-ui-shadow);
  }
  .ob-platform-ui.station-page :is(.station-userbar,.station-login-card,.pos-products-panel,.pos-cart-panel,.station-recent,.station-money-panel,.station-attendance-panel,.station-shift-lock) {
    border-width: 1px;
    border-color: #dce4d6;
    border-radius: 14px;
    box-shadow: var(--ob-ui-shadow);
  }
  .ob-platform-ui.station-page :is(.station-login-card,.pos-products-panel,.pos-cart-panel,.station-recent) { background-color: #fff; }
  .ob-platform-ui.station-page .station-login-copy { background: #274735; color: #fff; border-color: #274735; }
  .ob-platform-ui.station-page .station-login-copy :is(p,small) { color: #d8e4d0; }
  .ob-platform-ui.station-page .station-login-copy h1 { color: #fff; }
  .ob-platform-ui.station-page :is(.station-userbar nav a,.pos-category-rail button,.pos-service-tabs span,.pos-quick-cash button) { border-radius: 8px; box-shadow: none; }
  .ob-platform-ui.station-page :is(.station-userbar nav a.active,.pos-category-rail button.active) { background: #274735; color: #fff; border-color: #274735; }
  .ob-platform-ui.station-page :is(.pos-touch-header,.pos-bill-head,.pos-totals,.pos-payment,.pos-service-block) { border-color: #dce4d6; }
  .ob-platform-ui.station-page .pos-product { background: #fff; border-color: #dce4d6; border-width: 1px; border-radius: 11px; box-shadow: none; }
  .ob-platform-ui.station-page .pos-product:hover { border-color: #81966b; box-shadow: 0 4px 16px #233f3110; }
  .ob-platform-ui.station-page .pos-tap-add { background: #eaf0df; color: #3c5c2e; border-radius: 7px; }
  .ob-platform-ui.station-page .pos-product-thumb { border-radius: 9px; }
  .ob-platform-ui.station-page :is(.pos-charge-button,.pos-dialog-add-v3) { background: #274735; border-color: #274735; color: white; border-radius: 10px; box-shadow: none; }
  .ob-platform-ui.station-page :is(.pos-option-dialog,.pos-option-dialog-v3) { border-color: #dce4d6; border-radius: 16px; box-shadow: 0 20px 70px #16291d33; }
  .ob-platform-ui.station-page .kitchen-ticket { border-radius: 14px; box-shadow: 0 4px 20px #233f3108; }
  .ob-platform-ui.station-page .kitchen-items { border-color: #dce4d6; }
  .ob-platform-ui.station-page .kot-topbar { border: 1px solid #dce4d6; border-radius: 14px; box-shadow: var(--ob-ui-shadow); }
  .ob-platform-ui.station-page .kot-lane { border-inline-color: #dce4d6; border-bottom-color: #dce4d6; border-radius: 14px; box-shadow: none; }
  .ob-platform-ui.station-page .kot-summary>div { border-top-color: #dce4d6; border-right-color: #dce4d6; border-bottom-color: #dce4d6; box-shadow: none; }
  .ob-platform-ui.station-page .pos-grand { font-variant-numeric: tabular-nums; }

  /* Partner portal and partner application. */
  .ob-platform-ui.influencer-dashboard-page .ifd-side { border-color: #dce4d6; background: #243b2e; }
  .ob-platform-ui.influencer-dashboard-page .ifd-ref-link { background: #edf3e3; }
  .ob-platform-ui.influencer-dashboard-page :is(.ifd-panel,.ifd-balances>article,.ifd-ref-link,.ifd-payment) {
    border-color: #dce4d6;
    border-width: 1px;
    border-radius: 14px;
    box-shadow: var(--ob-ui-shadow);
  }
  .ob-platform-ui.influencer-dashboard-page .ifd-balances .dark { background: #274735; color: white; }
  .ob-platform-ui.influencer-dashboard-page .ifd-balances .dark :is(small,p) { color: #d8e5d1; }
  .ob-platform-ui.influencer-dashboard-page :is(.ifd-top,.ifd-table>div) { border-color: #dce4d6; }
  .ob-platform-ui.influencer-dashboard-page .ifd-empty { color: #6e7b66; }
  .ob-platform-ui.influencer-public-page :is(.ifp-form,.ifp-login-form,.ifp-model-card,.ifp-ledger-demo,.ifp-terms-summary,.ifp-how article) {
    border-width: 1px;
    border-color: #dce4d6;
    border-radius: 16px;
    box-shadow: var(--ob-ui-shadow);
  }
  .ob-platform-ui.influencer-public-page :is(.ifp-login-copy,.ifp-apply-copy) { border-color: #dce4d6; }
  .ob-platform-ui.influencer-public-page .ifp-hero-copy { background: #274735; border-color: #274735; border-width: 1px; border-radius: 20px; box-shadow: var(--ob-ui-shadow); }
  .ob-platform-ui.influencer-public-page .ifp-hero-copy h1 em { color: #dafa79; }
  .ob-platform-ui.influencer-public-page .ifp-model-card { background: #edf3e3; }

  /* Other marketing pages keep their content, images and industry accents. */
  .ob-platform-ui.marketing-page :is(.public-nav .nav-cta,.niche-demo-order) { box-shadow: none; border-radius: 9px; }
  .ob-platform-ui.marketing-page :is(.niche-menu-demo,.niche-feature-grid article,.niche-photo-grid figure,.niche-app-band,.niche-final,.seo-list-card,.seo-flow article,.seo-final) {
    border-width: 1px;
    border-color: #dce4d6;
    border-radius: 16px;
    box-shadow: var(--ob-ui-shadow);
  }
  .ob-platform-ui.marketing-page :is(.niche-faq details,.seo-faq details) { border-color: #dce4d6; border-radius: 10px; box-shadow: none; }

  /* Customer menu: retain restaurant-selected colours, all layout and state rules. */
  .ob-platform-ui.customer-menu-page :is(.product-card,.restaurant-hero-banner,.menu-social-section,.menu-pwa-inline,.shop-hours-card) {
    border-width: 1px;
    border-radius: 16px;
    box-shadow: 0 5px 22px rgba(23,18,14,.055);
  }
  .ob-platform-ui.customer-menu-page .product-card { border-color: rgba(100,100,100,.2); }
  .ob-platform-ui.customer-menu-page :is(.menu-search,.cart-lines>article,.config-group,.config-option,.floating-cart,.menu-brand .brand-mark,.ob-cart-added-toast) {
    border-width: 1px;
    box-shadow: 0 3px 14px rgba(23,18,14,.06);
  }
  .ob-platform-ui.customer-menu-page .cart-drawer>header { border-bottom-width: 1px; }
  .ob-platform-ui.customer-menu-page .cart-lines>article { border-color: rgba(100,100,100,.2); border-radius: 12px; }
  .ob-platform-ui.customer-menu-page .menu-search { border-radius: 12px; }
  .ob-platform-ui.customer-menu-page .cart-header-back { font-size: 11px; }
  .ob-platform-ui.customer-menu-page .cart-header-back b { font-size: 10px; }
  .ob-platform-ui.customer-menu-page .choice-option { border-width: 1px; border-radius: 10px; box-shadow: none; }
  .ob-platform-ui.customer-menu-page .choice-option.selected { border-width: 2px; }
  .ob-platform-ui.customer-menu-page .product-content h3 { letter-spacing: -.025em; }
  .ob-platform-ui.customer-menu-page :is(.product-content footer button,.cart-trigger,.category-tabs button,.category-tabs a,.button) {
    border-width: 1px;
    border-radius: 10px;
    box-shadow: none;
  }
  .ob-platform-ui.customer-menu-page .category-tabs :is(button,a) { border-radius: 24px; }
  .ob-platform-ui.customer-menu-page :is(.menu-search input,.checkout-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.checkout-form textarea,.checkout-form select,.coupon-entry input) {
    border-width: 1px;
    border-radius: 10px;
    box-shadow: none;
  }
  .ob-platform-ui.customer-menu-page :is(.config-modal,.cart-drawer) { box-shadow: 0 20px 80px rgba(23,18,14,.18); }
  .ob-platform-ui.customer-menu-page :is(.cart-totals,.coupon-box,.upsell-box,.whatsapp-preview,.order-destination-preview) { border-width: 1px; border-radius: 12px; box-shadow: none; }
  .ob-platform-ui.customer-menu-page :is(.menu-price-wrap,.cart-totals b,.config-add b) { font-variant-numeric: tabular-nums; }
  .ob-platform-ui.customer-menu-page :is(.config-quantity,.cart-line-quantity,.fulfilment-picker span) { border-width: 1px; border-radius: 9px; box-shadow: none; }
  .ob-platform-ui.customer-menu-page :is(a,button,input,select,textarea,summary):focus-visible { outline-color: var(--restaurant-primary,#274735); }
}
