/* =========================================================
   Mall Prism Admin — v2
   - Segoe UI font stack (system font, no network request)
   - Global search bar in sticky top header
   - No-shake: stable scrollbar gutter + overflow-anchor
   - Full viewport width layout
   - Wider mobile sidebar with larger touch targets
   ========================================================= */

   /* =========================================================
      RESET & CSS VARIABLES
      ========================================================= */
   
   *, *::before, *::after {
     box-sizing: border-box;
    margin: 0;
    padding: 0;
}

@font-face {
    font-family: "Segoe UI";
    src: local("Segoe UI"), local("SegoeUI"),
         url("/fonts/segoeui.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

   :root {
    --font-base: "Segoe UI", sans-serif;
     --font-mono: 'Cascadia Code', 'SF Mono', 'Fira Code', 'Consolas', 'Courier New', monospace;
   
     /* Brand */
    --brand-purple:   #334155;
    --brand-teal:     #4F8FB8;
   --brand-gradient: #121A26;
   
     /* Buttons */
    --btn-primary-bg:      #2D4A63;
    --btn-primary-hover:   #243B50;
    --btn-secondary-bg:    #1E293B;
    --btn-secondary-hover: #0F172A;
    --btn-edit-bg:         #EEF2F7;
    --btn-edit-text:       #1E293B;
    --btn-edit-border:     #CBD5E1;
    --btn-danger-bg:       #FDF2F2;
    --btn-danger-text:     #B91C1C;
    --btn-danger-border:   #FECACA;
   
     /* Layout */
     --sidebar-width:  240px;
     --header-height:  62px;
     --sidebar-bg:     #ffffff;
     --sidebar-border: #ebebf0;
     --body-bg:        #f4f5f9;
     --card-bg:        #ffffff;
     --card-radius:    10px;
     --card-shadow:    0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
   
     /* Text */
     --text-primary:   #111827;
     --text-secondary: #6b7280;
     --text-muted:     #9ca3af;
   
     /* Inputs */
     --input-border:  #d1d5db;
   --input-focus:   #4F8FB8;
     --input-bg:      #ffffff;
     --input-radius:  7px;
   
     /* Table */
     --table-header-bg: #f9fafb;
     --table-row-hover: #fafbff;
     --table-border:    #e5e7eb;
   
     /* Nav */
   --nav-active-bg:     #D7E7F3;
  --nav-active-text:   #000000;
   --nav-active-border: #4F8FB8;
     --nav-hover-bg:      #f6f7fb;
     --nav-text:          #374151;
   
     /* Status */
     --status-ok-bg:    #ecfdf5;
     --status-ok-text:  #059669;
     --status-warn-bg:  #fffbeb;
     --status-warn-text:#d97706;
   }
   
   /* =========================================================
      BASE — prevent layout shake
      ========================================================= */
   
   html {
     /* THE anti-shake fix: overflow-y:scroll forces the scrollbar
        track to ALWAYS be rendered so page width never shifts when
        navigating between short and tall pages. */
     overflow-y: scroll;
     overflow-x: hidden;
     overflow-anchor: none;
    scrollbar-gutter: stable both-edges;
     height: 100%;
    scroll-behavior: smooth;
   }
   
   body {
    font-family: "Segoe UI", sans-serif;
     font-size: 15px;
     line-height: 1.6;
     color: var(--text-primary);
     background: var(--body-bg);
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
     min-height: 100%;
    overflow-x: hidden;
     /* No overflow on body — overflow-y:scroll on html handles this */
     padding: 0 !important;
     margin: 0 !important;
   }
   
   /* =========================================================
      LAYOUT SHELL
      ========================================================= */
   
   /* Sidebar */
   .sidenav {
     position: fixed;
     top: 0;
     left: 0;
    margin-left: 0 !important;
     width: var(--sidebar-width);
     height: 100vh;
     height: 100dvh;
     background: var(--sidebar-bg);
     border-right: 1px solid var(--sidebar-border);
     display: flex;
     flex-direction: column;
     /* Always reserve scrollbar gutter so inner width never jumps when link count changes */
     overflow-y: scroll;
     overflow-x: hidden;
     scrollbar-gutter: stable;
     z-index: 200;
    transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);
   }
   
   .sidenav::-webkit-scrollbar { width: 4px; }
   .sidenav::-webkit-scrollbar-track { background: transparent; }
   .sidenav::-webkit-scrollbar-thumb { background: #e0e0e6; border-radius: 4px; }
   
   /* Page wrapper */
   .page-container {
     margin-left: var(--sidebar-width);
     min-height: 100vh;
     display: flex;
     flex-direction: column;
    transition: margin-left 0.18s cubic-bezier(0.4, 0, 0.2, 1);
   }

   /* Desktop: sidebar is static — disable transform/margin transitions to avoid any paint jitter on navigation */
   @media (min-width: 1025px) {
     .sidenav,
     .page-container {
       transition: none !important;
     }
   }

   @media (prefers-reduced-motion: reduce) {
     .sidenav,
     .page-container {
       transition: none !important;
     }
     html {
       scroll-behavior: auto;
     }
   }
   
   /* Kill the old ::before pseudo header */
   .page-container::before { display: none !important; }
   
   /* Main content — full width, no artificial cap */
   .main-content {
     flex: 1;
     padding: 26px 28px;
    width: 100%;
     max-width: none;
    overflow-x: hidden;
}

/* =========================================================
      TOP HEADER + GLOBAL SEARCH
      Add this HTML inside every .page-container BEFORE .main-content:
   
      <div class="top-header">
        <div class="top-header-search">
          <svg class="search-icon" viewBox="0 0 20 20" fill="none"
               xmlns="http://www.w3.org/2000/svg">
            <circle cx="8.5" cy="8.5" r="5.5" stroke="#9ca3af" stroke-width="1.5"/>
            <path d="M13 13l3.5 3.5" stroke="#9ca3af" stroke-width="1.5"
                  stroke-linecap="round"/>
          </svg>
          <input type="text" class="global-search-input"
                 placeholder="Global Search..." autocomplete="off"
                 id="global-search">
        </div>
      </div>
   ========================================================= */

   .top-header {
     position: sticky;
     top: 0;
     z-index: 150;
     height: var(--header-height);
     background: var(--card-bg);
     border-bottom: 1px solid var(--table-border);
     display: flex;
    align-items: center;
     padding: 0 28px;
     gap: 16px;
     flex-shrink: 0;
     transform: translateZ(0);
     backface-visibility: hidden;
     -webkit-backface-visibility: hidden;
   }
   
   .top-header-search {
     flex: 1;
     max-width: 460px;
     position: relative;
     display: flex;
     align-items: center;
   }
   
   .top-header-search .search-icon {
     position: absolute;
     left: 12px;
     width: 16px;
     height: 16px;
     pointer-events: none;
     flex-shrink: 0;
   }
   
   .global-search-input {
     width: 100%;
     height: 38px;
     padding: 0 14px 0 38px !important;
     border: 1.5px solid var(--input-border) !important;
     border-radius: 20px !important;
     font-size: 15px !important;
     font-family: var(--font-base) !important;
     background: #f9fafb !important;
     color: var(--text-primary) !important;
     transition: border-color 0.15s, box-shadow 0.15s, background 0.15s !important;
     outline: none !important;
     box-shadow: none !important;
   }
   
   .global-search-input:focus {
     border-color: var(--input-focus) !important;
     background: #ffffff !important;
     box-shadow: 0 0 0 3px rgba(108,92,231,0.1) !important;
   }
   
   .global-search-input::placeholder { color: var(--text-muted); }
   
   .top-header-right {
     margin-left: auto;
     display: flex;
     align-items: center;
     gap: 12px;
   }
   
   .top-header-mall-name {
     font-size: 12.5px;
     font-weight: 500;
     color: var(--text-secondary);
     padding: 4px 12px;
     background: var(--body-bg);
     border-radius: 20px;
     border: 1px solid var(--table-border);
   }
   
   /* =========================================================
      SIDEBAR — Logo & Navigation
      ========================================================= */
   
   /* Gradient logo header — wraps static “Mall Prism” bar + signed-in label (not a dropdown) */
   .sidenav > div:first-child {
     background: var(--brand-gradient);
     padding: 0 !important;
     border-bottom: none !important;
     flex-shrink: 0;
     position: relative;
     width: 100%;
     min-height: calc(var(--header-height) + 2.75rem);
     box-sizing: border-box;
   }

   /*
    * Signed-in email / name: fixed-height text strip only (no menu, no chevron, no focus ring).
    * :first-of-type = first inner div only; keeps rules off any future panels.
    */
   .sidenav > div:first-child > div:first-of-type {
     box-sizing: border-box;
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     height: 2.75rem;
     min-height: 2.75rem;
     max-height: 2.75rem;
     margin: 0;
     padding: 6px 10px;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
     border: none;
     border-radius: 0;
     background: transparent;
     box-shadow: none;
     appearance: none;
     -webkit-appearance: none;
     outline: none;
     cursor: default;
     user-select: text;
     -webkit-user-select: text;
   }

   .sidenav > div:first-child > div:first-of-type:focus,
   .sidenav > div:first-child > div:first-of-type:focus-visible {
     outline: none;
     box-shadow: none;
   }
   
  /* "Mall Prism" logo text */
   .sidenav > div:first-child::before {
    content: 'Mall Prism';
     display: flex;
     align-items: center;
     height: var(--header-height);
     padding: 0 18px;
     color: #ffffff;
     font-size: 16px;
     font-weight: 700;
     font-family: var(--font-base);
     letter-spacing: -0.2px;
     pointer-events: none;
   }
   
   /* User toggle button (username + avatar) */
   #user-menu-toggle {
     width: 100% !important;
     border: none !important;
     background: transparent !important;
     color: rgba(255,255,255,0.95) !important;
     font-size: 15px !important;
     font-weight: 600 !important;
     font-family: var(--font-base) !important;
     text-align: left !important;
     cursor: pointer;
     padding: 10px 18px !important;
     border-radius: 0 !important;
     display: flex !important;
     align-items: center !important;
     gap: 10px;
     transition: background 0.12s;
     line-height: 1.3 !important;
   }
   
   #user-menu-toggle:hover {
     background: rgba(255,255,255,0.15) !important;
   }
   
   /* Avatar circle */
   #user-menu-toggle::before {
     content: '';
     display: inline-block;
     width: 32px;
     height: 32px;
     border-radius: 50%;
     background: rgba(255,255,255,0.28);
     flex-shrink: 0;
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z'/%3E%3C/svg%3E");
     background-size: 18px;
     background-repeat: no-repeat;
     background-position: center;
   }
   
   /* User dropdown */
   #user-menu-dropdown {
     position: absolute !important;
     top: 100% !important;
     left: 0 !important;
     right: 0 !important;
     width: 100% !important;
     z-index: 300 !important;
     background: #ffffff !important;
     border: 1px solid var(--table-border) !important;
     border-top: none !important;
     border-radius: 0 0 10px 10px !important;
     box-shadow: 0 8px 28px rgba(0,0,0,0.12) !important;
     padding: 12px 14px !important;
     text-align: left !important;
   }
   
   #user-menu-dropdown > div {
     color: var(--text-secondary) !important;
     font-size: 12px !important;
     margin-bottom: 8px !important;
     font-family: var(--font-base) !important;
     word-break: break-all;
   }
   
   #user-menu-dropdown a {
     display: block !important;
     padding: 8px 12px !important;
     border: 1px solid var(--input-border) !important;
     border-radius: 7px !important;
     color: var(--text-primary) !important;
     font-size: 14.5px !important;
     font-weight: 500 !important;
     text-decoration: none !important;
     transition: background 0.13s;
     font-family: var(--font-base) !important;
   }
   
   #user-menu-dropdown a:hover {
     background: var(--nav-hover-bg) !important;
     text-decoration: none !important;
   }
   
   /* Mall selector */
   .mall-selector-sidenav {
     padding: 10px 14px !important;
     border-bottom: 1px solid var(--sidebar-border) !important;
     background: #fafbff;
     flex-shrink: 0;
   }
   
   .mall-selector-sidenav select,
   #mall-select-sidenav {
     width: 100% !important;
     padding: 8px 30px 8px 10px !important;
     border: 1px solid var(--input-border) !important;
     border-radius: 7px !important;
     font-size: 14.5px !important;
     font-family: var(--font-base) !important;
     font-weight: 500 !important;
     background-color: #ffffff !important;
     color: var(--text-primary) !important;
     cursor: pointer;
     appearance: none;
     -webkit-appearance: none;
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
     background-repeat: no-repeat !important;
     background-position: right 10px center !important;
     background-size: 12px !important;
     transition: border-color 0.13s;
   }
   
   #mall-select-sidenav:focus {
     outline: none;
     border-color: var(--input-focus) !important;
     box-shadow: 0 0 0 2px rgba(108,92,231,0.1);
   }
   
   /* Nav links */
   .sidenav a {
     display: block;
     padding: 9px 18px;
     color: var(--nav-text) !important;
     text-decoration: none !important;
     font-size: 15px;
     font-weight: 500;
     font-family: var(--font-base);
     border-left: 3px solid transparent;
     transition: background 0.12s, color 0.12s;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     letter-spacing: -0.1px;
   }
   
   .sidenav a:hover {
     background: var(--nav-hover-bg);
     color: var(--text-primary) !important;
     text-decoration: none !important;
   }
   
   /* Active state (PHP outputs inline style="background-color: #e0e0e0; font-weight: 600;") */
  .sidenav a.active,
  .sidenav a[aria-current="page"],
  .sidenav a[style*="background-color: #e0e0e0"],
  .sidenav a[style*="background-color:#e0e0e0"] {
     background: var(--nav-active-bg) !important;
     color: var(--nav-active-text) !important;
     border-left-color: var(--nav-active-border) !important;
     font-weight: 600 !important;
   }
   
   /* Overlay */
   .sidenav-overlay {
     display: none;
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.42);
     z-index: 190;
     backdrop-filter: blur(1px);
     -webkit-backdrop-filter: blur(1px);
   }
   .sidenav-overlay.active { display: block; }

/* =========================================================
      HAMBURGER — bigger on mobile
   ========================================================= */

   .hamburger-menu {
     display: none;
     position: fixed;
     top: 12px;
     left: 14px;
     z-index: 250;
     background: var(--card-bg);
     border: 1.5px solid var(--input-border);
     border-radius: 9px;
     padding: 9px;
     cursor: pointer;
     flex-direction: column;
     gap: 5px;
     width: 42px;
     height: 42px;
     align-items: center;
     justify-content: center;
     box-shadow: 0 2px 8px rgba(0,0,0,0.08);
     transition: box-shadow 0.15s;
   }
   
   .hamburger-menu:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.12); }
   
   .hamburger-menu span {
     display: block;
     width: 20px;
     height: 2px;
     background: var(--text-primary);
     border-radius: 2px;
     transition: transform 0.2s, opacity 0.2s;
     transform-origin: center;
   }
   
   .hamburger-menu.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
   .hamburger-menu.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
   .hamburger-menu.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
   
   /* =========================================================
      TYPOGRAPHY
      ========================================================= */
   
   h1, h2, h3, h4, h5, h6 {
     color: var(--text-primary);
     font-family: var(--font-base);
     font-weight: 700;
     letter-spacing: -0.3px;
     line-height: 1.3;
   }
   
   h1 { font-size: 24px; margin-bottom: 8px; }
   h2 { font-size: 22px; margin-bottom: 8px; text-align: left; }
   h3 { font-size: 18px; margin-bottom: 6px; text-align: left; }
   
   p { margin-bottom: 10px; font-size: 15px; color: var(--text-secondary); }
   a { color: var(--brand-teal); text-decoration: none; }
   a:hover { text-decoration: underline; }
   .muted { font-size: 14px; color: var(--text-muted); }

