/* Application shell: neutral workspace, compact toolbar, persistent status bar. */
@media screen {
 :root { --app-bg:#eef1f4; --app-bg-2:#eef1f4; --app-border:#dce2e7; --app-border-strong:#bdc9d1; --app-surface-2:#f6f8fa; --app-shadow:0 1px 3px #142b3710; --app-shadow-soft:0 1px 2px #142b370a; }
 .app-body { background:#eef1f4; font-family:"Segoe UI",system-ui,sans-serif; font-size:14px; padding-bottom:34px; }
 .app-body::before { display:none; }
 .app-main { max-width:none; padding-left:24px; padding-right:24px; }
 main.app-main { padding-top:20px !important; padding-bottom:24px !important; }
 .app-navbar.food-navbar { background:#172f36; border:0; border-bottom:1px solid #10292f; box-shadow:none; padding:8px 0; }
 .food-navbar .app-brand-mark { background:#fff; border-radius:8px; width:42px; height:42px; padding:3px; overflow:hidden; }
 .food-navbar .app-brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
 .food-navbar .app-brand-text { color:#fff; font-size:15px; letter-spacing:-.02em; }
 .food-navbar .app-brand-copy { gap:4px; }
 .food-navbar .app-brand-copy small { color:#b4c6c9; font-size:9px; }
 .food-navbar .app-quick { color:#d9e5e8; border-radius:5px; min-height:38px; }
 .food-navbar .app-quick:hover, .food-navbar .app-quick:focus-visible { background:#29464d; color:#fff; }
 .food-navbar .app-quick.active { background:#304e55; color:#fff; border-color:#47636a; }
 .food-navbar .app-quick-primary, .food-navbar .app-quick-primary.active { background:#198262; color:#fff; border-color:#198262; }
 .food-navbar .app-nav-right { border-color:#3d535a; }
 .food-navbar .app-cash-chip { background:#243f42; color:#daf4e4; border-color:#41615a; border-radius:5px; min-height:32px; }
 .food-navbar .app-cash-chip.is-closed { color:#ffe3b4; background:#493e2d; border-color:#7d6849; }
 .food-navbar .app-user-trigger, .food-navbar .app-user-name { color:#e4edef; }
 .food-navbar .navbar-toggler { background:#e4edef; border:0; }
 .food-navbar .dropdown-menu { border-radius:6px; box-shadow:0 8px 24px #10283026; }
 .app-panel { border-color:#dce2e7; border-radius:6px; box-shadow:0 1px 3px #142b370a; background:#fff; }
 .app-panel h1, .app-panel h2, .food-sale-heading h1 { font-weight:600; }
 .food-sale-heading { margin-bottom:14px; }
 .food-sale-heading p { font-size:13px; color:#63757e; }
 .food-sale-heading h1 { font-size:23px; }
 .table { --bs-table-border-color:#e5eaee; }
 .table thead th, .table-light { background:#f2f5f7; color:#53636d; border-color:#dce2e7; }
 .table thead th { font-size:11px; font-weight:650; letter-spacing:.025em; }
 .form-control, .form-select, .input-group-text { border-color:#c9d3da; border-radius:5px; }
 .form-control:focus, .form-select:focus { border-color:#26846a; box-shadow:0 0 0 3px #19826218; }
 .btn { border-radius:5px; font-weight:600; }
 .btn-primary { --bs-btn-bg:#17745b; --bs-btn-border-color:#17745b; --bs-btn-hover-bg:#115b47; --bs-btn-hover-border-color:#115b47; --bs-btn-active-bg:#115b47; --bs-btn-active-border-color:#115b47; --bs-btn-disabled-bg:#17745b; --bs-btn-disabled-border-color:#17745b; }
 .food-sale-layout .sale-summary { background:#fff !important; border-top:3px solid #17745b; }
 .food-sale-layout .sale-total-box { background:#173e36; border-radius:5px; }
 .selected-client-card { background:#f5f8f9; border-color:#dce2e7; border-radius:5px; }
 .food-sale-layout .sale-search-panel .input-group-lg > .form-control { font-size:17px; }
 .food-sale-layout .sale-search-panel .form-label { font-size:13px; font-weight:600; }
 .food-sale-layout .client-payment-mode { border-radius:5px; }
 .food-action-grid { gap:12px; }
 .food-action { padding:20px; border-radius:6px; gap:8px; box-shadow:0 1px 2px #142b370a; }
 .food-action strong { font-size:16px; font-weight:600; }
 .food-action span { font-size:13px; }
 .app-footer { position:fixed; bottom:0; left:0; right:0; z-index:100; padding:7px 0; background:#e5ebef; border-top:1px solid #d1dae0; color:#526771; font-size:11px; }
 .app-footer .app-main { padding-top:0; padding-bottom:0; }
 .food-desktop-status { display:flex; align-items:center; gap:6px; }
 .food-desktop-status::before { content:""; width:6px; height:6px; border-radius:50%; background:#198262; }
 @media (min-width:1200px) and (min-height:600px) {
  .food-sale-layout .sale-summary { top:78px; max-height:calc(100dvh - 190px); }
  .food-cart-scroll { max-height:calc(100dvh - 310px); }
 }
 @media (max-width:1199.98px) { .food-navbar .app-nav-right { border-color:#3d535a; } }
 @media (max-width:575.98px) {
  .app-main { padding-left:12px; padding-right:12px; }
  .food-navbar .app-brand-text { font-size:13px; }
  .food-navbar .app-brand-mark { width:34px; height:34px; }
  .app-footer { font-size:10px; }
 }
}

/* Un prix absent est signalé directement dans le champ de vente. */
.food-sale-layout input.sale-price-missing {
    border: 2px solid #d32f2f;
    background-color: #fff0f0;
    color: #b71c1c;
}
.food-sale-layout input.sale-price-missing:focus {
    border-color: #c62828;
    background-color: #fff0f0;
    box-shadow: 0 0 0 .18rem rgba(211, 47, 47, .16);
}
