:root{--portal-green:#16b64f;--portal-dark:#111827;--portal-bg:#f4f6f8;--portal-line:#e5e7eb;--portal-muted:#6b7280;--portal-danger:#d92d20;--portal-warning:#f59e0b}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}input,select,textarea,button{font:inherit;font-size:16px}img{max-width:100%}.mobile-menu{display:none;border:0;background:#111;color:#fff;border-radius:10px;padding:10px 12px;cursor:pointer}.portal-overlay{display:none}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:760px}.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2f7;font-size:12px;font-weight:850}.status-pill.green{background:#eafaf0;color:#087d35}.status-pill.red{background:#fff0ef;color:#b42318}.status-pill.amber{background:#fff7df;color:#935f00}.mobile-card-list{display:grid;gap:12px}.mobile-only{display:none}@media(max-width:850px){.mobile-menu{display:inline-flex;align-items:center;justify-content:center}.layout{display:block!important}.side{position:fixed!important;z-index:1001;left:0;top:0;bottom:0;width:min(84vw,300px)!important;transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto;box-shadow:0 20px 50px rgba(0,0,0,.25);background:#fff!important}.side.open{transform:translateX(0)}.portal-overlay{position:fixed;z-index:1000;inset:0;background:rgba(0,0,0,.45)}.portal-overlay.open{display:block}.main{width:100%;padding:14px!important}.top{gap:12px;align-items:center;flex-wrap:wrap}.top>div:first-child{min-width:0}.top h1{font-size:24px;margin:0}.card{padding:15px!important;border-radius:15px!important}.formgrid,.grid{grid-template-columns:1fr!important}.mobile-only{display:initial}.desktop-only{display:none!important}.hours{grid-template-columns:1fr 1fr!important}.hours strong{grid-column:1/-1}.btn{min-height:44px}.nav{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.nav a{white-space:normal}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{border:1px solid var(--portal-line);border-radius:14px;padding:10px;margin-bottom:12px;background:#fff}.responsive-table td{border:0!important;padding:7px 4px!important}.responsive-table td:before{content:attr(data-label);display:block;color:var(--portal-muted);font-size:11px;font-weight:850;text-transform:uppercase;margin-bottom:3px}.responsive-table th{display:none}}

/* Stable mobile drawer shared by vendor/admin portals. */
.portal-overlay {
  display: none;
  appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
}

@media (max-width: 980px) {
  html.portal-menu-open,
  body.portal-menu-open {
    overflow: hidden !important;
    height: 100%;
  }

  .layout {
    display: block !important;
    min-height: 100vh;
    min-height: 100dvh;
  }

  .side {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(88vw, 330px) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    transform: translate3d(-105%, 0, 0) !important;
    transition: transform .24s ease !important;
    z-index: 10002 !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    pointer-events: auto !important;
    background: #fff !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding-bottom: calc(42px + env(safe-area-inset-bottom)) !important;
  }

  .side.open {
    transform: translate3d(0, 0, 0) !important;
  }

  .portal-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 10001 !important;
    background: rgba(13, 20, 24, .48) !important;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    cursor: pointer;
  }

  .portal-overlay.open {
    display: block !important;
  }

  .side .nav,
  .side .side-actions {
    position: relative;
    z-index: 1;
    pointer-events: auto !important;
  }

  .side .nav a,
  .side .side-actions a {
    display: flex !important;
    align-items: center;
    min-height: 50px;
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(18, 184, 90, .14);
  }

  .side .nav a:active,
  .side .side-actions a:active {
    transform: scale(.985);
  }

  .mobile-menu {
    position: relative;
    z-index: 10;
  }
}

/* 242EAT bright branded background theme */
html{background:#f7fbf8}
body{
  background-color:#f7fbf8 !important;
  background-image:linear-gradient(rgba(255,255,255,.89),rgba(255,255,255,.89)),url('assets/242eat_bright_food_background.webp') !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
body.auth-theme{
  background-image:linear-gradient(rgba(255,255,255,.70),rgba(255,255,255,.70)),url('assets/242eat_bright_food_background.webp') !important;
}
body.auth-theme .box,body.auth-theme .card{
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  box-shadow:0 22px 60px rgba(16,32,23,.13) !important;
}
@media(max-width:850px){body{background-size:auto 100vh !important;background-position:center top !important;background-attachment:scroll !important}}