/* =========================================================
      BUTTONS
   ========================================================= */

   .btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 6px;
     padding: 8px 18px;
     border-radius: 8px;
     border: 1.5px solid transparent;
     font-size: 15px;
     font-weight: 600;
     font-family: var(--font-base);
     cursor: pointer;
     text-decoration: none !important;
     transition: background 0.13s, box-shadow 0.13s, transform 0.08s;
     white-space: nowrap;
     line-height: 1.4;
     letter-spacing: -0.1px;
   }
   
   .btn:hover { text-decoration: none !important; }
   .btn:active { transform: scale(0.97); }
   
   .btn-primary {
     background: var(--btn-primary-bg);
     border-color: var(--btn-primary-bg);
     color: #ffffff !important;
   }
   .btn-primary:hover {
     background: var(--btn-primary-hover);
     border-color: var(--btn-primary-hover);
    box-shadow: 0 4px 14px rgba(36, 59, 80, 0.35);
   }
   
   .btn-secondary {
     background: var(--btn-secondary-bg);
     border-color: var(--btn-secondary-bg);
     color: #ffffff !important;
   }
   .btn-secondary:hover {
     background: var(--btn-secondary-hover);
    box-shadow: 0 4px 14px rgba(15,23,42,0.28);
   }
   
   .btn-edit {
     background: var(--btn-edit-bg);
     border-color: var(--btn-edit-border);
     color: var(--btn-edit-text) !important;
   }
  .btn-edit:hover { background: #E2E8F0; }
   
   .btn-delete {
     background: var(--btn-danger-bg);
     border-color: var(--btn-danger-border);
     color: var(--btn-danger-text) !important;
   }
  .btn-delete:hover { background: #FEE2E2; }
   
   .btn-small {
     padding: 5px 12px;
     font-size: 13.5px;
     border-radius: 6px;
     border-width: 1px;
     width: 74px;
    }

   /* -----------------------------------------------------------------
      Button icons (Unicode) — ::before + label; .btn already uses gap
      ----------------------------------------------------------------- */
   .btn-add::before {
     content: '\2795';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   .btn-primary::before {
     content: '\2713';
     font-size: 1.05em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Logout control (often styled as primary) */
   a#sign-out-link.btn-primary::before {
     content: '\1F6AA';
   }

   .btn-edit::before {
     content: '\270E';
     font-size: 1.05em;
     line-height: 1;
     flex-shrink: 0;
   }

   .btn-delete::before {
     content: '\1F5D1';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Sign out (not trash) */
   #sign-out-confirm.btn-delete::before {
     content: '\1F6AA';
   }

   /* Mis-styled Cancel link that uses btn-delete (default-edit) */
   a.btn.btn-delete[href*='navigation.php']::before {
     content: '\2715';
   }

   /* Password visibility: keep custom glyph in markup, no extra ::before */
   #toggle-manager-password-visibility.btn-secondary::before {
     content: none !important;
     display: none !important;
   }

   /* View (small secondary in grids) */
   .btn.btn-small.btn-secondary:not(#toggle-manager-password-visibility)::before {
     content: '\1F441';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Admin dashboard: open store list */
   #view-stores-button.btn-secondary::before {
     content: '\1F441';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Sign out link styled as secondary (e.g. admin-page) */
   a.btn.btn-secondary[href*='logout']::before {
     content: '\1F6AA';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Preview / open site in new tab (exclude small View buttons, which also use target="_blank") */
   a.btn.btn-secondary[target='_blank']:not(.btn-small)::before {
     content: '\1F310';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Content hub — Edit section (after [target=_blank] so this wins if both apply) */
   a.btn.btn-secondary[href*='content-page.php']::before {
     content: '\270E';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Cancel modal buttons, generic secondary buttons */
   button.btn.btn-secondary::before {
     content: '\2715';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Cancel / Back links (not preview, not content edit, not logout, not edit-form “back to list”) */
   a.btn.btn-secondary:not([target='_blank']):not([href*='content-page.php']):not([href*='logout']):not(.btn-cancel-view)::before {
     content: '\2715';
     font-size: 1em;
     line-height: 1;
     flex-shrink: 0;
   }

   /* Edit pages — Cancel returns to view/list */
   a.btn.btn-secondary.btn-cancel-view::before {
     content: '\2190';
     font-size: 1.15em;
     line-height: 1;
     flex-shrink: 0;
   }

   .btn-add-pill::before {
     content: '+';
     font-weight: 800;
     font-size: 1.1em;
     line-height: 1;
     margin-right: 0.15em;
     flex-shrink: 0;
   }

   .btn-add-pill {
     display: inline-flex;
     align-items: center;
     margin-top: 8px;
     padding: 5px 14px;
     border-radius: 999px;
     cursor: pointer;
     border: none;
     background: var(--brand-teal);
     color: #fff;
     font-size: 11.5px;
     font-weight: 600;
     font-family: var(--font-base);
     letter-spacing: 0.4px;
     text-transform: uppercase;
     transition: background 0.13s, box-shadow 0.13s;
   }
   .btn-add-pill:hover {
     background: var(--btn-primary-hover);
    box-shadow: 0 3px 10px rgba(36, 59, 80, 0.32);
   }
   
   /* =========================================================
      FORMS
      ========================================================= */
   
   label {
     display: block;
     margin-bottom: 5px;
     font-weight: 600;
     font-size: 14px;
     color: var(--text-primary);
   }
   
   input[type="text"],
   input[type="email"],
   input[type="password"],
   input[type="date"],
   input[type="time"],
   input[type="url"],
   input[type="number"],
   input[type="file"],
   select,
   textarea {
     width: 100%;
     padding: 9px 12px;
     border: 1.5px solid var(--input-border);
     border-radius: var(--input-radius);
     font-size: 15px;
     font-family: var(--font-base);
     color: var(--text-primary);
     background: var(--input-bg);
     transition: border-color 0.13s, box-shadow 0.13s;
     line-height: 1.4;
   }
   
   input[type="text"]:focus,
   input[type="email"]:focus,
   input[type="password"]:focus,
   input[type="date"]:focus,
   input[type="time"]:focus,
   input[type="url"]:focus,
   input[type="number"]:focus,
   select:focus,
   textarea:focus {
     outline: none;
     border-color: var(--input-focus);
     box-shadow: 0 0 0 3px rgba(108,92,231,0.1);
   }
   
   select option { font-size: 13px; }
   textarea { resize: vertical; min-height: 90px; }
   
   .grid2 {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 14px 18px;
     margin-bottom: 14px;
   }
   
   .form-group { margin-bottom: 14px; }
   
   @media (max-width: 620px) {
     .grid2 { grid-template-columns: 1fr; }
   }
   
   /* =========================================================
      MESSAGES
      ========================================================= */
   
   .msg {
     padding: 11px 16px;
     border-radius: 8px;
     margin-bottom: 16px;
     font-size: 15px;
     font-weight: 500;
     font-family: var(--font-base);
   }
   
   .msg-success {
     background: var(--status-ok-bg);
     border: 1px solid #a7f3d0;
     color: var(--status-ok-text);
   }
   
   .msg-error {
     background: #fff1f0;
     border: 1px solid #ffc5c5;
     color: var(--btn-danger-text);
   }
   
   /* =========================================================
      DATA TABLES
      ========================================================= */
   
   .list,
   .stores-list {
     background: var(--card-bg);
     border-radius: var(--card-radius);
     border: 1px solid var(--table-border);
    overflow: hidden;
     box-shadow: var(--card-shadow);
   }

   .list.managers-list {
     overflow: visible;
   }
   
   .list-header,
   .stores-list-header {
     display: grid;
    align-items: center;
     background: var(--table-header-bg);
     border-bottom: 1px solid var(--table-border);
     padding: 10px 18px;
     gap: 12px;
    border-top-left-radius: var(--card-radius);
    border-top-right-radius: var(--card-radius);
   }
   
   .list-header > span,
   .stores-list-header > span {
     font-size: 12.5px;
     font-weight: 700;
     color: var(--text-secondary);
     text-transform: uppercase;
     letter-spacing: 0.6px;
    white-space: nowrap;
     font-family: var(--font-base);
   }
   
   .row-block, .store-block {
     border-bottom: 1px solid var(--table-border);
     transition: background 0.1s;
   }
   .row-block:last-child, .store-block:last-child { border-bottom: none; }
   .row-block:hover, .store-block:hover { background: var(--table-row-hover); }

  .row-block:last-child .row,
  .store-block:last-child .store-row {
    border-bottom-left-radius: var(--card-radius);
    border-bottom-right-radius: var(--card-radius);
  }
   
   .row, .store-row {
     display: grid;
     align-items: center;
     padding: 11px 18px;
     gap: 12px;
   }
   
  /* Stores list: Logo | Store | Category | Actions (View + Edit + Delete) */
   .stores-list .stores-list-header {
   grid-template-columns: 52px minmax(0, 1fr) minmax(0, 0.75fr) 334px;
   }
   .stores-list .store-row {
    grid-template-columns: 52px minmax(0, 1fr) minmax(0, 0.75fr) 334px;
   }
   .stores-list.stores-list--no-categories .stores-list-header,
   .stores-list.stores-list--no-categories .store-row {
    grid-template-columns: 52px minmax(0, 1fr) 334px;
   }
   .stores-list.stores-list--no-categories .store-row > .store-category {
     display: none;
   }
  .stores-list .stores-list-col-logo,
  .stores-list .store-logo-col {
    width: 40px;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .stores-list .store-logo-thumb {
    width: 34px;
    height: 34px;
    object-fit: contain;
    border-radius: 4px;
  }
   .stores-list .store-actions {
    display: flex;
     flex-wrap: wrap;
    align-items: center;
     gap: 8px;
     justify-content: flex-start;
   }
  .stores-list .store-actions-toggle { display: none; }
  .stores-list .store-actions-menu {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }

   body.admin-view-stores .stores-list .store-actions {
     justify-content: center;
   }

   body.admin-view-stores .stores-list .stores-list-col-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
    white-space: normal;
    margin-top: 0;
  }

   body.admin-view-stores .stores-list .stores-list-header {
    overflow: visible;
    align-items: end;
    padding-top: 14px;
   }

   body.admin-view-stores .stores-list .stores-list-col-category {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 0;
     min-width: 0;
     white-space: normal;
     margin-top: 0;
   }

   body.admin-view-stores .stores-list .store-filter-category,
   body.admin-view-stores .managers-list .store-filter-category {
     position: relative;
    z-index: 80;
     margin-top: 0.15rem;
   }
  body.admin-view-stores .stores-list .store-filter-category.is-open,
  body.admin-view-stores .managers-list .store-filter-category.is-open {
    z-index: 120;
  }

   body.admin-view-stores .managers-list .managers-list-filter-col {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 0;
     min-width: 0;
     white-space: normal;
   }

   body.admin-view-stores .managers-list .list-header > span.managers-list-filter-col {
     white-space: normal;
   }

   body.admin-view-stores .stores-list .store-filter-category-toggle,
   body.admin-view-stores .managers-list .store-filter-category-toggle {
     display: inline-flex;
     align-items: center;
     gap: 0.35rem;
     padding: 0;
     margin: 0;
     border: none;
     background: transparent;
     cursor: pointer;
     font: inherit;
     color: inherit;
     -webkit-tap-highlight-color: transparent;
   }

   body.admin-view-stores .stores-list .store-filter-category-toggle:focus-visible,
   body.admin-view-stores .managers-list .store-filter-category-toggle:focus-visible {
     outline: 2px solid var(--accent, #2563eb);
     outline-offset: 2px;
     border-radius: 4px;
   }

   body.admin-view-stores .stores-list .stores-list-category-label,
   body.admin-view-stores .managers-list .stores-list-category-label {
     font-size: 12.5px;
     font-weight: 700;
     color: var(--text-secondary);
     text-transform: uppercase;
     letter-spacing: 0.6px;
     font-family: var(--font-base);
   }

   body.admin-view-stores .stores-list .store-filter-category-badge,
   body.admin-view-stores .managers-list .store-filter-category-badge {
     font-size: 12.5px;
     font-weight: 700;
     color: var(--text-secondary);
     letter-spacing: 0.3px;
     font-family: var(--font-base);
   }

   body.admin-view-stores .stores-list .store-filter-category-chevron,
   body.admin-view-stores .managers-list .store-filter-category-chevron {
     font-size: 1.75em;
     line-height: 1;
     color: #999;
     transition: transform 0.15s ease;
   }

   body.admin-view-stores .stores-list .store-filter-category.is-open .store-filter-category-chevron,
   body.admin-view-stores .managers-list .store-filter-category.is-open .store-filter-category-chevron {
     transform: rotate(180deg);
   }

   body.admin-view-stores .stores-list .store-filter-category-panel,
   body.admin-view-stores .managers-list .store-filter-category-panel {
     position: absolute;
     top: 100%;
     left: 0;
    z-index: 240;
     margin-top: 6px;
     min-width: min(220px, calc(100vw - 48px));
     max-width: min(320px, calc(100vw - 48px));
     max-height: min(280px, 45vh);
     overflow-x: hidden;
     overflow-y: auto;
     padding: 4px 0;
     background: var(--card-bg);
     border: 1px solid var(--table-border);
     border-radius: var(--card-radius, 8px);
     box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
   }

  body.admin-view-stores .stores-list,
  body.admin-view-stores .stores-list .stores-list-header,
  body.admin-view-stores .stores-list .store-block,
  body.admin-view-stores .stores-list .store-row {
    overflow: visible !important;
  }

   body.admin-view-stores .stores-list .store-filter-category-option,
   body.admin-view-stores .managers-list .store-filter-category-option {
     display: flex;
    align-items: center;
     gap: 8px;
    width: 100%;
     padding: 8px 14px 8px 10px;
     border: none;
     background: transparent;
     text-align: left;
     cursor: pointer;
     font-size: 14px;
     font-family: var(--font-base);
     color: var(--text-primary);
     line-height: 1.35;
   }

   body.admin-view-stores .stores-list .store-filter-category-option::before {
     content: '\2003';
     width: 1.15em;
    flex-shrink: 0;
     text-align: center;
     font-size: 12px;
     font-weight: 700;
     color: var(--text-secondary);
   }

   body.admin-view-stores .stores-list .store-filter-category-option.is-selected::before,
   body.admin-view-stores .managers-list .store-filter-category-option.is-selected::before {
     content: '\2713';
     color: var(--text-primary);
   }

   body.admin-view-stores .stores-list .store-filter-category-option:hover,
   body.admin-view-stores .stores-list .store-filter-category-option:focus-visible,
   body.admin-view-stores .managers-list .store-filter-category-option:hover,
   body.admin-view-stores .managers-list .store-filter-category-option:focus-visible {
     background: var(--table-row-hover);
     outline: none;
   }

   body.admin-view-stores .stores-list .store-filter-category-option.is-selected,
   body.admin-view-stores .managers-list .store-filter-category-option.is-selected {
     font-weight: 600;
     background: rgba(0, 0, 0, 0.04);
   }

   .store-category {
     font-size: 14px;
     color: var(--text-secondary);
     min-width: 0;
   }
   .store-row > div {
     border: none !important;
     height: auto !important;
     padding: 0 !important;
     background: transparent !important;
   }
   
   /* Generic list */
   .list .list-header { grid-template-columns: 1.5fr 2fr 1fr 1fr; }
   .list .row         { grid-template-columns: 1.5fr 2fr 1fr 1fr; }

   /* View Events: Event | Dates | Status | Actions */
   body.admin-view-events .list .list-header,
   body.admin-view-events .list .row {
       display: grid;
      grid-template-columns: 52px minmax(0, 1.55fr) minmax(0, 0.52fr) minmax(0, 0.25fr) minmax(0, 0.68fr);
      gap: 8px;
       align-items: start;
   }
   .event-status {
     font-size: 14px;
    font-weight: 600;
     color: var(--text-secondary);
   }
   
   /* Nav list */
   .nav-list-header .list-header { grid-template-columns: 28px 2fr 2fr 120px; }
   .nav-list-header .row         { grid-template-columns: 28px 2fr 2fr 120px; }
   
   /* Domains / Malls */
   body.admin-domains .list .list-header { grid-template-columns: 2fr 2fr 120px; }
   body.admin-domains .list .row         { grid-template-columns: 2fr 2fr 120px; }
body.admin-domains .domain-header-label--merged { display: none; }
body.admin-domains .domain-header-main #domain-filter-domain {
  flex: 0 0 220px !important;
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  height: auto !important;
  min-height: 36px !important;
  padding: 6px 10px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  display: block !important;
  visibility: visible !important;
  box-sizing: border-box !important;
}
body.admin-domains .domain-actions-toggle { display: none; }
body.admin-domains .domain-actions-menu {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
   
   /* Managers */
  .managers-list .list-header { grid-template-columns: 2fr 2fr 2fr 2fr; overflow: visible; }
  .managers-list .row         { grid-template-columns: 2fr 2fr 2fr 2fr; }
   
   /* Table cell text */
   .store-name, .event-title, .deal-title {
     font-weight: 600;
     font-size: 15.5px;
     color: var(--text-primary);
   }
   
   .deal-dates, .event-dates {
     font-size: 14px;
     color: var(--text-secondary);
   }

   .deal-status, .event-status {
     font-size: 14px;
    font-weight: 600;
     color: var(--text-secondary);
   }
   
   .deal-actions, .event-actions {
     display: flex;
     align-items: center;
     gap: 5px;
     flex-wrap: wrap;
   }
  .deal-actions-toggle { display: none; }
  .deal-actions-menu {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
  }
  .event-actions-toggle { display: none; }
  .event-actions-menu {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
  }

  /* Events desktop: keep action buttons right-anchored with even spacing */
  @media (min-width: 1121px) {
    body.admin-view-events .list .list-header > span:last-child {
      justify-self: stretch;
      text-align: left;
      width: 100%;
      min-width: 0;
      align-items: flex-start !important;
      justify-content: flex-start !important;
    }

    body.admin-view-events .list .row .event-actions {
      justify-self: stretch;
      justify-content: flex-end;
      width: 100%;
      max-width: 100%;
      flex-wrap: wrap;
      gap: 6px;
      min-width: 0;
      overflow: hidden;
    }

    body.admin-view-events .list .row .event-actions .event-actions-menu {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px;
      min-width: 0;
      max-width: 100%;
    }

    body.admin-view-events .list .row .event-title,
    body.admin-view-events .list .row .event-dates,
    body.admin-view-events .list .row .event-status {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }

   body.admin-view-deals .list .list-header, body.admin-view-deals .list .row {
    display: grid;
    grid-template-columns: 47px minmax(0, 0.58fr) minmax(0, 1.0fr) minmax(0, 0.7fr) minmax(81px, 0.32fr) minmax(198px, 0.95fr) !important;
    align-items: start;
   }

   body.admin-view-deals .deal-list-global-search {
     display: flex;
    align-items: center;
     gap: 0.75rem;
     margin-bottom: 1rem;
     flex-wrap: wrap;
   }

   body.admin-view-deals .deal-list-global-search-label {
    font-weight: 600;
     font-size: 14px;
     color: var(--text-primary);
     white-space: nowrap;
   }

   body.admin-view-deals #deal-filter-global {
     flex: 1;
     min-width: 200px;
     max-width: 36rem;
   }
   
   /* Search inputs in table headers */
   #store-filter-name, #deal-filter-global,
   #event-filter-title, #manager-filter-username, #mall-filter,
   #domain-filter-domain {
     flex: 1;
     max-width: 220px;
     padding: 5px 10px;
     border: 1px solid var(--input-border);
    border-radius: 6px;
     font-size: 14px;
     font-family: var(--font-base);
     background: #ffffff;
     color: var(--text-primary);
     transition: border-color 0.13s;
   }
   
   #store-filter-name:focus, #deal-filter-global:focus,
   #event-filter-title:focus, #manager-filter-username:focus, #mall-filter:focus,
   #domain-filter-domain:focus {
     outline: none;
     border-color: var(--input-focus);
     box-shadow: 0 0 0 2px rgba(108,92,231,0.08);
   }
   
   .sortable-header { 
    display: inline-flex; 
    align-items: center; 
    gap: 4px; 
    cursor: pointer; 
    user-select: none; 
    margin-top: 1rem;
  }
   .sort-arrow { color: var(--text-muted); font-size: 10px; }
   
   .password-cell {
     font-family: var(--font-mono);
     font-size: 12px;
     color: var(--text-muted);
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
     max-width: 120px;
   }
   
   .manager-malls-cell {
     font-size: 12.5px;
     color: var(--text-secondary);
     overflow: hidden;
     text-overflow: ellipsis;
    white-space: normal;
  }

  .manager-mall-bubbles {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .manager-mall-bubble {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    border: 1px solid var(--table-border);
    background: var(--table-header-bg);
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    max-width: 100%;
   }
   
   .drag-handle {
     cursor: grab;
     color: var(--text-muted);
     font-size: 16px;
     padding: 0 4px;
     user-select: none;
    -webkit-user-select: none;
    touch-action: none;
   }
   
   .row-block.dragging { opacity: 0.5; background: var(--nav-active-bg); }

/* =========================================================
      MODAL
   ========================================================= */

.modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
     background: rgba(10, 10, 20, 0.52);
     z-index: 500;
    align-items: center;
     justify-content: center;
     backdrop-filter: blur(3px);
     -webkit-backdrop-filter: blur(3px);
}
   .modal-overlay.open { display: flex; }

.modal-dialog {
     background: var(--card-bg);
     border-radius: 14px;
     padding: 28px 30px;
     max-width: 460px;
     width: calc(100% - 32px);
     box-shadow: 0 24px 64px rgba(0,0,0,0.18);
   }
   
   .modal-dialog h3 { font-size: 20px; margin-bottom: 10px; }
   .modal-dialog p { font-size: 15px; color: var(--text-secondary); margin-bottom: 22px; }
   .modal-actions { display: flex; gap: 10px; justify-content: flex-end; }

/* =========================================================
      LOGIN PAGE
   ========================================================= */

   body.page-admin {
     background: linear-gradient(140deg, #f0eeff 0%, #e4f9f7 100%) !important;
     display: flex !important;
     align-items: center;
     justify-content: center;
     min-height: 100vh;
     padding: 24px !important;
   }
   
   body.page-admin .sidenav,
   body.page-admin .hamburger-menu,
   body.page-admin .sidenav-overlay,
   body.page-admin .top-header { display: none !important; }
   
   body.page-admin .page-container { margin-left: 0 !important; }
   
   .admin-container { width: 100%; max-width: 880px; }
   
   .admin-login-form {
     width: 100%;
     max-width: 880px;
     box-sizing: border-box;
     background: var(--card-bg);
     border-radius: 18px;
     padding: 42px 56px;
     box-shadow: 0 8px 48px rgba(108,92,231,0.13);
     border: 1px solid rgba(108,92,231,0.1);
   }
   
   .admin-login-form::before {
     content: '◆';
    display: block;
     text-align: center;
     font-size: 36px;
     margin-bottom: 8px;
     background: var(--brand-gradient);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
   }
   
   .admin-login-form h2 {
     text-align: center;
     font-size: 22px;
     font-weight: 800;
     background: var(--brand-gradient);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     margin-bottom: 6px;
   }
   
   .admin-login-form .form-group { margin-bottom: 16px; }
   
   .admin-login-form form {
     width: 100%;
   }
   
   .admin-login-form input[type="email"],
   .admin-login-form input[type="password"] {
     width: 100%;
     max-width: none;
     box-sizing: border-box;
     min-width: 0;
     padding: 14px 20px;
     font-size: 16px;
   }
   
   .admin-login-form .error {
     background: #fff1f0;
     border: 1px solid #ffc5c5;
     color: var(--btn-danger-text);
     padding: 10px 14px;
     border-radius: 8px;
     font-size: 13.5px;
     margin-bottom: 14px;
   }

   
   /* =========================================================
      ADMIN DASHBOARD
      ========================================================= */
   
   .admin-header {
     background: var(--brand-gradient);
     padding: 20px 24px;
     border-radius: var(--card-radius);
     margin-bottom: 20px;
   }
   
   .admin-header-content {
     display: flex;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
     gap: 12px;
   }
   
   .admin-header h1 { color: #fff; font-size: 20px; margin: 0; }
   
   .admin-info {
     display: flex;
     align-items: center;
     gap: 12px;
     font-size: 13.5px;
     color: rgba(255,255,255,0.9);
   }
   
   .admin-dashboard {
     background: var(--card-bg);
     border-radius: var(--card-radius);
     padding: 24px;
     box-shadow: var(--card-shadow);
   }
   
   .admin-section {
     margin-bottom: 24px;
     padding-bottom: 24px;
     border-bottom: 1px solid var(--table-border);
   }
   
   .admin-section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
   .admin-section h3 { font-size: 15px; margin-bottom: 12px; }
   
   .admin-stats {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
     gap: 12px;
     margin-top: 10px;
   }
   
   .admin-stat-card {
     background: var(--body-bg);
     border: 1px solid var(--table-border);
     border-radius: var(--card-radius);
     padding: 16px;
     text-align: center;
   }
   
   .stat-value {
     font-size: 26px;
     font-weight: 800;
     color: var(--brand-purple);
     margin-bottom: 4px;
   }
   
   .stat-label {
     font-size: 13px;
     color: var(--text-secondary);
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
   }
   
   /* =========================================================
      DEFAULT EDIT (Mall Information)
      ========================================================= */
   
   body.admin-default-edit { background: var(--body-bg); }
   
   body.admin-default-edit .main-content {
     background: transparent;
     padding: 26px 28px;
     width: 100%;
     max-width: none;
   }
   
   body.admin-default-edit h2 {
     font-size: 22px;
     font-weight: 700;
     text-align: left;
     margin-bottom: 6px;
   }
   
   body.admin-default-edit .default-edit-fieldset,
   body.admin-default-edit .default-edit-form-layout fieldset {
     border: 1px solid var(--table-border);
     border-radius: var(--card-radius);
     padding: 20px 22px;
     margin-bottom: 18px;
     background: var(--card-bg);
     box-shadow: var(--card-shadow);
   }
   
   body.admin-default-edit .default-edit-form-layout legend,
   body.admin-default-edit .default-edit-fieldset legend {
    float: left;
    width: 100%;
    display: block;
    margin: 0 0 12px;
    padding: 0;
    text-align: left;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.3px;
    color: var(--text-primary);
    text-transform: none;
   }

  body.admin-default-edit .default-edit-fieldset > *:not(legend),
  body.admin-default-edit .default-edit-form-layout fieldset > *:not(legend) {
    clear: both;
  }
   
   body.admin-default-edit .default-edit-form-layout {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 18px;
     width: 100%;
   }
   
   body.admin-default-edit .hours-holidays-column { grid-column: 1 / -1; }
   
   body.admin-default-edit .homepage-features-button-colors-row {
     grid-column: 1 / -1;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 18px;
     align-items: start;
   }
   
   body.admin-default-edit .homepage-features-column,
   body.admin-default-edit .default-edit-button-colors-column {
     min-width: 0;
   }
   
   body.admin-default-edit .default-edit-button-colors-inner {
     display: flex;
     flex-wrap: wrap;
     gap: 1.5rem;
     align-items: flex-start;
   }
   
   body.admin-default-edit .button-preview-box {
     padding: 1rem;
     background: #f5f5f5;
     border-radius: 8px;
     border: 1px solid var(--table-border);
     flex: 0 0 auto;
   }
   
   body.admin-default-edit .btn-preview-example {
     padding: 0.6rem 1.25rem;
     font-size: 1rem;
     font-weight: 600;
     border: none;
     border-radius: 6px;
     color: #fff;
     cursor: pointer;
     transition: background-color 0.15s ease;
   }
   
   body.admin-default-edit .default-edit-button-colors-fields {
     flex: 1 1 160px;
     display: flex;
     flex-direction: column;
     gap: 1rem;
     min-width: 0;
   }
   
   body.admin-default-edit .color-row-compact label {
     display: block;
     font-weight: 600;
     margin-bottom: 0.35rem;
     font-size: 14px;
   }
   
   body.admin-default-edit .color-input-pair {
     display: flex;
     align-items: center;
     gap: 0.75rem;
     flex-wrap: wrap;
   }
   
   body.admin-default-edit input.button-color-swatch {
     width: 48px;
     height: 40px;
     padding: 2px;
     cursor: pointer;
   }
   
   body.admin-default-edit .default-edit-form input.button-color-hex {
     width: 140px;
     height: 40px;
     min-height: 40px;
     padding: 0 10px;
     box-sizing: border-box;
     font-family: monospace;
     font-size: 15px;
     line-height: 1;
   }
   
   body.admin-default-edit .hours-holidays-column .hours-holidays-inner {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 18px;
   }

  /* Prevent Holidays section from pushing layout off-page on mid-wide screens */
  body.admin-default-edit .hours-holidays-column .hours-holidays-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  body.admin-default-edit .hours-holidays-column .hours-holidays-inner > * {
    min-width: 0;
  }
  body.admin-default-edit .hours-holidays-column .hours-holidays-inner fieldset > div[style*="overflow-x: auto"] {
    width: 100%;
    max-width: 100%;
  }

  @media (min-width: 1061px) and (max-width: 1500px) {
    body.admin-default-edit .hours-holidays-column .hours-holidays-inner {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      gap: 14px !important;
    }
    body.admin-default-edit .hours-holidays-column .hours-holidays-inner > * {
      min-width: 0 !important;
      max-width: 100% !important;
    }
    body.admin-default-edit .hours-holidays-column .hours-holidays-inner fieldset > div[style*="overflow-x: auto"] {
      overflow-x: auto !important;
      max-width: 100% !important;
      -webkit-overflow-scrolling: touch;
    }
  }
   
   body.admin-default-edit .location-social-row {
     display: grid;
    grid-template-columns: 1fr;
     gap: 18px;
     margin-top: 4px;
    grid-column: 1 / -1;
   }

   /* Static map preview + circular refresh control (default-edit.php) */
   body.admin-default-edit .static-map-preview-img {
     width: 100%;
     max-width: 960px;
     height: auto;
     border: 1px solid #ddd;
     border-radius: 8px;
     display: block;
   }

   body.admin-default-edit .static-map-regenerate-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 46px;
     height: 46px;
     padding: 0;
     margin: 0;
     border: 1.5px solid var(--input-border, #cbd5e1);
     border-radius: 50%;
     background: #fff;
     color: #334155;
     cursor: pointer;
     line-height: 0;
     flex-shrink: 0;
     box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
     transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
   }

   body.admin-default-edit .static-map-regenerate-btn:hover {
     background: #f1f5f9;
     border-color: #94a3b8;
     color: #0f172a;
     box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
   }

   body.admin-default-edit .static-map-regenerate-btn:focus-visible {
     outline: none;
     box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.25);
     border-color: var(--input-focus, #6c5ce7);
   }

   body.admin-default-edit .static-map-regenerate-btn:active {
     transform: scale(0.96);
   }

   body.admin-default-edit .static-map-regenerate-btn svg {
     display: block;
     width: 22px;
     height: 22px;
   }
   
   body.admin-default-edit .banner-amenities-row {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 18px;
     margin-bottom: 18px;
   }
   
   body.admin-default-edit .default-edit-form label {
     font-weight: 600;
     font-size: 14px;
     margin-bottom: 5px;
   }
   
   body.admin-default-edit .default-edit-form input,
   body.admin-default-edit .default-edit-form select {
     border: 1.5px solid var(--input-border);
     border-radius: var(--input-radius);
     font-size: 15px;
   }
   
   body.admin-default-edit .default-edit-form input:focus,
   body.admin-default-edit .default-edit-form select:focus {
     border-color: var(--input-focus);
     box-shadow: 0 0 0 3px rgba(108,92,231,0.1);
     outline: none;
   }
   
   @media (max-width: 1060px) {
     body.admin-default-edit .default-edit-form-layout { grid-template-columns: 1fr; }
     body.admin-default-edit .homepage-image-column { grid-column: 1; }
     body.admin-default-edit .homepage-features-button-colors-row { grid-template-columns: 1fr; }
     body.admin-default-edit .hours-holidays-column .hours-holidays-inner { grid-template-columns: 1fr; }
     body.admin-default-edit .location-social-row,
     body.admin-default-edit .banner-amenities-row { grid-template-columns: 1fr; }
   }
   
   /* =========================================================
      EDIT FORM PAGES (store, deal, event, etc.)
      ========================================================= */
   
    body.admin-store-edit form,
    body.admin-deals-edit form,
    body.admin-events-edit form {
     background: var(--card-bg);
     border-radius: var(--card-radius);
     padding: 24px;
     box-shadow: var(--card-shadow);
     border: 1px solid var(--table-border);
   }

  /* Managers edit: keep form area narrower on desktop */
  body.admin-managers-edit .main-content {
    width: min(50%, 900px);
    max-width: min(50%, 900px);
    margin-left: 0;
    margin-right: auto;
  }
   
   body.admin-store-edit form > div,
   body.admin-deals-edit form > div,
   body.admin-events-edit form > div { margin-bottom: 16px; }
   
   #custom-hours-section {
     background: var(--body-bg);
     border-radius: var(--card-radius);
     border: 1px solid var(--table-border);
     padding: 16px 18px;
   }
   
   /* =========================================================
      CONTENT PAGES
      ========================================================= */
   
   .content-form {
     background: var(--card-bg);
     border-radius: var(--card-radius);
     padding: 24px;
     box-shadow: var(--card-shadow);
     border: 1px solid var(--table-border);
   }
   
   .content-form > div { margin-bottom: 16px; }
   
   .content-block-entry, .leasing-entry, .contact-entry, .sitemap-entry {
     background: var(--body-bg) !important;
     border: 1px solid var(--table-border) !important;
     border-radius: var(--card-radius) !important;
   }
   
   /* =========================================================
      RESPONSIVE
      ========================================================= */
   
  @media (max-width: 1120px) {
    body.admin-managers-edit .main-content {
      width: 100%;
      max-width: 100%;
    }

    :root { --mobile-header-height: 72px; }

    body::before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: var(--mobile-header-height);
      background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92));
      border-bottom: 1px solid var(--table-border);
      z-index: 210;
      pointer-events: none;
      backdrop-filter: saturate(120%) blur(4px);
    }

     .sidenav {
      left: 0 !important;
      margin-left: 0 !important;
      top: var(--mobile-header-height) !important;
      height: calc(100vh - var(--mobile-header-height)) !important;
      height: calc(100dvh - var(--mobile-header-height)) !important;
       transform: translateX(-100%);
      width: min(400px, 94vw);
     }

    .sidenav-overlay {
      top: var(--mobile-header-height) !important;
      bottom: 0 !important;
      left: 0 !important;
      right: 0 !important;
    }
   
     .sidenav.open {
       transform: translateX(0);
       box-shadow: 6px 0 32px rgba(0,0,0,0.16);
     }

     .sidenav > div:first-child {
       min-height: calc(var(--header-height) + 3rem);
     }

     .sidenav > div:first-child > div:first-of-type {
       height: 3rem;
       min-height: 3rem;
       max-height: 3rem;
     }
   
    .page-container { margin-left: 0 !important; }
    .hamburger-menu {
      display: flex;
      top: 6px !important;
      left: 6px !important;
      right: auto !important;
      z-index: 220 !important;
      width: 40px !important;
      height: 40px !important;
      padding: 7px !important;
      border-radius: 8px !important;
    }
   
     .top-header { padding-left: 56px; padding-right: 12px; }
   
    .main-content { padding: calc(var(--mobile-header-height) + 12px) 18px 20px; }
    body.admin-default-edit .main-content { padding: calc(var(--mobile-header-height) + 12px) 18px 20px; }
   
     /* Collapse tables */
     .list .list-header, .list .row { grid-template-columns: 1fr auto !important; }
     .managers-list .list-header, .managers-list .row { grid-template-columns: 1fr auto !important; }
     body.admin-domains .list .list-header, body.admin-domains .list .row { grid-template-columns: 1fr auto !important; }

    /* Slide-over sidenav: mall picker + account menu (narrower tablets before 900px rules) */
    .mall-selector-sidenav select,
    #mall-select-sidenav {
      font-size: 17px !important;
      line-height: 1.4 !important;
      min-height: 48px !important;
    }
    .sidenav #user-menu-dropdown {
      padding: 14px 16px !important;
    }
    .sidenav #user-menu-dropdown > div {
      font-size: 15px !important;
      line-height: 1.35 !important;
      margin-bottom: 10px !important;
    }
    .sidenav #user-menu-dropdown a {
      font-size: 17px !important;
      padding: 12px 14px !important;
    }
   
     /* Hide extra columns on tablet */
     .list .list-header > span:nth-child(3),
     .list .row > div:nth-child(3),
     .managers-list .list-header > span:nth-child(2),
     .managers-list .list-header > span:nth-child(3),
     .managers-list .list-header > span:nth-child(4),
     .managers-list .list-header > span:nth-child(5),
     .managers-list .row > div:nth-child(2),
     .managers-list .row > div:nth-child(3),
     .managers-list .row > div:nth-child(4),
     .managers-list .row > div:nth-child(5) { display: none; }
   }

  /* Tablet landscape/sidebar readability: prevent cramped nav links at 901-1120. */
  @media (min-width: 901px) and (max-width: 1120px) {
    .sidenav {
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
    }

    .sidenav a {
      font-size: 16px !important;
      line-height: 1.35 !important;
      min-height: 48px !important;
      padding: 12px 16px !important;
      white-space: normal !important;
      overflow: visible !important;
      text-overflow: clip !important;
    }

    .mall-selector-sidenav select,
    #mall-select-sidenav {
      font-size: 15px !important;
      min-height: 44px !important;
    }
  }

  /* Desktop sidebar readability: keep links from looking cramped above 1120px. */
  @media (min-width: 1121px) {
    .sidenav {
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
    }

    .sidenav a {
      font-size: 15px !important;
      line-height: 1.35 !important;
      min-height: 44px !important;
      padding: 10px 16px !important;
      white-space: normal !important;
      overflow: visible !important;
      text-overflow: clip !important;
      display: flex !important;
      align-items: center !important;
    }
  }

  @media (max-width: 768px) {
    body {
      font-size: 18px;
      line-height: 1.7;
    }

    h1 { font-size: 32px; }
    h2 { font-size: 28px; }
    h3 { font-size: 24px; }
    p, .muted, label { font-size: 18px; }

    .main-content { padding: 18px 14px; }
    body.admin-default-edit .main-content { padding: 18px 14px; }

    .btn {
      min-height: 54px;
      font-size: 18px;
      padding: 13px 20px;
      border-radius: 12px;
    }

    .stores-list .btn-secondary,
    .stores-list .btn-edit,
    .stores-list .btn-delete,
    .list .btn-secondary,
    .list .btn-edit,
    .list .btn-delete,
    .managers-list .btn-secondary,
    .managers-list .btn-edit,
    .managers-list .btn-delete {
      min-height: 38px !important;
      height: 38px !important;
      min-width: 38px !important;
      width: 38px !important;
      padding: 0 !important;
      border-radius: 10px !important;
      font-size: 0 !important;
      line-height: 0 !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      margin: 0 !important;
    }
    .stores-list .btn-secondary::before,
    .list .btn-secondary::before,
    .managers-list .btn-secondary::before {
      content: '\1F441';
      font-size: 16px;
      line-height: 1;
    }
    .btn-edit::before {
      content: '\270E';
      font-size: 17px;
      line-height: 1;
    }
    .btn-delete::before {
      content: '\1F5D1';
      font-size: 16px;
      line-height: 1;
    }

    .list .row > div:last-child,
    .stores-list .store-row > .store-actions,
    .stores-list .store-row > div:last-child,
    .managers-list .row > div:last-child {
      display: flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 8px !important;
      flex-wrap: wrap !important;
      width: 100% !important;
    }

    /* body.admin-view-stores .stores-list .store-row > .store-actions {
      justify-content: center !important;
    } */

    body.admin-store-edit form,
    body.admin-deals-edit form,
    body.admin-events-edit form,
    .content-form {
      padding: 18px;
      border-radius: 12px;
    }

    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="date"],
    input[type="time"],
    input[type="url"],
    input[type="number"],
    input[type="file"],
    select,
    textarea {
      font-size: 18px;
      min-height: 52px;
    }

    img,
    video,
    iframe {
        max-width: 100%;
      height: auto;
    }

    .sidenav {
      width: min(420px, 96vw);
    }

    .sidenav a {
      font-size: 22px;
      min-height: 68px;
      padding: 18px 24px;
    }

    #user-menu-toggle {
      font-size: 22px !important;
      min-height: 72px;
      padding: 20px 22px !important;
    }

    .mall-selector-sidenav select,
    #mall-select-sidenav {
      font-size: 18px !important;
      line-height: 1.4 !important;
      min-height: 52px;
    }
  }

  /* Short-height landscape phones/tablets (e.g., 915x412):
     keep sidenav readable and explicitly scrollable so all links remain reachable. */
  @media (max-width: 1120px) and (max-height: 620px) {
    :root { --mobile-header-height: 56px; }

    .sidenav {
      top: var(--mobile-header-height) !important;
      height: calc(100vh - var(--mobile-header-height)) !important;
      height: calc(100dvh - var(--mobile-header-height)) !important;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
    }

    .sidenav > div:first-child,
    .mall-selector-sidenav {
      padding-top: 8px !important;
      padding-bottom: 8px !important;
    }

    .sidenav a {
      font-size: 15px !important;
      line-height: 1.25 !important;
      min-height: 42px !important;
      padding: 9px 14px !important;
    }

    #user-menu-toggle {
      font-size: 15px !important;
      min-height: 44px !important;
      padding: 10px 14px !important;
    }

    .mall-selector-sidenav select,
    #mall-select-sidenav {
      font-size: 14px !important;
      min-height: 40px !important;
      padding: 8px 34px 8px 10px !important;
    }
  }
   
   @media (max-width: 600px) {
     /* Sidebar reaches the center of the screen */
    .sidenav {
      left: 0 !important;
      margin-left: 0 !important;
      width: min(420px, 97vw);
    }
   
     /* Logo header scales with wider sidebar */
     .sidenav > div:first-child::before {
       font-size: 20px;
       padding: 0 22px;
     }
   
     /* Large, easy-to-tap nav links */
    .sidenav a {
      padding: 18px 22px;
      font-size: 22px;
      min-height: 68px;
       display: flex;
       align-items: center;
       letter-spacing: -0.1px;
       border-left-width: 4px;
     }
   
     /* Username / avatar row */
     #user-menu-toggle {
      padding: 20px 24px !important;
      font-size: 22px !important;
      min-height: 72px;
       gap: 14px;
     }
   
     #user-menu-toggle::before {
       width: 42px;
       height: 42px;
       background-size: 24px;
     }
   
     /* Mall dropdown */
     .mall-selector-sidenav {
       padding: 14px 18px !important;
     }
   
    .mall-selector-sidenav select,
    #mall-select-sidenav {
      font-size: 18px !important;
      line-height: 1.4 !important;
      padding: 13px 38px 13px 14px !important;
     }
   
    /* Keep hamburger compact and fully inside header */
     .hamburger-menu {
      width: 40px !important;
      height: 40px !important;
      top: 6px !important;
      left: 6px !important;
      padding: 7px !important;
      border-radius: 8px !important;
     }
    .hamburger-menu span { width: 20px; height: 2px; }
   
    .top-header { padding-left: 56px; padding-right: 10px; height: 56px; }
    .global-search-input { height: 42px !important; font-size: 16px !important; }
   
    .main-content { padding: calc(var(--mobile-header-height) + 10px) 12px 16px; }
    body.admin-default-edit .main-content { padding: calc(var(--mobile-header-height) + 10px) 12px 16px; }
   
     .modal-dialog { padding: 22px 18px; border-radius: 12px; }
   
    h1 { font-size: 30px; }
    h2 { font-size: 26px; }
   
     /* iOS: prevent zoom on input focus (font-size must be >= 16px) */
     body.admin-store-edit input, body.admin-store-edit select, body.admin-store-edit textarea,
     body.admin-deals-edit input, body.admin-deals-edit select, body.admin-deals-edit textarea,
     body.admin-events-edit input, body.admin-events-edit select, body.admin-events-edit textarea {
      font-size: 18px !important;
      padding: 12px 14px !important;
       text-align: left !important;
     }
   
     body.admin-store-edit label, body.admin-deals-edit label, body.admin-events-edit label {
      font-size: 16px !important;
       text-align: left !important;
     }
   
     /* Kill old 2rem mobile font explosion */
     body.admin-store-edit .btn, body.admin-deals-edit .btn, body.admin-events-edit .btn {
      font-size: 18px !important;
      padding: 12px 18px !important;
       margin: 0 !important;
       display: inline-flex !important;
     }

    body.admin-view-stores .stores-list .btn-secondary,
    body.admin-view-stores .stores-list .btn-edit,
    body.admin-view-stores .stores-list .btn-delete,
    body.admin-view-events .list .btn-secondary,
    body.admin-view-events .list .btn-edit,
    body.admin-view-events .list .btn-delete,
    body.admin-view-deals .list .btn-secondary,
    body.admin-view-deals .list .btn-edit,
    body.admin-view-deals .list .btn-delete,
    body.admin-domains .list .btn-secondary,
    body.admin-domains .list .btn-edit,
    body.admin-domains .list .btn-delete,
    body.admin-domains .managers-list .btn-secondary,
    body.admin-domains .managers-list .btn-edit,
    body.admin-domains .managers-list .btn-delete {
      font-size: 0 !important;
      line-height: 0 !important;
      padding: 0 !important;
      width: 36px !important;
      min-width: 36px !important;
      height: 36px !important;
      min-height: 36px !important;
      border-radius: 10px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
    }
    body.admin-view-stores .stores-list .btn-secondary::before,
    body.admin-view-events .list .btn-secondary::before,
    body.admin-view-deals .list .btn-secondary::before,
    body.admin-domains .list .btn-secondary::before,
    body.admin-domains .managers-list .btn-secondary::before {
      content: '\1F441';
      font-size: 16px;
      line-height: 1;
    }

body.admin-default-edit .default-edit-fieldset,
    body.admin-default-edit .default-edit-form-layout fieldset,
    body.admin-default-edit fieldset {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      overflow: hidden !important;
      padding: 14px !important;
    }
    body.admin-default-edit .default-edit-form-layout,
    body.admin-default-edit .hours-holidays-inner,
    body.admin-default-edit .location-social-row,
    body.admin-default-edit .banner-amenities-row {
      grid-template-columns: 1fr !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }
    body.admin-default-edit .default-edit-form-layout > *,
    body.admin-default-edit .hours-holidays-inner > *,
    body.admin-default-edit .location-social-row > *,
    body.admin-default-edit .banner-amenities-row > * {
      min-width: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
    }
    body.admin-default-edit .btn-add-pill {
      width: auto !important;
      min-width: 0 !important;
      height: auto !important;
      min-height: 0 !important;
      padding: 8px 18px !important;
      border-radius: 999px !important;
      font-size: 12px !important;
      line-height: 1.25 !important;
      letter-spacing: 0.35px !important;
      font-weight: 600 !important;
      text-transform: none !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      box-sizing: border-box !important;
    }
    /* Label is “+ Add” in markup; hide global ::before so we don’t get “++ Add” */
    body.admin-default-edit .btn-add-pill::before {
      content: none !important;
      display: none !important;
      margin: 0 !important;
    }

    /* Mall Hours: horizontal scroll on mobile like Holidays */
    body.admin-default-edit .mall-hours-scroll {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    /* Keep Mall Hours compact; override broad mobile input sizing rules */
    body.admin-default-edit .hours-header-row,
    body.admin-default-edit .hours-row {
      gap: 0.35rem !important;
    }
    body.admin-default-edit .hours-row input[type="time"] {
      min-height: 0 !important;
      height: auto !important;
      padding: 0.3rem 0.4rem !important;
      font-size: 0.85rem !important;
    }
    body.admin-default-edit .hours-row .hours-open-toggle {
      min-height: 0 !important;
      height: auto !important;
      padding: 0.14rem 0.28rem !important;
      font-size: 0.66rem !important;
    }
    body.admin-default-edit .holidays-header-row,
    body.admin-default-edit .holiday-row {
      gap: 0.35rem !important;
    }
    body.admin-default-edit .holiday-row input[type="time"] {
      min-height: 0 !important;
      height: auto !important;
      padding: 0.3rem 0.4rem !important;
      font-size: 0.85rem !important;
    }
    body.admin-default-edit .holiday-row .holiday-open-toggle {
      min-height: 0 !important;
      height: auto !important;
      padding: 0.14rem 0.28rem !important;
      font-size: 0.66rem !important;
    }
   
     .stores-list .stores-list-header { grid-template-columns: 1fr auto !important; }
     /* Hide middle column when present; do not target Actions when it is 2nd child (no category column). */
    .stores-list .stores-list-header > span.stores-list-col-logo { display: none !important; }
    .stores-list .stores-list-header > span:nth-child(2):not(.stores-list-col-actions) { display: none !important; }
     .stores-list .store-row { grid-template-columns: 1fr auto !important; }
    .stores-list .store-row > .store-logo-col { display: none !important; }
     .stores-list .store-row > .store-category { display: none !important; }

     /* View stores: keep category filter visible on a second header row */
     body.admin-view-stores .stores-list .stores-list-header {
       grid-template-columns: 1fr auto !important;
       grid-template-rows: auto auto !important;
       grid-template-areas:
         "store actions"
         "category category" !important;
       row-gap: 10px !important;
     }
     body.admin-view-stores .stores-list.stores-list--no-categories .stores-list-header {
       grid-template-rows: auto !important;
       grid-template-areas: "store actions" !important;
     }
     body.admin-view-stores .stores-list .stores-list-col-store {
       grid-area: store !important;
     }
     body.admin-view-stores .stores-list .stores-list-col-category {
       grid-area: category !important;
       display: flex !important;
       flex-direction: column !important;
       align-items: stretch !important;
       width: 100% !important;
       max-width: 100% !important;
     }
     body.admin-view-stores .stores-list .stores-list-col-category .store-filter-category-panel,
     body.admin-view-stores .managers-list .managers-list-filter-col .store-filter-category-panel {
       max-width: none !important;
       min-width: 0 !important;
       width: 100% !important;
       left: 0 !important;
       right: 0 !important;
     }
     body.admin-view-stores .stores-list .stores-list-col-actions {
       grid-area: actions !important;
       width: auto !important;
       justify-self: end !important;
     }
     body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-category {
       display: flex !important;
     }
   }

  /* Ultra-readable mobile sizing */
  @media (max-width: 900px) {
    /* Let event action dropdown escape the table/grid clipping */
    body.admin-view-events .list,
    body.admin-view-events .row-block,
    body.admin-view-events .list .row {
      overflow: visible !important;
    }

    html, body {
      width: 100% !important;
      max-width: 100% !important;
      overflow-x: hidden !important;
    }

    body {
      font-size: 20px !important;
      line-height: 1.75 !important;
    }

    h1 { font-size: 34px !important; }
    h2 { font-size: 30px !important; }
    h3 { font-size: 25px !important; }
    p, label, .muted, .sidenav a, li, td, th {
      font-size: 19px !important;
    }

    .sidenav {
      width: 96vw !important;
      max-width: 460px !important;
    }
    .sidenav a {
      min-height: 72px !important;
      padding: 20px 24px !important;
    }
    #user-menu-toggle {
      font-size: 24px !important;
      min-height: 78px !important;
    }
    .mall-selector-sidenav select,
    #mall-select-sidenav {
      font-size: 18px !important;
      line-height: 1.4 !important;
      min-height: 52px !important;
    }

    /* Option list: respected on some Android/desktop UAs (iOS uses system picker) */
    #mall-select-sidenav option {
      font-size: 17px;
      line-height: 1.35;
      padding: 0.4em 0.5em;
    }

    .btn {
      font-size: 19px !important;
      min-height: 56px !important;
      padding: 14px 20px !important;
    }

    /* default-edit: keep “Add images” compact on mobile (global .btn is oversized here) */
    body.admin-default-edit #mall-add-images-btn {
      font-size: 0.875rem !important;
      min-height: 0 !important;
      padding: 0.35rem 0.75rem !important;
      line-height: 1.35 !important;
    }

    input, select, textarea {
      font-size: 19px !important;
      min-height: 54px !important;
    }

    .page-container,
    .main-content,
    form,
    .content-form,
    .list,
    .stores-list,
    .managers-list,
    table {
      width: 100% !important;
      max-width: 100% !important;
    }

    .row,
    .store-row,
    .list .row,
    .list .list-header,
    .managers-list .row,
    .managers-list .list-header {
      grid-template-columns: 1fr !important;
    }

    .row > *,
    .store-row > *,
    .list .row > *,
    .list .list-header > *,
    .managers-list .row > *,
    .managers-list .list-header > * {
      min-width: 0 !important;
      width: 100% !important;
    }

    img,
    video,
    iframe,
    canvas,
    svg {
      max-width: 100% !important;
      height: auto !important;
    }
  }

  /* View stores: keep 3-column grid between 769–900px (above mobile 2-col breakpoint) */
  @media (max-width: 900px) and (min-width: 769px) {
    body.admin-view-stores .stores-list .stores-list-header,
    body.admin-view-stores .stores-list .store-row {
      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(72px, max-content) !important;
    }
    body.admin-view-stores .stores-list.stores-list--no-categories .stores-list-header,
    body.admin-view-stores .stores-list.stores-list--no-categories .store-row {
      grid-template-columns: minmax(0, 1fr) minmax(72px, max-content) !important;
    }
  }

  /* View stores mobile cleanup (<=768): readable rows + normal buttons */
  @media (max-width: 768px) {
    body.admin-view-stores .stores-list .stores-list-header {
      grid-template-columns: 1fr !important;
      grid-template-rows: auto !important;
      grid-template-areas: "store" !important;
      gap: 8px !important;
    }
    body.admin-view-stores .stores-list .stores-list-col-category,
    body.admin-view-stores .stores-list .stores-list-col-actions {
      display: none !important;
    }

    body.admin-view-stores .stores-list .store-row {
      grid-template-columns: 1fr !important;
      gap: 8px !important;
      padding: 12px !important;
    }
    body.admin-view-stores .stores-list .store-category {
      display: block !important;
      font-size: 14px !important;
      color: var(--text-secondary) !important;
    }
    body.admin-view-stores .stores-list .store-actions {
      justify-content: flex-end !important;
      gap: 8px !important;
      flex-wrap: wrap !important;
    }

    /* Cancel icon-only behavior for store action buttons */
    body.admin-view-stores .stores-list .btn-secondary,
    body.admin-view-stores .stores-list .btn-edit,
    body.admin-view-stores .stores-list .btn-delete {
      font-size: 14px !important;
      line-height: 1.2 !important;
      min-width: 0 !important;
      width: auto !important;
      height: auto !important;
      min-height: 34px !important;
      padding: 6px 10px !important;
      border-radius: 6px !important;
    }
    body.admin-view-stores .stores-list .btn-secondary::before,
    body.admin-view-stores .stores-list .btn-edit::before,
    body.admin-view-stores .stores-list .btn-delete::before {
      margin-right: 4px !important;
    }
  }

  /* View stores responsive actions + 2-column row layout at <=900 (dropdown like malls.php) */
  @media (max-width: 900px) {
    body.admin-view-stores .stores-list,
    body.admin-view-stores .stores-list .store-block,
    body.admin-view-stores .stores-list .store-row {
      overflow: visible !important;
    }

    body.admin-view-stores .stores-list .store-row {
      grid-template-columns: minmax(0, 1.35fr) auto !important;
      grid-template-areas:
        "name actions"
        "category actions" !important;
      align-items: start !important;
      gap: 8px 10px !important;
    }
    body.admin-view-stores .stores-list.stores-list--no-categories .store-row {
      grid-template-areas: "name actions" !important;
    }
    body.admin-view-stores .stores-list .store-name {
      grid-area: name;
      min-width: 0;
      width: 100%;
    }
    body.admin-view-stores .stores-list .store-category {
      grid-area: category;
      display: block !important;
      white-space: normal !important;
    }

    body.admin-view-stores .stores-list .store-actions {
      grid-area: actions;
      position: relative !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-end !important;
      width: auto !important;
      min-width: 0 !important;
    }

    body.admin-view-stores .stores-list .store-actions-toggle {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 32px !important;
      min-width: 32px !important;
      height: 32px !important;
      border: 1px solid #d1d5db !important;
      background: #fff !important;
      color: #374151 !important;
      border-radius: 6px !important;
      cursor: pointer !important;
      font-size: 18px !important;
      line-height: 1 !important;
      padding: 0 !important;
      font-weight: 400 !important;
    }
    body.admin-view-stores .stores-list .store-actions-toggle::after {
      content: none !important;
    }

    body.admin-view-stores .stores-list .store-actions-menu {
      display: none !important;
      position: absolute !important;
      right: 0 !important;
      top: calc(100% + 6px) !important;
      min-width: 75px !important;
      max-width: 75px !important;
      background: #fff !important;
      border: 1px solid #d1d5db !important;
      border-radius: 8px !important;
      box-shadow: 0 8px 20px rgba(0,0,0,.12) !important;
      padding: 8px !important;
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 6px !important;
      z-index: 30 !important;
    }
    body.admin-view-stores .stores-list .store-actions.is-open .store-actions-menu {
      display: flex !important;
    }

    body.admin-view-stores .stores-list .store-actions-menu .btn,
    body.admin-view-stores .stores-list .store-actions-menu form {
      width: 100% !important;
    }
    body.admin-view-stores .stores-list .store-actions-menu .btn {
      font-size: 13px !important;
      line-height: 1.2 !important;
      justify-content: flex-start !important;
      min-height: 32px !important;
      height: auto !important;
      padding: 6px 10px !important;
      border-radius: 6px !important;
    }
    body.admin-view-stores .stores-list .store-actions-menu .btn::before {
      margin-right: 6px !important;
      font-size: 14px !important;
      line-height: 1 !important;
      content: unset;
    }
    /* Mobile: no view/eye glyph on View — text only */
    body.admin-view-stores .stores-list .store-actions-menu .btn.btn-small.btn-secondary::before {
      content: none !important;
      display: none !important;
      margin: 0 !important;
    }
    body.admin-view-stores .stores-list .store-actions-menu form .btn {
      font-size: 13px !important;
      line-height: 1.2 !important;
      justify-content: flex-start !important;
    }
    body.admin-view-stores .stores-list .store-actions-menu form .btn::before {
      content: unset !important;
      margin-right: 0 !important;
    }

    body.admin-view-stores .stores-list .store-actions form {
      margin: 0 !important;
      display: block !important;
    }
  }
   
   /* =========================================================
      UTILITY — remove old centered layout residue
      ========================================================= */
   
   body.page-admin,
   body.admin-console,
   body.admin-view-stores,
   body.admin-store-edit,
   body.admin-view-deals,
   body.admin-deals-edit,
   body.admin-view-events,
   body.admin-events-edit,
   body.admin-navigation,
   body.admin-domains,
   body.admin-default-edit {
     padding: 0 !important;
     margin: 0 !important;
   }
   
   /* Force left-aligned headings on all internal pages */
   body:not(.page-admin) h1,
   body:not(.page-admin) h2,
   body:not(.page-admin) h3 {
     text-align: left;
   }
   
   /* Print */
   @media print {
     .sidenav, .hamburger-menu, .modal-overlay, .top-header, .sidenav-overlay { display: none !important; }
     .page-container { margin-left: 0 !important; }
     body { background: white !important; }
   }

  /* View stores mobile header: hide labels, full-width search */
   @media (max-width: 900px) {
    /* Hide header labels but keep search visible */
    body.admin-view-stores .stores-list .stores-list-header {
      display: block !important;
      padding: 14px 12px 10px !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span {
      display: none !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-store {
      display: flex !important;
      align-items: center !important;
      width: 100% !important;
      gap: 8px !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-store .sortable-header {
      display: none !important;
    }
    body.admin-view-stores .stores-list #store-filter-name {
      flex: 1 1 auto !important;
      max-width: none !important;
      min-height: 32px !important;
      padding: 0.22rem 0.45rem !important;
      font-size: 0.84rem !important;
      line-height: 1.2 !important;
    }
  }

  /* View stores: show Store search + Category + Actions headers between 601–900px */
  @media (min-width: 601px) and (max-width: 900px) {
    body.admin-view-stores .stores-list .stores-list-header {
      display: grid !important;
      grid-template-columns: 52px minmax(0, 1fr) minmax(0, 0.9fr) minmax(72px, max-content) !important;
      grid-template-rows: auto !important;
      grid-template-areas: none !important;
      align-items: start !important;
      gap: 12px !important;
      padding: 14px 18px 12px !important;
    }
    body.admin-view-stores .stores-list.stores-list--no-categories .stores-list-header {
      grid-template-columns: 52px minmax(0, 1fr) minmax(72px, max-content) !important;
    }
    body.admin-view-stores .stores-list .store-row {
      grid-template-columns: 52px minmax(0, 1fr) minmax(0, 0.9fr) minmax(72px, max-content) !important;
      grid-template-areas: none !important;
      align-items: center !important;
      gap: 12px !important;
    }
    body.admin-view-stores .stores-list.stores-list--no-categories .store-row {
      grid-template-columns: 52px minmax(0, 1fr) minmax(72px, max-content) !important;
      grid-template-areas: none !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span {
      display: none !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-logo {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-store,
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-category,
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-actions {
      display: flex !important;
      align-items: center !important;
    }
    body.admin-view-stores .stores-list .store-row > .store-logo-col {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }
    body.admin-view-stores .stores-list .store-name,
    body.admin-view-stores .stores-list .store-category,
    body.admin-view-stores .stores-list .store-actions {
      grid-area: auto !important;
    }
    body.admin-view-stores .stores-list .store-category {
      display: block !important;
      white-space: normal !important;
    }
    body.admin-view-stores .stores-list .store-actions {
      justify-self: end !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-actions {
      justify-content: center !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-store {
      width: auto !important;
      min-width: 0 !important;
      gap: 8px !important;
    }
    body.admin-view-stores .stores-list .stores-list-header > span.stores-list-col-store .sortable-header {
      display: none !important;
    }
    body.admin-view-stores .stores-list #store-filter-name {
      flex: 1 1 auto !important;
      max-width: none !important;
      min-height: 32px !important;
      padding: 0.22rem 0.45rem !important;
      font-size: 0.84rem !important;
      line-height: 1.2 !important;
    }
  }

  /* View events mobile actions: mirror store actions behavior */
  @media (max-width: 900px) {
    body.admin-view-events #event-filter-title,
    body.admin-view-events .event-list-global-search-input {
      min-height: 32px !important;
      padding: 0.22rem 0.45rem !important;
      font-size: 0.84rem !important;
      line-height: 1.2 !important;
    }

    /* Events header on mobile: keep only Event label */
    body.admin-view-events .list .list-header > span {
      display: none !important;
    }
    body.admin-view-events .list .list-header > span:first-child {
      display: inline-flex !important;
      align-items: center !important;
      justify-self: start !important;
    }

    body.admin-view-events .list .row {
      grid-template-columns: minmax(0, 1fr) auto !important;
      grid-template-areas:
        "title actions"
        "dates actions"
        "status actions" !important;
      align-items: start !important;
      gap: 8px 10px !important;
    }
    body.admin-view-events .list .row .event-title { grid-area: title; min-width: 0; }
    body.admin-view-events .list .row .event-dates { grid-area: dates; }
    body.admin-view-events .list .row .event-status { grid-area: status; }
    body.admin-view-events .list .row .event-actions {
      grid-area: actions;
      position: relative;
      justify-content: flex-end !important;
      align-items: flex-end !important;
      width: 45px !important;
      min-width: 45px !important;
    }

    body.admin-view-events .event-actions-toggle {
      display: inline-flex !important;
      align-items: center;
      justify-content: center !important;
      background: #f3f4f6;
      border: 1px solid #d1d5db;
      color: #111827;
      width: 45px !important;
      min-width: 45px !important;
      padding: 6px 0 !important;
      border-radius: 6px;
      cursor: pointer;
      font-size: 0 !important;
    }
    body.admin-view-events .event-actions-toggle::after {
      content: "⋯";
      font-size: 16px;
      line-height: 1;
    }
    body.admin-view-events .event-actions-menu {
      display: none !important;
      position: absolute;
      right: 0;
      top: calc(100% + 6px);
      min-width: 75px;
      max-width: 75px;
      background: #fff;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      box-shadow: 0 8px 20px rgba(0,0,0,.12);
      padding: 6px;
      flex-direction: column;
      align-items: stretch;
      gap: 6px;
      z-index: 20;
    }
    body.admin-view-events .event-actions.is-open .event-actions-menu {
      display: flex !important;
    }

    /* Keep text labels visible in mobile event action menu */
    body.admin-view-events .event-actions-menu .btn-secondary,
    body.admin-view-events .event-actions-menu .btn-edit,
    body.admin-view-events .event-actions-menu .btn-delete,
    body.admin-view-events .event-actions-menu form .btn {
      font-size: 13px !important;
      line-height: 1.2 !important;
      justify-content: flex-start !important;
      min-height: 32px !important;
      height: 32px !important;
      width: 60px !important;
      min-width: 60px !important;
      max-width: 60px !important;
      padding: 6px 10px !important;
      border-radius: 6px !important;
    }
    body.admin-view-events .event-actions-menu .btn-secondary::before,
    body.admin-view-events .event-actions-menu .btn-edit::before,
    body.admin-view-events .event-actions-menu .btn-delete::before,
    body.admin-view-events .event-actions-menu form .btn::before {
      margin-right: 6px !important;
      font-size: 14px !important;
      line-height: 1 !important;
      content: unset;
    }
    body.admin-view-events .event-actions-menu .btn.btn-small.btn-secondary::before {
      content: none !important;
      display: none !important;
      margin: 0 !important;
    }
  }

  /* View deals mobile actions: text labels + unclipped dropdown */
  @media (max-width: 900px) {
    body.admin-view-deals .list,
    body.admin-view-deals .row-block,
    body.admin-view-deals .list .row {
      overflow: visible !important;
    }

    /* Deals header on mobile: keep Store + Deal labels visible */
    body.admin-view-deals .list .list-header > span {
      display: none !important;
    }
    body.admin-view-deals .list .list-header > span:first-child,
    body.admin-view-deals .list .list-header > span:nth-child(2),
    body.admin-view-deals .list .list-header > span:nth-child(3) {
      display: inline-flex !important;
      align-items: center !important;
      justify-self: start !important;
    }

    body.admin-view-deals .list .row {
      grid-template-columns: minmax(0, 1fr) auto !important;
      grid-template-areas:
        "store actions"
        "title actions"
        "dates actions"
        "status actions" !important;
      align-items: start !important;
      gap: 8px 10px !important;
    }
    body.admin-view-deals .list .row .store-name { grid-area: store; min-width: 0; }
    body.admin-view-deals .list .row .deal-title { grid-area: title; min-width: 0; }
    body.admin-view-deals .list .row .deal-dates { grid-area: dates; }
    body.admin-view-deals .list .row .deal-status { grid-area: status; }
    body.admin-view-deals .list .row .deal-actions {
      grid-area: actions;
      position: relative;
      justify-content: flex-end !important;
      align-items: flex-end !important;
      width: 45px !important;
      min-width: 45px !important;
    }

    body.admin-view-deals .deal-actions-toggle {
      display: inline-flex !important;
      align-items: center;
      justify-content: center !important;
      background: #f3f4f6;
      border: 1px solid #d1d5db;
      color: #111827;
      width: 45px !important;
      min-width: 45px !important;
      padding: 6px 0 !important;
      border-radius: 6px;
      cursor: pointer;
      font-size: 0 !important;
    }
    body.admin-view-deals .deal-actions-toggle::after {
      content: "⋯";
      font-size: 16px;
      line-height: 1;
    }
    body.admin-view-deals .deal-actions-menu {
      display: none !important;
      position: absolute;
      right: 0;
      top: calc(100% + 6px);
      min-width: 90px;
      background: #fff;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      box-shadow: 0 8px 20px rgba(0,0,0,.12);
      padding: 6px;
      flex-direction: column;
      align-items: stretch;
      gap: 6px;
      z-index: 20;
      max-height: min(220px, calc(100vh - 110px));
      max-height: min(220px, calc(100dvh - 110px));
      overflow-y: auto;
      overscroll-behavior: contain;
    }
    body.admin-view-deals .deal-actions.is-open .deal-actions-menu {
      display: flex !important;
    }
    body.admin-view-deals .deal-actions-menu .btn-secondary,
    body.admin-view-deals .deal-actions-menu .btn-edit,
    body.admin-view-deals .deal-actions-menu .btn-delete,
    body.admin-view-deals .deal-actions-menu form .btn {
      font-size: 13px !important;
      line-height: 1.2 !important;
      justify-content: flex-start !important;
      min-height: 32px !important;
      height: 32px !important;
      width: 75px !important;
      min-width: 75px !important;
      max-width: 75px !important;
      padding: 6px 10px !important;
      border-radius: 6px !important;
    }
    body.admin-view-deals .deal-actions-menu .btn-secondary::before,
    body.admin-view-deals .deal-actions-menu .btn-edit::before,
    body.admin-view-deals .deal-actions-menu .btn-delete::before,
    body.admin-view-deals .deal-actions-menu form .btn::before {
      margin-right: 6px !important;
      font-size: 14px !important;
      line-height: 1 !important;
      content: unset;
    }
    body.admin-view-deals .deal-actions-menu .btn.btn-small.btn-secondary::before {
      content: none !important;
      display: none !important;
      margin: 0 !important;
    }
  }

  /* Navigation mobile: keep rows horizontally aligned */
  @media (max-width: 900px) {
    body.admin-navigation .nav-list-header .list-header {
      grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr) !important;
      align-items: center !important;
      column-gap: 8px !important;
    }

    body.admin-navigation .nav-list-header .list-header > span:last-child {
      display: none !important;
    }

    /* Keep URL column visible on mobile for navigation lists */
    body.admin-navigation .nav-list-header .list-header > span:nth-child(3),
    body.admin-navigation .nav-list-header .row > div:nth-child(3) {
      display: block !important;
    }

    body.admin-navigation .nav-list-header .row {
      grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr) auto !important;
      align-items: center !important;
      column-gap: 8px !important;
    }

    body.admin-navigation .nav-list-header .list-header > span,
    body.admin-navigation .nav-list-header .row > * {
      min-width: 0 !important;
      width: auto !important;
    }

    body.admin-navigation .nav-list-header .row .store-name,
    body.admin-navigation .nav-list-header .row > div:nth-child(3) {
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
    }

    body.admin-navigation .nav-list-header .row .deal-actions {
      justify-self: end !important;
      display: flex !important;
      justify-content: flex-end !important;
      align-items: center !important;
      width: auto !important;
    }

    body.admin-navigation .nav-list-header .row .deal-actions .btn {
      font-size: 13px !important;
      line-height: 1.2 !important;
      min-width: 0 !important;
      width: auto !important;
      white-space: nowrap !important;
      min-height: 30px !important;
      height: 30px !important;
      padding: 4px 8px !important;
    }
    body.admin-navigation .nav-list-header .row .deal-actions .btn::before {
      content: none !important;
      display: none !important;
    }
  }

  /* Navigation tablet: keep desktop-style layout (901-1024) */
  @media (min-width: 901px) and (max-width: 1024px) {
    body.admin-navigation .nav-list-header .list-header,
    body.admin-navigation .nav-list-header .row {
      grid-template-columns: 28px 2fr 2fr 120px !important;
    }

    body.admin-navigation .nav-list-header .list-header > span:nth-child(3),
    body.admin-navigation .nav-list-header .row > div:nth-child(3) {
      display: block !important;
    }

    body.admin-navigation .nav-list-header .row .deal-actions {
      justify-self: end !important;
      display: flex !important;
      justify-content: flex-end !important;
      align-items: center !important;
      width: auto !important;
    }
  }

  /* Managers mobile: keep rows horizontally aligned like navigation */
  @media (max-width: 900px) {
    .list.managers-list .list-header {
      grid-template-columns: minmax(0, 1fr) auto !important;
      align-items: center !important;
      column-gap: 8px !important;
    }

    .list.managers-list .list-header > span:last-child {
      display: none !important;
    }
    .list.managers-list .list-header > span:nth-child(2),
    .list.managers-list .list-header > span:nth-child(3) {
      display: none !important;
    }

    .list.managers-list .row {
      grid-template-columns: minmax(0, 1fr) auto !important;
      align-items: center !important;
      column-gap: 8px !important;
    }

    .list.managers-list .list-header > span,
    .list.managers-list .row > * {
      min-width: 0 !important;
      width: auto !important;
    }

    .list.managers-list .row > div:nth-child(1) {
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
      display: block !important;
    }
    .list.managers-list .row > div:nth-child(2),
    .list.managers-list .row > div:nth-child(3) {
      display: none !important;
    }

    .list.managers-list .list-header > span:first-child {
      width: 100% !important;
      min-width: 0 !important;
    }
    .list.managers-list #manager-filter-email {
      width: 100% !important;
      max-width: none !important;
      flex: 1 1 auto !important;
    }

    .list.managers-list .row .deal-actions {
      justify-self: end !important;
      display: flex !important;
      align-items: center !important;
      justify-content: flex-end !important;
      gap: 6px !important;
      flex-wrap: nowrap !important;
      width: auto !important;
    }

    .list.managers-list .row .deal-actions .btn {
      font-size: 13px !important;
      line-height: 1.2 !important;
      min-width: 0 !important;
      width: auto !important;
      min-height: 30px !important;
      height: 30px !important;
      padding: 4px 8px !important;
      white-space: nowrap !important;
    }
    .list.managers-list .row .deal-actions .btn::before {
      content: none !important;
      display: none !important;
    }
  }

  /* Managers tablet: keep desktop-style layout (901-1120) */
  @media (min-width: 901px) and (max-width: 1120px) {
    .list.managers-list .list-header,
    .list.managers-list .row {
      grid-template-columns: 2fr 2fr 2fr 2fr !important;
    }

    .list.managers-list .list-header > span:nth-child(2),
    .list.managers-list .list-header > span:nth-child(3),
    .list.managers-list .list-header > span:nth-child(4),
    .list.managers-list .row > div:nth-child(2),
    .list.managers-list .row > div:nth-child(3),
    .list.managers-list .row > div:nth-child(4) {
      display: block !important;
    }
  }

  /* Managers / View stores: keep Add button visible under fixed header at 601–768 */
  @media (min-width: 601px) and (max-width: 768px) {
    body.admin-navigation .main-content {
      padding: calc(var(--mobile-header-height) + 12px) 14px 16px !important;
    }
    body.admin-navigation .main-content h1 {
      display: block !important;
      visibility: visible !important;
    }

    body.admin-scraper .main-content {
      padding: calc(var(--mobile-header-height) + 12px) 14px 16px !important;
    }
    body.admin-scraper .main-content h1 {
      display: block !important;
      visibility: visible !important;
    }

    body.admin-view-events .main-content {
      padding: calc(var(--mobile-header-height) + 12px) 14px 16px !important;
    }
    body.admin-view-events .main-content h1 {
      display: block !important;
      visibility: visible !important;
    }
    body.admin-view-deals .main-content {
      padding: calc(var(--mobile-header-height) + 12px) 14px 16px !important;
    }
    body.admin-view-deals .main-content h1 {
      display: block !important;
      visibility: visible !important;
    }
    body.admin-domains .main-content {
      padding: calc(var(--mobile-header-height) + 12px) 14px 16px !important;
    }
    body.admin-domains .main-content h1 {
      display: block !important;
      visibility: visible !important;
    }

    body.admin-managers .main-content {
      padding: calc(var(--mobile-header-height) + 12px) 14px 16px !important;
    }
    body.admin-managers .manager-add-wrap {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
      position: relative;
      z-index: 1;
    }
    body.admin-managers .manager-add-btn {
      display: inline-flex !important;
      white-space: nowrap !important;
    }

    body.admin-view-stores .main-content {
      padding: calc(var(--mobile-header-height) + 12px) 14px 16px !important;
    }
    body.admin-view-stores .store-add-wrap {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
      position: relative;
      z-index: 1;
    }
    body.admin-view-stores .store-add-btn {
      display: inline-flex !important;
      white-space: nowrap !important;
    }
  }

  body.admin-malls .mall-header-label--merged {
    display: none;
  }

  /* Malls mobile: single header + full-width search + action dropdown */
  @media (max-width: 900px) {
    body.admin-malls .list,
    body.admin-malls .row-block,
    body.admin-malls .list .row {
      overflow: visible !important;
    }

    body.admin-malls .list .list-header {
      grid-template-columns: minmax(0, 1fr) auto !important;
      align-items: center !important;
      gap: 8px !important;
    }
    body.admin-malls .list .list-header > span {
      display: none !important;
    }
    body.admin-malls .list .list-header > span:first-child {
      display: flex !important;
      align-items: flex-start !important;
      flex-wrap: wrap !important;
      width: 100% !important;
      min-width: 0 !important;
      gap: 6px 8px !important;
    }
    body.admin-malls .list .list-header > span:first-child .sortable-header {
      white-space: nowrap !important;
      flex: 1 1 100% !important;
      width: 100% !important;
    }
    body.admin-malls #mall-filter {
      flex: 1 1 100% !important;
      width: 100% !important;
      max-width: none !important;
      min-width: 0 !important;
      min-height: 36px !important;
      height: auto !important;
      padding: 6px 10px !important;
      font-size: 14px !important;
      line-height: 1.2 !important;
      box-sizing: border-box !important;
    }

    body.admin-malls .list .row {
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr) auto !important;
      grid-template-areas: "name site actions" !important;
      align-items: center !important;
      gap: 8px 10px !important;
    }
    body.admin-malls .list .row > div:nth-child(1) { grid-area: name; min-width: 0; }
    body.admin-malls .list .row > div:nth-child(2) {
      grid-area: site;
      min-width: 0;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
    }
    body.admin-malls .list .row > div:nth-child(3) {
      grid-area: actions;
      justify-self: end;
      min-width: 0 !important;
      max-width: 100% !important;
      overflow: visible !important;
    }

    body.admin-malls .mall-actions {
      position: relative !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-end !important;
      width: auto !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }
    body.admin-malls .mall-actions-toggle {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 32px !important;
      min-width: 32px !important;
      height: 32px !important;
      border: 1px solid #d1d5db !important;
      background: #fff !important;
      color: #374151 !important;
      border-radius: 6px !important;
      cursor: pointer !important;
      font-size: 18px !important;
      line-height: 1 !important;
      padding: 0 !important;
    }
    body.admin-malls .mall-actions-menu {
      display: none !important;
      position: absolute !important;
      right: 0 !important;
      left: auto !important;
      top: calc(100% + 6px) !important;
      min-width: 120px !important;
      max-width: min(180px, calc(100vw - 28px)) !important;
      background: #fff !important;
      border: 1px solid #d1d5db !important;
      border-radius: 8px !important;
      box-shadow: 0 8px 20px rgba(0,0,0,.12) !important;
      padding: 8px !important;
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 6px !important;
      z-index: 30 !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
    }
    body.admin-malls .mall-actions.is-open .mall-actions-menu {
      display: flex !important;
    }
    body.admin-malls .mall-actions-menu .btn {
      width: 100% !important;
      font-size: 13px !important;
      line-height: 1.2 !important;
      justify-content: flex-start !important;
      min-height: 32px !important;
      height: 32px !important;
      padding: 6px 10px !important;
      border-radius: 6px !important;
    }
    body.admin-malls .mall-actions-menu .btn::before {
      margin-right: 6px !important;
      font-size: 14px !important;
      line-height: 1 !important;
      content: unset;
    }
  }

  /* Malls: <=414px merge Mall Name + Site Name into one column */
  @media (max-width: 414px) {
    body.admin-malls .mall-header-label--default {
      display: none !important;
    }
    body.admin-malls .mall-header-label--merged {
      display: inline !important;
    }

    body.admin-malls .list .row {
      grid-template-columns: minmax(0, 1fr) auto !important;
      grid-template-areas:
        "name actions"
        "site actions" !important;
      align-items: start !important;
      gap: 4px 8px !important;
    }

    body.admin-malls .list .row > div:nth-child(1) {
      grid-area: name;
      min-width: 0;
    }
    body.admin-malls .list .row > div:nth-child(2) {
      grid-area: site;
      min-width: 0;
      white-space: normal !important;
      overflow: visible !important;
      text-overflow: clip !important;
      color: var(--text-secondary) !important;
      font-size: 0.88rem !important;
      margin-top: 0 !important;
    }
    body.admin-malls .list .row > div:nth-child(3) {
      grid-area: actions;
      align-self: start !important;
      justify-self: end !important;
    }

    body.admin-malls #mall-filter {
      flex: 0 0 100% !important;
      width: 100% !important;
      min-width: 200px !important;
      max-width: 100% !important;
      min-height: 36px !important;
      height: auto !important;
      padding: 6px 10px !important;
      font-size: 14px !important;
      line-height: 1.2 !important;
      box-sizing: border-box !important;
    }
  }

  /* Malls desktop: hide toggle above 1018px, keep rows horizontal */
  @media (min-width: 1019px) {
    body.admin-malls .list .list-header,
    body.admin-malls .list .row {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 165px !important;
      align-items: center !important;
      column-gap: 12px !important;
    }

    body.admin-malls .mall-actions {
      display: flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 6px !important;
      flex-wrap: nowrap !important;
      position: static !important;
      width: auto !important;
    }

    body.admin-malls .mall-actions-toggle {
      display: none !important;
    }

    body.admin-malls .mall-actions-menu {
      display: flex !important;
      position: static !important;
      min-width: 0 !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      padding: 0 !important;
      flex-direction: row !important;
      align-items: center !important;
      gap: 6px !important;
      flex-wrap: nowrap !important;
    }
  }

  /* Malls mid widths: use inline actions (no 3-dots) above 612px */
  @media (min-width: 613px) and (max-width: 1018px) {
    body.admin-malls .list .list-header,
    body.admin-malls .list .row {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 165px !important;
      align-items: center !important;
      column-gap: 10px !important;
    }

    body.admin-malls .list .row > div:nth-child(3) {
      width: 165px !important;
      min-width: 165px !important;
      max-width: 165px !important;
    }

    body.admin-malls .mall-actions {
      display: flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 6px !important;
      flex-wrap: nowrap !important;
      position: static !important;
      width: auto !important;
    }

    body.admin-malls .mall-actions-toggle {
      display: none !important;
    }

    body.admin-malls .mall-actions-menu {
      display: flex !important;
      position: static !important;
      min-width: 0 !important;
      max-width: 100% !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      padding: 0 !important;
      flex-direction: row !important;
      align-items: center !important;
      gap: 6px !important;
      flex-wrap: nowrap !important;
    }
  }

/* =========================================================
   UTILITY: Generic card wrapper
   ========================================================= */
.card {
  background: var(--card-bg);
  border-radius: var(--card-radius);
  border: 1px solid var(--table-border);
  box-shadow: var(--card-shadow);
  padding: 1.75rem;
  margin-bottom: 1.25rem;
}

/* =========================================================
   PAGE TITLE ROW (collections, approvals, shared)
   ========================================================= */
.page-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
}
.page-title-row h1 { margin-bottom: 4px; }
.page-title-row p  { margin-bottom: 0; }

.mode-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  background: var(--btn-edit-bg);
  color: var(--text-primary);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  border: 1px solid var(--btn-edit-border);
  white-space: nowrap;
  margin-top: 4px;
}

/* =========================================================
   COLLECTIONS PAGE
   ========================================================= */

.mode-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 700px) {
  .mode-cards { grid-template-columns: 1fr; }
}
.mode-card {
  border: 2px solid var(--table-border);
  border-radius: var(--card-radius);
  padding: 1.5rem;
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s;
  background: var(--card-bg);
  position: relative;
  user-select: none;
}
.mode-card:hover {
  border-color: var(--brand-teal);
  box-shadow: 0 4px 16px rgba(79,143,184,.15);
}
.mode-card.is-active {
  border-color: var(--brand-teal);
  background: #f0f7fc;
  box-shadow: 0 0 0 3px rgba(79,143,184,.18);
}
.mode-card-icon  { font-size: 2rem; margin-bottom: 0.75rem; }
.mode-card-title { font-size: 1rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.3rem; }
.mode-card-help-wrap {
  position: absolute;
  right: 10px;
  top: 10px;
  display: inline-flex;
  align-items: center;
}
.mode-card-help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid var(--input-border);
  color: var(--text-secondary);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  background: #fff;
}
.mode-card-tooltip {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 220px;
  max-width: 300px;
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  border: 1px solid var(--table-border);
  background: #fff;
  color: var(--text-secondary);
  font-size: 0.82rem;
  line-height: 1.35;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 20;
}
.mode-card-help-wrap:hover .mode-card-tooltip {
  opacity: 1;
  visibility: visible;
}

/* Tab bar */
.coll-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--table-border);
  margin-bottom: 1.75rem;
}
.coll-tab {
  padding: 0.6rem 1.25rem;
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  font-family: var(--font-base);
  transition: color .15s, border-color .15s;
}
.coll-tab:hover { color: var(--text-primary); }
.coll-tab.active {
  color: var(--brand-teal);
  border-bottom-color: var(--brand-teal);
}
.coll-panel { display: none; }
.coll-panel.active { display: block; }

/* Image grid */
.img-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}
.img-card {
  border-radius: var(--card-radius);
  overflow: hidden;
  border: 1.5px solid var(--table-border);
  background: var(--table-header-bg);
  position: relative;
  transition: box-shadow .2s, border-color .2s;
}
.img-card:hover {
  box-shadow: var(--card-shadow);
  border-color: #9ca3af;
}
.img-card img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}
.img-card-footer {
  padding: 0.5rem 0.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
}
.img-card-label {
  font-size: 0.78rem;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.img-delete-btn {
  border: 1px solid var(--btn-danger-border);
  background: var(--btn-danger-bg);
  color: var(--btn-danger-text);
  border-radius: 5px;
  padding: 3px 8px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
  font-family: var(--font-base);
}
.img-delete-btn:hover { background: #fee2e2; }

/* Upload zone */
.upload-zone {
  border: 2px dashed var(--input-border);
  border-radius: var(--card-radius);
  padding: 2rem 1.5rem;
  text-align: center;
  cursor: pointer;
  transition: border-color .2s, background .2s;
  background: var(--table-header-bg);
  display: block;
}
.upload-zone:hover,
.upload-zone.drag-over {
  border-color: var(--brand-teal);
  background: #f0f7fc;
}
.upload-zone-icon { font-size: 2.2rem; margin-bottom: 0.5rem; }
.upload-zone-text { font-size: 0.9rem; color: var(--text-secondary); }
.upload-zone-text strong { color: var(--brand-teal); }

/* Holiday grid */
.holiday-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.holiday-chip {
  border: 2px solid var(--table-border);
  border-radius: var(--card-radius);
  padding: 0.9rem 0.75rem;
  text-align: center;
  cursor: pointer;
  background: var(--card-bg);
  transition: border-color .2s, background .2s;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: var(--text-primary);
}
.holiday-chip:hover  { border-color: var(--brand-teal); background: #f0f7fc; text-decoration: none; }
.holiday-chip.active { border-color: var(--brand-teal); background: #e8f1f8; }
.holiday-chip .hc-icon   { font-size: 1.6rem; line-height: 1; }
.holiday-chip .hc-name   { font-size: 0.8rem; font-weight: 600; line-height: 1.3; }
.holiday-chip .hc-period { font-size: 0.7rem; color: var(--text-muted); }

/* Empty state */
.empty-state          { text-align: center; padding: 3rem 2rem; color: var(--text-secondary); }
.empty-state .es-icon { font-size: 3rem; margin-bottom: 1rem; }
.empty-state p        { font-size: 0.95rem; }

/* Section header row inside cards */
.section-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.section-hd h3 { margin: 0; }

/* Active mode pills */
.active-mode-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
}
.pill-self    { background: var(--status-ok-bg);   color: var(--status-ok-text); }
.pill-namdar  { background: #dbeafe;               color: #1e40af; }
.pill-holiday { background: var(--status-warn-bg); color: var(--status-warn-text); }

/* =========================================================
   APPROVALS PAGE
   ========================================================= */
.pending-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  background: var(--status-warn-bg);
  color: var(--status-warn-text);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  border: 1px solid #fbbf24;
  white-space: nowrap;
}
.status-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--table-border);
  margin-bottom: 1.75rem;
}
.status-tab {
  padding: 0.55rem 1.2rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-secondary);
  border: none;
  background: transparent;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  text-decoration: none;
  font-family: var(--font-base);
  transition: color .15s, border-color .15s;
}
.status-tab:hover  { color: var(--text-primary); text-decoration: none; }
.status-tab.active { color: var(--brand-teal); border-bottom-color: var(--brand-teal); }

@media (max-width: 445px) {
  .status-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.2rem 0.35rem;
    overflow-x: hidden;
  }

  .status-tab {
    display: inline-flex;
    align-items: flex-end;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.05 !important;
    min-height: 34px;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }
}

.change-card {
  border: 1.5px solid var(--table-border);
  border-radius: var(--card-radius);
  background: var(--card-bg);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  transition: box-shadow .2s;
}
.change-card:hover { box-shadow: var(--card-shadow); }
.change-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.change-entity { font-size: 1rem; font-weight: 700; color: var(--text-primary); }
.change-meta   { font-size: 0.83rem; color: var(--text-secondary); margin-top: 2px; }

.change-type-badge { padding: 3px 10px; border-radius: 999px; font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
.badge-update  { background: #dbeafe;               color: #1e40af; }
.badge-create  { background: var(--status-ok-bg);   color: var(--status-ok-text); }
.badge-delete  { background: var(--btn-danger-bg);  color: var(--btn-danger-text); }
.status-badge   { padding: 3px 10px; border-radius: 999px; font-size: 0.78rem; font-weight: 700; }
.badge-pending  { background: var(--status-warn-bg); color: var(--status-warn-text); }
.badge-approved { background: var(--status-ok-bg);  color: var(--status-ok-text); }
.badge-rejected { background: var(--btn-danger-bg); color: var(--btn-danger-text); }

.change-request-box {
  margin-top: 0.65rem;
  padding: 1rem 1.15rem;
  background: var(--table-header-bg);
  border: 1px solid var(--table-border);
  border-radius: var(--card-radius);
}
.change-request-title {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  margin: 0 0 0.5rem;
  line-height: 1.35;
}
.change-request-sub {
  font-size: 0.84rem;
  color: var(--text-secondary);
  margin: 0 0 0.85rem;
  line-height: 1.45;
}
.change-request-row {
  display: grid;
  grid-template-columns: minmax(110px, 150px) 1fr;
  gap: 0.25rem 1rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--table-border);
  font-size: 0.88rem;
  align-items: start;
}
.change-request-row.changed {
  background: var(--status-warn-bg);
  border-left: 3px solid var(--status-warn-text);
  padding-left: 0.6rem;
  margin-left: -0.6rem;
}
.change-request-row:last-child { border-bottom: none; }
.change-request-label { font-weight: 600; color: var(--text-primary); }
.change-request-value { color: var(--text-primary); word-break: break-word; }
.change-request-value.empty { color: var(--text-muted); font-style: italic; }
.change-request-value.long-text {
  white-space: pre-wrap;
  max-height: 220px;
  overflow-y: auto;
  padding: 0.35rem 0.5rem;
  background: var(--card-bg);
  border-radius: 6px;
  border: 1px solid var(--table-border);
  font-size: 0.84rem;
  line-height: 1.45;
}
.change-request-current { margin-top: 0.25rem; font-size: 0.78rem; color: var(--text-secondary); }
.change-fields     { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin: 0.75rem 0; font-size: 0.88rem; color: var(--text-secondary); }
.change-field-item { display: flex; gap: 4px; }
.change-field-key  { font-weight: 600; color: var(--text-primary); }
.change-actions    { display: flex; gap: 0.6rem; align-items: center; flex-wrap: wrap; margin-top: 0.9rem; }

.btn-approve {
  background: var(--status-ok-bg);
  color: var(--status-ok-text);
  border: 1.5px solid #6ee7b7;
  padding: 6px 18px;
  border-radius: 7px;
  font-weight: 700;
  font-size: 0.88rem;
  cursor: pointer;
  transition: background .15s;
  font-family: var(--font-base);
}
.btn-approve:hover { background: #a7f3d0; }
.btn-reject {
  background: var(--btn-danger-bg);
  color: var(--btn-danger-text);
  border: 1.5px solid var(--btn-danger-border);
  padding: 6px 18px;
  border-radius: 7px;
  font-weight: 700;
  font-size: 0.88rem;
  cursor: pointer;
  transition: background .15s;
  font-family: var(--font-base);
}
.btn-reject:hover { background: #fee2e2; }
.review-note {
  flex: 1;
  min-width: 180px;
  padding: 6px 10px;
  border: 1px solid var(--input-border);
  border-radius: 7px;
  font-size: 0.88rem;
  font-family: var(--font-base);
}
.reviewed-by { font-size: 0.82rem; color: var(--text-secondary); margin-top: 0.5rem; }

/* =========================================================
   ACTIVITY LOG (managers.php)
   ========================================================= */
.activity-log-panel {
  margin-top: 1rem;
}
.activity-log-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 12px 18px;
  background: var(--table-header-bg);
  border-bottom: 1px solid var(--table-border);
}
.activity-log-panel-header h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}
.activity-log-search {
  padding: 5px 10px;
  border: 1.5px solid var(--input-border);
  border-radius: var(--input-radius);
  font-size: 14px;
  min-width: 180px;
  max-width: 260px;
  width: 100%;
  background: var(--card-bg);
  color: var(--text-primary);
  font-family: var(--font-base);
}
.activity-log-search::placeholder { color: var(--text-muted); }
.activity-log-search:focus {
  outline: none;
  border-color: var(--input-focus);
  box-shadow: 0 0 0 3px rgba(79,143,184,.12);
}
.activity-log-table-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
}
.activity-log-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
.activity-log-table th {
  text-align: left;
  padding: 10px 18px;
  background: var(--table-header-bg);
  color: var(--text-secondary);
  font-weight: 700;
  font-size: 12.5px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  border-bottom: 1px solid var(--table-border);
  font-family: var(--font-base);
}
.activity-log-table td {
  padding: 10px 18px;
  border-bottom: 1px solid var(--table-border);
  vertical-align: middle;
  color: var(--text-primary);
}
.activity-log-table th:nth-child(1),
.activity-log-table td:nth-child(1) {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.activity-log-table tr:last-child td { border-bottom: none; }
.activity-log-table tr:hover td { background: var(--table-row-hover); }
.activity-log-role {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}
.activity-log-role.admin { background: #dbeafe;               color: #1e40af; }
.activity-log-role.store { background: var(--status-warn-bg); color: var(--status-warn-text); }
.activity-log-role.other { background: var(--status-ok-bg);   color: var(--status-ok-text); }
.activity-log-email  { font-weight: 500; word-break: break-all; }
.activity-log-mall   { color: var(--text-secondary); font-size: 0.88rem; }
.activity-log-what a { color: var(--brand-teal); font-weight: 500; }
.activity-log-what a:hover { text-decoration: underline; }
.activity-log-time {
  color: var(--text-muted);
  white-space: nowrap;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
}
.activity-log-footer {
  display: flex;
  justify-content: center;
  padding: 0.9rem 1.2rem 1.25rem;
  border-top: 1px solid var(--table-border);
}
.activity-log-load-more {
  border: 1.5px solid var(--btn-edit-border);
  background: var(--btn-edit-bg);
  color: var(--text-primary);
  border-radius: 8px;
  padding: 6px 18px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-base);
}
.activity-log-load-more:hover { background: #e2e8f0; }

/* View events <=1120: reduce cramping by stacking Dates under Event and hiding Status. */
@media (max-width: 1596px) {
  body.admin-view-events .list .list-header > span:nth-child(2) {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.admin-view-events .list .list-header > span:nth-child(2) .sortable-header {
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 0.3rem !important;
  }

  body.admin-view-events #event-filter-title,
  body.admin-view-events .event-list-global-search-input {
    max-width: 170px !important;
  }
}

@media (max-width: 1120px) {
  body.admin-view-events .list .list-header {
    grid-template-columns: 52px minmax(0, 1fr) minmax(72px, max-content) !important;
    align-items: center !important;
  }

  body.admin-view-events .list .row {
    grid-template-columns: 52px minmax(0, 1fr) minmax(72px, max-content) !important;
    grid-template-areas:
      "image title actions"
      "image dates actions" !important;
    align-items: start !important;
    gap: 8px 10px !important;
  }

  /* Header: keep image spacer + Event + Actions, hide Dates/Status labels. */
  body.admin-view-events .list .list-header > span {
    display: none !important;
  }
  body.admin-view-events .list .list-header > span:first-child,
  body.admin-view-events .list .list-header > span:nth-child(2),
  body.admin-view-events .list .list-header > span:last-child {
    display: flex !important;
    align-items: center !important;
  }

  body.admin-view-events .list .row > .event-image-col {
    grid-area: image;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.admin-view-events .list .row .event-title { grid-area: title !important; min-width: 0; }
  body.admin-view-events .list .row .event-dates { grid-area: dates !important; }
  body.admin-view-events .list .row .event-status { display: none !important; }
  body.admin-view-events .list .row .event-actions {
    grid-area: actions !important;
    width: auto !important;
    min-width: 72px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
}

@media (min-width: 901px) and (max-width: 1121px) {
  body.admin-view-events .list .list-header > span:last-child {
    justify-content: flex-start !important;
    text-align: left !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 466px) {
  body.admin-view-events .list .list-header {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }

  body.admin-view-events .list .list-header > span:last-child {
    display: none !important;
  }

  body.admin-view-events .list .list-header > span:nth-child(2) {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.admin-view-events #event-filter-title,
  body.admin-view-events .event-list-global-search-input {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0.35rem !important;
  }
}

/* View deals <=1252: remove Date + Status columns. */
@media (max-width: 1252px) {
  body.admin-view-deals .list .list-header {
    grid-template-columns: 52px minmax(0, 1fr) minmax(0, 2fr) 330px !important;
    align-items: center !important;
  }

  body.admin-view-deals .list .row {
    grid-template-columns: 52px minmax(0, 1fr) minmax(0, 2fr) 330px !important;
    grid-template-areas: "image store title actions" !important;
    align-items: center !important;
    gap: 8px 10px !important;
  }

  body.admin-view-deals .list .list-header > span {
    display: none !important;
  }
  body.admin-view-deals .list .list-header > span:first-child,
  body.admin-view-deals .list .list-header > span:nth-child(2),
  body.admin-view-deals .list .list-header > span:nth-child(3),
  body.admin-view-deals .list .list-header > span:last-child {
    display: flex !important;
    align-items: center !important;
  }

  body.admin-view-deals .list .row > .deal-image-col {
    grid-area: image !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.admin-view-deals .list .row .store-name { grid-area: store !important; min-width: 0; }
  body.admin-view-deals .list .row .deal-title {
    grid-area: title !important;
    min-width: 0;
    display: block !important;
  }
  body.admin-view-deals .list .row .deal-actions { grid-area: actions !important; }

  body.admin-view-deals .list .row .deal-dates,
  body.admin-view-deals .list .row .deal-status {
    display: none !important;
  }
}

@media (max-width: 900px) {
  body.admin-view-deals .list .list-header {
    grid-template-columns: 52px minmax(0, 1fr) minmax(0, 2fr) 75px !important;
  }

  body.admin-view-deals .list .row {
    grid-template-columns: 52px minmax(0, 1fr) minmax(0, 2fr) 75px !important;
  }
}

@media (max-width: 624px) {
  /* Merge Store + Deal into one middle column. */
  body.admin-view-deals .list .list-header {
    grid-template-columns: 52px minmax(0, 1fr) 75px !important;
    align-items: center !important;
  }
  body.admin-view-deals .deal-store-sortable-header {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
  }
  body.admin-view-deals .deal-store-header-label--default {
    display: none !important;
  }
  body.admin-view-deals .deal-store-header-label--merged {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    color: inherit !important;
  }
  body.admin-view-deals .list .list-header > span:nth-child(3) {
    display: none !important; /* Hide separate Deal header */
  }

  body.admin-view-deals .list .row {
    grid-template-columns: 52px minmax(0, 1fr) 75px !important;
    grid-template-areas:
      "image store actions"
      "image title actions" !important;
    align-items: start !important;
    gap: 6px 10px !important;
  }
}

/* Domains: keep all 3 columns visible above 572px */
@media (min-width: 573px) and (max-width: 1120px) {
  body.admin-domains .list .list-header,
  body.admin-domains .list .row {
    grid-template-columns: 2fr 2fr 120px !important;
  }
  body.admin-domains .list .list-header > span:nth-child(1),
  body.admin-domains .list .list-header > span:nth-child(2),
  body.admin-domains .list .list-header > span:nth-child(3) {
    display: flex !important;
    align-items: center !important;
  }
  body.admin-domains .domain-actions-toggle { display: none !important; }
  body.admin-domains .domain-actions-menu {
    display: inline-flex !important;
    position: static !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    width: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.admin-domains .domain-header-label--default { display: inline !important; }
  body.admin-domains .domain-header-label--merged { display: none !important; }
}

/* Domains tablet/desktop in mobile-nav range: show plain action buttons (no dropdown). */
@media (min-width: 768px) and (max-width: 1120px) {
  body.admin-domains .domain-col-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    width: auto !important;
    position: static !important;
  }
  body.admin-domains .domain-actions-toggle {
    display: none !important;
  }
  body.admin-domains .domain-actions-menu {
    display: inline-flex !important;
    position: static !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    width: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.admin-domains .domain-actions-menu .btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 28px !important;
    height: 28px !important;
    padding: 4px 8px !important;
    font-size: 12.5px !important;
    line-height: 1.15 !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Domains 768-900: keep normal sizing (avoid oversized mobile typography). */
@media (min-width: 768px) and (max-width: 900px) {
  body.admin-domains {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  body.admin-domains .list .list-header > span {
    font-size: 12.5px !important;
  }
  body.admin-domains .list .row > div {
    font-size: 15px !important;
  }
  body.admin-domains #domain-filter-domain {
    font-size: 14px !important;
    min-height: 36px !important;
    padding: 6px 10px !important;
  }
  body.admin-domains .btn,
  body.admin-domains .btn-small {
    font-size: 13.5px !important;
    min-height: 32px !important;
  }
}

/* Domains: <=767px use toggle dropdown for actions */
@media (max-width: 767px) {
  body.admin-domains .domain-header-main #domain-filter-domain {
    flex: 0 0 200px !important;
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    min-height: 36px !important;
    height: auto !important;
  }
  body.admin-domains .list,
  body.admin-domains .row-block,
  body.admin-domains .domain-row {
    overflow: visible !important;
  }
  body.admin-domains .domain-col-actions {
    position: relative !important;
    display: inline-flex !important;
    align-items: flex-start !important;
    width: 75px !important;
  }
  body.admin-domains .domain-actions-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 75px !important;
    min-width: 75px !important;
    height: 32px !important;
    border: 1px solid #d1d5db !important;
    background: #fff !important;
    color: #374151 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 0 !important;
    line-height: 1 !important;
    padding: 0 6px !important;
  }
  body.admin-domains .domain-actions-toggle::after {
    content: "⋯";
    font-size: 16px;
    line-height: 1;
    color: #374151;
  }
  body.admin-domains .domain-actions-menu {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    min-width: 90px !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.12) !important;
    padding: 6px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    z-index: 40 !important;
  }
  body.admin-domains .domain-col-actions.is-open .domain-actions-menu {
    display: flex !important;
  }
  body.admin-domains .domain-actions-menu .btn {
    width: 75px !important;
    min-width: 75px !important;
    max-width: 75px !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 6px 8px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    justify-content: flex-start !important;
  }
  body.admin-domains .domain-actions-menu .btn::before {
    content: unset !important;
    margin: 0 !important;
  }
}

/* Domains: <=572px merge Domain + Mall Name into one column */
@media (max-width: 572px) {
  body.admin-domains .list .list-header,
  body.admin-domains .domain-row {
    grid-template-columns: minmax(0, 1fr) 120px !important;
  }

  body.admin-domains .domain-header-mall {
    display: none !important;
  }
  body.admin-domains .domain-header-label--default {
    display: none !important;
  }
  body.admin-domains .domain-header-label--merged {
    display: inline !important;
  }

  body.admin-domains .domain-row {
    grid-template-areas:
      "domain actions"
      "mall actions" !important;
    align-items: start !important;
    gap: 6px 10px !important;
  }
  body.admin-domains .domain-col-domain { grid-area: domain; min-width: 0; }
  body.admin-domains .domain-col-mall { grid-area: mall; min-width: 0; color: var(--text-secondary); font-size: 0.88rem; }
  body.admin-domains .domain-col-actions { grid-area: actions; }
}

/* Domains: <=436px place search below merged title */
@media (max-width: 436px) {
  body.admin-domains .domain-header-main {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 0.35rem !important;
  }
  body.admin-domains .domain-sortable-header {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  body.admin-domains .domain-header-main #domain-filter-domain {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    min-height: 36px !important;
    height: auto !important;
  }
}

/* Default label visibility outside <=624px merged-header layout */
body.admin-view-deals .deal-store-header-label--merged {
  display: none;
}

/* Keep Stores list and Store edit page titles equal and slightly smaller */
body.admin-view-stores .main-content h1,
body.admin-store-edit .main-content h1,
body.admin-view-events .main-content h1,
body.admin-view-deals .main-content h1,
body.admin-events-edit .main-content h1,
body.admin-deals-edit .main-content h1 {
  font-size: 22px !important;
  line-height: 1.25 !important;
}

/* Keep top Add buttons slightly smaller and consistent */
body.admin-view-stores .store-add-btn,
body.admin-view-events .event-add-btn,
body.admin-view-deals .deal-add-btn {
  font-size: 16px !important;
  line-height: 1.2 !important;
  padding: 7px 14px !important;
}

/* Managers search: keep normal-sized input */
body.admin-managers #manager-filter-email {
  font-size: 14px !important;
  line-height: 1.2 !important;
  min-height: 36px !important;
  height: auto !important;
  padding: 6px 10px !important;
  max-width: 220px !important;
}

/* Global admin page title consistency */
body[class*="admin-"] .main-content h1 {
  font-size: 22px !important;
  line-height: 1.25 !important;
}

/* Default Edit: mobile sizing should be compact, readable, and flexible */
@media (max-width: 900px) {
  body.admin-default-edit {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  body.admin-default-edit .main-content {
    padding: calc(var(--mobile-header-height) + 10px) 12px 14px !important;
  }

  body.admin-default-edit h2 {
    font-size: 1.25rem !important;
    margin-bottom: 0.5rem !important;
  }

  body.admin-default-edit p,
  body.admin-default-edit label,
  body.admin-default-edit .muted {
    font-size: 0.92rem !important;
    line-height: 1.35 !important;
  }

  body.admin-default-edit .default-edit-form-layout {
    gap: 12px !important;
  }

  body.admin-default-edit .default-edit-fieldset,
  body.admin-default-edit .default-edit-form-layout fieldset,
  body.admin-default-edit fieldset {
    padding: 12px !important;
    margin-bottom: 12px !important;
  }

  body.admin-default-edit .default-edit-form-layout legend,
  body.admin-default-edit .default-edit-fieldset legend {
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
    text-align: left !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.admin-default-edit .default-edit-form input,
  body.admin-default-edit .default-edit-form select,
  body.admin-default-edit .default-edit-form textarea {
    font-size: 16px !important;
    min-height: 38px !important;
    padding: 0.42rem 0.55rem !important;
  }

  /* Default edit: keep all buttons normal-sized on mobile */
  body.admin-default-edit .btn,
  body.admin-default-edit .btn.btn-add,
  body.admin-default-edit .btn.btn-primary,
  body.admin-default-edit .btn.btn-secondary,
  body.admin-default-edit .btn.btn-delete,
  body.admin-default-edit .btn.btn-edit {
    font-size: 14px !important;
    line-height: 1.2 !important;
    min-height: 36px !important;
    height: auto !important;
    padding: 7px 12px !important;
    border-radius: 8px !important;
  }

  body.admin-default-edit .btn::before {
    font-size: 14px !important;
    margin-right: 5px !important;
  }

  /* Keep fields usable without stretching every input too wide */
  body.admin-default-edit .default-edit-form input[type="text"],
  body.admin-default-edit .default-edit-form input[type="tel"],
  body.admin-default-edit .default-edit-form input[type="url"],
  body.admin-default-edit .default-edit-form input[type="number"],
  body.admin-default-edit .default-edit-form select {
    width: 100% !important;
    max-width: 420px !important;
  }

  /* Preserve compact controls inside hours/holidays rows */
  body.admin-default-edit .hours-row input[type="time"],
  body.admin-default-edit .holiday-row input[type="time"],
  body.admin-default-edit .hours-row .hours-open-toggle,
  body.admin-default-edit .holiday-row .holiday-open-toggle {
    min-height: 0 !important;
    height: auto !important;
    padding: 0.3rem 0.4rem !important;
    font-size: 0.85rem !important;
  }

  body.admin-default-edit #location_address,
  body.admin-default-edit #location_phone,
  body.admin-default-edit #location_maptiler_url,
  body.admin-default-edit #location_city,
  body.admin-default-edit #location_state,
  body.admin-default-edit #location_zip {
    max-width: 100% !important;
  }

  /* Store edit: keep form controls normal size (not oversized) */
  body.admin-store-edit form input,
  body.admin-store-edit form select,
  body.admin-store-edit form textarea {
    font-size: 16px !important;
    min-height: 38px !important;
    padding: 0.45rem 0.6rem !important;
    line-height: 1.25 !important;
  }

  body.admin-store-edit form label {
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
  }

  body.admin-store-edit form .btn {
    font-size: 0.9rem !important;
    min-height: 38px !important;
    padding: 0.45rem 0.8rem !important;
    line-height: 1.2 !important;
  }

  body.admin-store-edit #custom-hours-section .custom-hours-start-time,
  body.admin-store-edit #custom-hours-section .custom-hours-end-time {
    font-size: 16px !important;
    padding: 0.45rem 0.55rem !important;
  }

  /* Events/Deals edit: same normal control sizing as store-edit */
  body.admin-events-edit form input,
  body.admin-events-edit form select,
  body.admin-events-edit form textarea,
  body.admin-deals-edit form input,
  body.admin-deals-edit form select,
  body.admin-deals-edit form textarea {
    font-size: 16px !important;
    min-height: 38px !important;
    padding: 0.45rem 0.6rem !important;
    line-height: 1.25 !important;
  }

  body.admin-events-edit form label,
  body.admin-deals-edit form label {
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
  }

  body.admin-events-edit form .btn,
  body.admin-deals-edit form .btn {
    font-size: 0.9rem !important;
    min-height: 38px !important;
    padding: 0.45rem 0.8rem !important;
    line-height: 1.2 !important;
  }

  /* Sidenav: keep compact desktop-like sizing on <=900px */
  .sidenav a {
    font-size: 15px !important;
    line-height: 1.25 !important;
    min-height: 42px !important;
    padding: 9px 14px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  #user-menu-toggle,
  .sidenav #user-menu-dropdown > div,
  .sidenav #user-menu-dropdown a {
    font-size: 15px !important;
    line-height: 1.25 !important;
    min-height: 42px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }

  .mall-selector-sidenav select,
  #mall-select-sidenav {
    font-size: 14px !important;
    line-height: 1.35 !important;
    min-height: 40px !important;
    padding: 8px 34px 8px 10px !important;
  }

  body.admin-managers #manager-filter-email {
    font-size: 14px !important;
    min-height: 36px !important;
    padding: 6px 10px !important;
  }

  /* Content page: keep block delete button compact on mobile */
  .content-block-entry .content-block-remove,
  .contact-entry .contact-remove,
  .leasing-entry .leasing-remove,
  .sitemap-entry .sitemap-remove,
  body.admin-navigation .content-form .btn.btn-small.btn-delete {
    font-size: 12px !important;
    line-height: 1.15 !important;
    min-height: 24px !important;
    height: 24px !important;
    padding: 3px 8px !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .content-block-entry .content-block-remove::before,
  .contact-entry .contact-remove::before,
  .leasing-entry .leasing-remove::before,
  .sitemap-entry .sitemap-remove::before,
  body.admin-navigation .content-form .btn.btn-small.btn-delete::before {
    content: none !important;
    display: none !important;
  }

  /* Content page: keep Add/Save/Cancel buttons compact on mobile */
  body.admin-navigation .content-form .btn.btn-add,
  body.admin-navigation .content-form .btn.btn-primary,
  body.admin-navigation .content-form .btn.btn-secondary {
    font-size: 13px !important;
    line-height: 1.2 !important;
    min-height: 32px !important;
    height: auto !important;
    padding: 6px 10px !important;
  }

  body.admin-navigation .content-form .btn.btn-add::before,
  body.admin-navigation .content-form .btn.btn-primary::before,
  body.admin-navigation .content-form .btn.btn-secondary::before {
    font-size: 13px !important;
    margin-right: 5px !important;
  }

  /* Content list page: keep Edit links normal size on mobile */
  body.admin-navigation .content-sections-list .content-edit-btn {
    font-size: 13px !important;
    line-height: 1.2 !important;
    min-height: 30px !important;
    height: auto !important;
    padding: 5px 10px !important;
  }

  body.admin-navigation .content-sections-list .content-edit-btn::before {
    font-size: 13px !important;
    margin-right: 5px !important;
  }

  /* Scraper page: prevent oversized mobile typography/buttons */
  body.admin-scraper h1 {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  body.admin-scraper .btn,
  body.admin-scraper .btn.btp,
  body.admin-scraper .btn.bts,
  body.admin-scraper .btn.btn-secondary,
  body.admin-scraper .btn.btn-delete {
    font-size: 14px !important;
    min-height: 36px !important;
    height: auto !important;
    padding: 7px 12px !important;
    line-height: 1.2 !important;
  }

  body.admin-scraper .fld input,
  body.admin-scraper .fld select,
  body.admin-scraper input[type="text"],
  body.admin-scraper input[type="url"],
  body.admin-scraper select {
    font-size: 14px !important;
    min-height: 36px !important;
    padding: 7px 10px !important;
    line-height: 1.2 !important;
  }
}

/* Content page delete/remove buttons: keep normal size globally */
body.admin-navigation .content-form .btn.btn-small.btn-delete,
body.admin-navigation .content-form .contact-remove,
body.admin-navigation .content-form .leasing-remove,
body.admin-navigation .content-form .sitemap-remove,
body.admin-navigation .content-form .content-block-remove {
  font-size: 12px !important;
  line-height: 1.15 !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 3px 8px !important;
  width: auto !important;
  min-width: 0 !important;
}

body.admin-navigation .content-form .btn.btn-small.btn-delete::before,
body.admin-navigation .content-form .contact-remove::before,
body.admin-navigation .content-form .leasing-remove::before,
body.admin-navigation .content-form .sitemap-remove::before,
body.admin-navigation .content-form .content-block-remove::before {
  content: none !important;
  display: none !important;
}