
    :root {
      --bg: #f8fafc;
      --surface-subtle: #f8fafc;
      --sidebar-bg: #0f172a;
      --sidebar-border: #1e293b;
      --sidebar-text: #94a3b8;
      --sidebar-text-hover: #ffffff;
      --sidebar-active: #0284c7;
      --topbar-bg: #ffffff;
      --card-bg: #ffffff;
      --border: #e2e8f0;
      --text: #0f172a;
      --text-muted: #64748b;
      --primary: #0284c7;
      --primary-hover: #0369a1;
      --emerald: #10b981;
      --amber: #f59e0b;
      --rose: #ef4444;
      --font-body: 'Inter', system-ui, sans-serif;
      --font-display: 'Space Grotesk', system-ui, sans-serif;
    }

    /* Theme variants — main content area & topbar styled; sidebar stays dark navy across all themes */
    :root[data-theme="light"] {
      --bg: #f8fafc; --surface-subtle: #f1f5f9; --topbar-bg: #ffffff; --card-bg: #ffffff; --border: #e2e8f0; --text: #0f172a; --text-muted: #64748b;
      --primary: #0284c7; --primary-hover: #0369a1; --sidebar-active: #0284c7;
    }
    :root[data-theme="dark"] {
      --bg: #070e1c; --surface-subtle: #0c182a; --topbar-bg: #0b1524; --card-bg: #0f1b2e; --border: #1e2b42; --text: #e6f1fb; --text-muted: #8ea3bd;
      --primary: #38bdf8; --primary-hover: #7dd3fc; --sidebar-active: #38bdf8;
    }
    :root[data-theme="bailey"] {
      --bg: #eef4fb; --surface-subtle: #e2ecf7; --topbar-bg: #ffffff; --card-bg: #ffffff; --border: #d6e2f0; --text: #0f172a; --text-muted: #5b6b82;
      --primary: #5b21b6; --primary-hover: #4c1d95; --sidebar-active: #7c3aed;
    }
    :root[data-theme="ocean"] {
      --bg: #0a1628; --surface-subtle: #0d2038; --topbar-bg: #0c1e36; --card-bg: #0d2645; --border: #1a3a60; --text: #d0e8f8; --text-muted: #86a9c8;
      --primary: #3fa9f5; --primary-hover: #74c2fa; --sidebar-active: #3fa9f5;
    }
    :root[data-theme="midnight"] {
      --bg: #0b0f1c; --surface-subtle: #101628; --topbar-bg: #0e1322; --card-bg: #121829; --border: #232c45; --text: #d8dff5; --text-muted: #8b95b8;
      --primary: #7c8cf8; --primary-hover: #a3aefb; --sidebar-active: #7c8cf8;
    }
    :root[data-theme="nord"] {
      --bg: #262c38; --surface-subtle: #2b323f; --topbar-bg: #2c3340; --card-bg: #303848; --border: #414b5f; --text: #eceff4; --text-muted: #a3adbf;
      --primary: #88c0d0; --primary-hover: #a7d3df; --sidebar-active: #88c0d0;
    }
    :root[data-theme="slate"] {
      --bg: #21242a; --surface-subtle: #272a31; --topbar-bg: #272a31; --card-bg: #2d3138; --border: #3d424b; --text: #d0d6de; --text-muted: #939ba8;
      --primary: #7ea2c8; --primary-hover: #9fbad8; --sidebar-active: #7ea2c8;
    }
    :root[data-theme="cyber"] {
      --bg: #080c10; --surface-subtle: #0b1117; --topbar-bg: #0a1016; --card-bg: #0e151c; --border: #183040; --text: #c8f0f8; --text-muted: #6fa2b3;
      --primary: #00d4ff; --primary-hover: #5ce5ff; --sidebar-active: #00d4ff;
    }
    :root[data-theme="mint"] {
      --bg: #061a18; --surface-subtle: #08211e; --topbar-bg: #08201d; --card-bg: #0a2522; --border: #154240; --text: #c8eee8; --text-muted: #7fb3aa;
      --primary: #00d4be; --primary-hover: #4fe3d2; --sidebar-active: #00d4be;
    }
    :root[data-theme="forest"] {
      --bg: #0f1a11; --surface-subtle: #132216; --topbar-bg: #122115; --card-bg: #152618; --border: #25402a; --text: #d4e8d4; --text-muted: #8fb293;
      --primary: #5cc46e; --primary-hover: #86d893; --sidebar-active: #5cc46e;
    }
    :root[data-theme="lavender"] {
      --bg: #1a0a45; --surface-subtle: #210d56; --topbar-bg: #1f0d50; --card-bg: #251260; --border: #3d2280; --text: #ede5ff; --text-muted: #b3a2dc;
      --primary: #b794f6; --primary-hover: #cdb4fa; --sidebar-active: #b794f6;
    }
    :root[data-theme="rose"] {
      --bg: #1c0c15; --surface-subtle: #240f1b; --topbar-bg: #220f19; --card-bg: #2a1220; --border: #452033; --text: #f0d0e0; --text-muted: #bc8ea4;
      --primary: #f472b6; --primary-hover: #f9a0cf; --sidebar-active: #f472b6;
    }
    :root[data-theme="crimson"] {
      --bg: #150409; --surface-subtle: #1b060d; --topbar-bg: #19050b; --card-bg: #1f0a12; --border: #3f1420; --text: #f0d0d5; --text-muted: #bd8b94;
      --primary: #e5485d; --primary-hover: #ee7a8a; --sidebar-active: #e5485d;
    }
    :root[data-theme="sunset"] {
      --bg: #1c0e00; --surface-subtle: #241301; --topbar-bg: #221200; --card-bg: #2a1602; --border: #4a2a08; --text: #fde8d0; --text-muted: #c9a07a;
      --primary: #f97316; --primary-hover: #fb934a; --sidebar-active: #f97316;
    }
    :root[data-theme="copper"] {
      --bg: #150d06; --surface-subtle: #1b1107; --topbar-bg: #191007; --card-bg: #201408; --border: #3e2a12; --text: #f0d8a0; --text-muted: #bba175;
      --primary: #f0c060; --primary-hover: #f5d48e; --sidebar-active: #f0c060;
    }
    :root[data-theme="mocha"] {
      --bg: #1a120c; --surface-subtle: #20170f; --topbar-bg: #1d150e; --card-bg: #231910; --border: #3d2d1f; --text: #e8d5b0; --text-muted: #b19d7e;
      --primary: #d4a373; --primary-hover: #e2bc94; --sidebar-active: #d4a373;
    }
    :root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) { color-scheme: dark; }
    :root[data-theme="light"], :root[data-theme="bailey"] { color-scheme: light; }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      background-color: var(--bg);
      color: var(--text);
      font-family: var(--font-body);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    /* Dev Switcher Header */
    .dev-top-switch {
      background: #020617;
      color: #94a3b8;
      padding: 6px 16px;
      font-size: 11px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: sticky;
      top: 0;
      z-index: 2000;
    }
    .dev-top-switch a {
      color: #38bdf8;
      text-decoration: none;
      font-weight: 600;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .dev-pills { display: flex; gap: 6px; }
    .dev-pill {
      padding: 3px 8px;
      border-radius: 4px;
      border: 1px solid #1e293b;
      color: #cbd5e1;
      text-decoration: none;
      font-size: 11px;
    }
    .dev-pill.active {
      background: #0284c7;
      border-color: #0284c7;
      color: #fff;
      font-weight: 800;
    }

    /* Admin Layout Container */
    .admin-layout {
      display: flex;
      flex: 1;
      position: relative;
    }

    /* Left Sidebar */
    .admin-sidebar {
      width: 250px;
      background: var(--sidebar-bg);
      border-right: 1px solid var(--sidebar-border);
      color: var(--sidebar-text);
      display: flex;
      flex-direction: column;
      flex-shrink: 0;
      height: calc(100vh - 31px);
      position: sticky;
      top: 31px;
      overflow-y: auto;
      scrollbar-width: thin;
      scrollbar-color: #334155 transparent;
    }
    .sidebar-brand {
      padding: 18px 20px;
      border-bottom: 1px solid var(--sidebar-border);
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .sidebar-logo {
      width: 34px;
      height: 34px;
      border-radius: 9px;
      background: linear-gradient(135deg, #0369a1 0%, #0284c7 50%, #0d9488 100%);
      border: 1px solid rgba(255, 255, 255, 0.25);
      display: grid;
      place-items: center;
      color: #fff;
      font-family: var(--font-display);
      font-weight: 800;
      font-size: 15px;
      letter-spacing: -0.02em;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    }
    .sidebar-title {
      font-family: var(--font-display);
      font-size: 16px;
      font-weight: 700;
      color: #fff;
      letter-spacing: -0.01em;
    }
    .sidebar-title span { color: #38bdf8; font-size: 11px; padding-left: 4px; }

    /* Nav Sections Accordion */
    /* Nav Sections Accordion */
    .sidebar-nav {
      padding: 10px 0 20px;
      display: flex;
      flex-direction: column;
      gap: 3px;
    }
    .sidebar-section {
      display: flex;
      flex-direction: column;
      margin: 2px 10px;
    }
    .sidebar-item-header {
      width: 100%;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 8px 12px;
      font-size: 11px;
      font-weight: 700;
      color: #cbd5e1;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 8px;
      font-family: inherit;
      cursor: pointer;
      text-align: left;
      user-select: none;
      transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
    }
    .sidebar-item-header:hover {
      background: rgba(255, 255, 255, 0.08);
      border-color: rgba(56, 189, 248, 0.35);
      color: #ffffff;
      transform: translateX(2px);
      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
    }
    .sidebar-item-header:active {
      transform: translateX(1px);
    }
    .sidebar-item-header > span:first-child {
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .sidebar-item-header .chevron {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      border-radius: 5px;
      font-size: 10px;
      background: rgba(255, 255, 255, 0.06);
      color: #94a3b8;
      transform-origin: center;
      transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background 0.15s ease, color 0.15s ease;
      flex-shrink: 0;
    }
    .sidebar-item-header:hover .chevron {
      background: rgba(56, 189, 248, 0.18);
      color: #38bdf8;
    }
    details.sidebar-section[open] > .sidebar-item-header {
      background: linear-gradient(135deg, rgba(2, 132, 199, 0.22) 0%, rgba(15, 23, 42, 0.75) 100%);
      border-color: rgba(56, 189, 248, 0.45);
      color: #38bdf8;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3), inset 0 0 16px rgba(56, 189, 248, 0.08);
    }
    details.sidebar-section[open] > .sidebar-item-header .chevron {
      background: rgba(56, 189, 248, 0.22);
      color: #38bdf8;
      transform: rotate(0deg);
    }
    details.sidebar-section:not([open]) .chevron,
    .sidebar-section.collapsed .sidebar-item-header .chevron {
      transform: rotate(-90deg);
    }
    .sidebar-section-links {
      display: flex;
      flex-direction: column;
      gap: 1px;
      margin: 4px 4px 6px 14px;
      padding-left: 10px;
      border-left: 2px solid rgba(56, 189, 248, 0.2);
    }
    .sidebar-section.collapsed .sidebar-section-links { display: none; }
    
    /* Child Links inside a category section */
    .sidebar-section-links .sidebar-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 6px 10px;
      color: var(--sidebar-text);
      text-decoration: none;
      font-size: 12.5px;
      font-weight: 500;
      border-radius: 6px;
      transition: all 0.15s ease;
      cursor: pointer;
    }
    .sidebar-section-links .sidebar-link:hover {
      background: rgba(255, 255, 255, 0.05);
      color: var(--sidebar-text-hover);
    }
    .sidebar-section-links .sidebar-link.active {
      background: rgba(2, 132, 199, 0.16);
      color: #38bdf8;
      font-weight: 600;
    }
    
    /* Top-level standalone page links (Dashboard, Settings, etc.) */
    .sidebar-nav > .sidebar-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: 2px 10px;
      padding: 8px 12px;
      border-radius: 8px;
      color: var(--sidebar-text);
      text-decoration: none;
      font-size: 13px;
      font-weight: 500;
      transition: all 0.15s ease;
      cursor: pointer;
    }
    .sidebar-nav > .sidebar-link:hover {
      background: rgba(255, 255, 255, 0.05);
      color: var(--sidebar-text-hover);
    }
    .sidebar-nav > .sidebar-link.active {
      background: rgba(2, 132, 199, 0.15);
      color: #38bdf8;
      border-left: 3px solid #38bdf8;
      font-weight: 600;
    }
    .sidebar-nav > .sidebar-link:first-child {
      margin-bottom: 6px;
    }
    .sidebar-nav > .sidebar-link[href="settings.php"] {
      margin-top: 10px;
      padding-top: 12px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 0 0 8px 8px;
    }
    .sidebar-link span:first-child {
      display: flex;
      align-items: center;
      gap: 9px;
    }
    .sidebar-badge {
      font-size: 10px;
      font-weight: 700;
      padding: 1px 6px;
      border-radius: 999px;
      background: #334155;
      color: #f1f5f9;
      white-space: nowrap;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1.4;
      flex-shrink: 0;
    }
    .sidebar-badge.danger { background: var(--rose); color: #fff; }
    .sidebar-badge.warning { background: var(--amber); color: #0f172a; }
    .sidebar-badge.primary { background: var(--primary); color: #fff; }
    .sidebar-badge .text-warning { color: #fbbf24; font-weight: 800; }

    /* Main Content Area */
    .admin-main {
      flex: 1;
      display: flex;
      flex-direction: column;
      min-width: 0;
      background: var(--bg);
    }

    /* Topbar */
    .admin-topbar {
      background: var(--topbar-bg);
      border-bottom: 1px solid var(--border);
      padding: 10px 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      position: sticky;
      top: 31px;
      z-index: 1030;
    }
    .topbar-search {
      display: flex;
      align-items: center;
      gap: 8px;
      background: var(--surface-subtle);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 6px 12px;
      width: min(340px, 100%);
    }
    .topbar-search input {
      border: none;
      background: transparent;
      outline: none;
      font-size: 12px;
      width: 100%;
      color: var(--text);
    }

    .topbar-actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .theme-picker { position: relative; }
    .theme-toggle {
      background: var(--surface-subtle);
      border: 1px solid var(--border);
      color: var(--text);
      padding: 6px 12px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      transition: all 0.15s ease;
    }
    .theme-toggle:hover {
      border-color: var(--primary);
    }
    .theme-menu {
      position: absolute;
      right: 0;
      top: calc(100% + 8px);
      z-index: 1500;
      width: min(340px, calc(100vw - 32px));
      background: var(--card-bg);
      color: var(--text);
      border: 1px solid var(--border);
      border-radius: 12px;
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
      padding: 12px;
      display: none;
    }
    .theme-menu.open { display: block; }
    @media (max-width: 640px) {
      .theme-menu {
        position: fixed;
        top: 50%;
        left: 50%;
        right: auto;
        bottom: auto;
        transform: translate(-50%, -50%);
        width: min(340px, calc(100vw - 28px));
        max-height: 85vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5), 0 0 0 100vmax rgba(0, 0, 0, 0.5);
        border-radius: 12px;
        z-index: 2500;
      }
    }
    .theme-menu-title {
      font-size: 11px;
      font-weight: 700;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .theme-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 6px;
    }
    .theme-option {
      display: flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      border: 1.5px solid var(--border);
      border-radius: 8px;
      padding: 7px 8px;
      font: 600 12px var(--font-body);
      color: var(--text);
      cursor: pointer;
      text-align: left;
      transition: all 0.15s ease;
    }
    .theme-option:hover { border-color: var(--primary); }
    .theme-option[aria-checked="true"] {
      border-color: var(--primary);
      background: rgba(2, 132, 199, 0.12);
    }
    .theme-swatch {
      width: 26px;
      height: 26px;
      flex: none;
      border-radius: 50%;
      border: 1px solid rgba(128, 128, 128, 0.4);
      position: relative;
      overflow: hidden;
    }
    .theme-swatch::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      width: 50%;
      height: 50%;
      background: var(--sw-accent);
    }
    .topbar-icon-btn {
      width: 34px;
      height: 34px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card-bg);
      display: grid;
      place-items: center;
      cursor: pointer;
      color: var(--text-muted);
      position: relative;
    }
    .topbar-icon-btn:hover { background: var(--surface-subtle); color: var(--text); }
    .topbar-notif-dot {
      position: absolute;
      top: 6px;
      right: 6px;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--rose);
    }

    .user-profile-menu {
      display: flex;
      align-items: center;
      gap: 8px;
      padding-left: 8px;
      border-left: 1px solid var(--border);
    }
    .user-avatar-circle {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: linear-gradient(135deg, #0284c7, #0d9488);
      color: #fff;
      display: grid;
      place-items: center;
      font-weight: 700;
      font-size: 11px;
    }

    /* Favorites Bar */
    .admin-fav-bar {
      background: #f0fdf4;
      border-bottom: 1px solid #bbf7d0;
      padding: 6px 24px;
      display: flex;
      align-items: center;
      gap: 8px;
      overflow-x: auto;
      font-size: 11px;
    }
    .fav-bar-title {
      font-weight: 700;
      color: #166534;
      white-space: nowrap;
    }
    .fav-pill {
      background: #ffffff;
      border: 1px solid #86efac;
      color: #15803d;
      padding: 3px 10px;
      border-radius: 999px;
      text-decoration: none;
      font-weight: 600;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      white-space: nowrap;
      cursor: pointer;
    }
    .fav-pill:hover { background: #dcfce7; }
    .fav-pill.active { background: #16a34a; color: #fff; border-color: #16a34a; }

    /* Views */
    .admin-view { display: none; }
    .admin-view.active { display: block; }

    /* Main Dashboard View */
    .admin-viewport {
      padding: 24px;
      max-width: 1400px;
    }
    .viewport-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 20px;
      flex-wrap: wrap;
      gap: 12px;
    }
    .viewport-title {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 700;
      color: var(--text);
      display: flex;
      align-items: center;
      gap: 10px;
    }

    /* KPI Summary Tiles */
    .kpi-row {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 14px;
      margin-bottom: 24px;
    }
    .kpi-row.kpi-row-4 { grid-template-columns: repeat(4, 1fr); }
    @media (max-width: 1100px) {
      .kpi-row { grid-template-columns: repeat(3, 1fr); }
    }
    @media (max-width: 768px) {
      .kpi-row { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 500px) {
      .kpi-row { grid-template-columns: 1fr; }
    }

    .kpi-card {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 16px;
      display: flex;
      align-items: center;
      gap: 12px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.04);
      text-decoration: none;
      color: inherit;
      transition: transform 0.15s, box-shadow 0.15s;
    }
    .kpi-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0,0,0,0.08);
      border-color: #cbd5e1;
    }
    .kpi-icon {
      width: 42px;
      height: 42px;
      border-radius: 10px;
      display: grid;
      place-items: center;
      font-size: 20px;
      flex-shrink: 0;
    }
    .kpi-awd .kpi-icon { background: #e0f2fe; color: #0284c7; }
    .kpi-fba .kpi-icon { background: #fef3c7; color: #d97706; }
    .kpi-haz .kpi-icon { background: #fee2e2; color: #dc2626; }
    .kpi-wfs .kpi-icon { background: #e0e7ff; color: #4f46e5; }
    .kpi-cedar .kpi-icon { background: #dcfce7; color: #16a34a; }
    .kpi-purple .kpi-icon { background: #f3e8ff; color: #9333ea; }
    .kpi-content {
      display: flex;
      flex-direction: column;
      line-height: 1.2;
    }
    .kpi-label {
      font-size: 11px;
      font-weight: 700;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .kpi-value {
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 800;
      color: var(--text);
      margin-top: 2px;
    }
    .kpi-sub {
      font-size: 10px;
      color: var(--text-muted);
      margin-top: 2px;
    }

    /* Quick Filters Bar (kf-bar) */
    .kf-bar {
      background: linear-gradient(90deg, #0284c7 0%, #0369a1 100%);
      border-radius: 8px;
      padding: 8px 12px;
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 20px;
      flex-wrap: wrap;
    }
    .kf-label {
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      margin-right: 4px;
    }
    .kf-ctrl {
      background: rgba(255, 255, 255, 0.15);
      border: 1px solid rgba(255, 255, 255, 0.3);
      color: #fff;
      font-size: 12px;
      padding: 6px 10px;
      border-radius: 6px;
      outline: none;
    }
    .kf-ctrl option { color: #0f172a; background: #fff; }
    .kf-clear {
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(255, 255, 255, 0.25);
      color: #fff;
      padding: 6px 12px;
      border-radius: 6px;
      font-size: 12px;
      font-weight: 600;
      cursor: pointer;
    }
    .kf-clear:hover { background: rgba(255, 255, 255, 0.25); }

    /* Work Orders & Inventory Table Card */
    .data-table-card {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 12px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.04);
      overflow: hidden;
      margin-bottom: 24px;
    }
    .data-table-header {
      padding: 16px 20px;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
    }
    .data-table-title {
      font-family: var(--font-display);
      font-size: 15px;
      font-weight: 700;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .table-responsive {
      overflow-x: auto;
    }
    .admin-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13px;
      text-align: left;
    }
    .admin-table th {
      background: var(--surface-subtle);
      padding: 10px 16px;
      font-size: 11px;
      font-weight: 700;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      border-bottom: 1px solid var(--border);
    }
    .admin-table td {
      padding: 12px 16px;
      border-bottom: 1px solid var(--border);
      color: var(--text);
      vertical-align: middle;
    }
    .admin-table tr:hover td {
      background: var(--surface-subtle);
    }

    .sku-badge {
      font-family: monospace;
      font-weight: 700;
      color: #0284c7;
      background: #e0f2fe;
      padding: 2px 6px;
      border-radius: 4px;
    }
    .status-pill {
      font-size: 10px;
      font-weight: 700;
      padding: 3px 8px;
      border-radius: 999px;
      text-transform: uppercase;
    }
    .status-ready { background: #dcfce7; color: #15803d; }
    .status-hazmat { background: #fee2e2; color: #b91c1c; }
    .status-pending { background: #fef3c7; color: #b45309; }
    .status-open { background: #e0e7ff; color: #4338ca; }
    .status-shipped { background: #dbeafe; color: #1d4ed8; }

    .btn-action-sm {
      background: var(--surface-subtle);
      border: 1px solid var(--border);
      border-radius: 6px;
      padding: 4px 8px;
      font-size: 11px;
      font-weight: 600;
      color: var(--text);
      cursor: pointer;
      text-decoration: none;
    }
    .btn-action-sm:hover { background: var(--border); }

    /* Warehouse Legends Overview Card */
    .legends-admin-card {
      background: #0f172a;
      color: #fff;
      border-radius: 12px;
      padding: 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
      box-shadow: 0 4px 12px rgba(15, 23, 42, 0.2);
      cursor: pointer;
      border: none;
      width: 100%;
      text-align: left;
      font-family: inherit;
    }
    .legends-info h3 {
      font-family: var(--font-display);
      font-size: 16px;
      font-weight: 700;
      color: #38bdf8;
      margin-bottom: 4px;
    }
    .legends-info p {
      font-size: 12px;
      color: #94a3b8;
    }
    .legends-btn {
      background: #0284c7;
      color: #fff;
      border: none;
      padding: 10px 18px;
      border-radius: 8px;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
      text-decoration: none;
      flex-shrink: 0;
    }
    .legends-btn:hover { background: #0369a1; }

    /* Legends Control Center tile grid */
    .legends-tile-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin-bottom: 24px;
    }
    @media (max-width: 1100px) { .legends-tile-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 560px) { .legends-tile-grid { grid-template-columns: 1fr; } }
    .legends-tile {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 6px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.04);
      cursor: pointer;
      transition: transform 0.15s, box-shadow 0.15s;
    }
    .legends-tile:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
    .legends-tile-icon { font-size: 22px; }
    .legends-tile h4 { font-family: var(--font-display); font-size: 14px; font-weight: 700; }
    .legends-tile p { font-size: 11px; color: var(--text-muted); line-height: 1.4; }

    /* Boss encounter progress bar */
    .boss-card {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 20px;
      margin-bottom: 24px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    }
    .boss-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; flex-wrap: wrap; gap: 8px; }
    .boss-card-head h4 { font-family: var(--font-display); font-size: 15px; }
    .boss-hp-track { height: 14px; border-radius: 999px; background: var(--surface-subtle); border: 1px solid var(--border); overflow: hidden; }
    .boss-hp-fill { height: 100%; background: linear-gradient(90deg, #f43f5e, #f97316); }

    /* Simple CSS bar chart for reports */
    .bar-chart {
      display: flex;
      align-items: flex-end;
      gap: 10px;
      height: 140px;
      padding: 12px 4px 0;
    }
    .bar-chart-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; justify-content: flex-end; }
    .bar-chart-bar { width: 100%; max-width: 34px; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, #38bdf8, #0284c7); }
    .bar-chart-label { font-size: 10px; color: var(--text-muted); font-weight: 600; }
  
/* Live panel adjustments: no prototype switcher above the shell. */
.admin-sidebar{top:0;height:100vh}.admin-layout{min-height:100vh}.admin-main{min-width:0}.pending{cursor:default;opacity:.6}.pending small{font-size:9px;text-transform:uppercase}.pending:hover{background:transparent;color:var(--sidebar-text)}.profile-text{font-size:12px;line-height:1.4}.profile-text strong,.profile-text small{display:block}.profile-text small,.live-caption{color:var(--text-muted);font-size:12px}.signout,.apply-filter{border:0;background:var(--primary);color:#fff;border-radius:6px;padding:9px 12px;font:inherit;font-size:12px;cursor:pointer}.cell-sub{display:block;font-size:11px;color:var(--text-muted);margin-top:5px;max-width:300px}.empty-state{text-align:center;padding:40px!important;color:var(--text-muted)}.legends-pending{margin-top:24px}.legends-pending p{padding:20px;color:var(--text-muted);font-size:13px}.mobile-menu{display:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.kf-bar{flex-wrap:wrap}.kf-clear{text-decoration:none}.viewport-title{margin:0}.data-table-title{margin:0}.admin-table td{vertical-align:middle}
@media(max-width:900px){.mobile-menu{display:block}.admin-sidebar{display:none}.admin-sidebar.is-open{display:flex;position:fixed;z-index:100;top:65px;bottom:0;height:calc(100vh - 65px);box-shadow:10px 0 30px #0004}.admin-topbar{gap:12px;flex-wrap:wrap}.topbar-search{min-width:150px;flex:1}.topbar-actions{gap:12px}.viewport-header{gap:12px;flex-wrap:wrap}.admin-viewport{padding:20px}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main{width:100%}}@media(max-width:520px){.topbar-actions{width:100%;justify-content:space-between}.user-avatar-circle{display:none}.admin-viewport{padding:12px}.kpi-card{padding:14px}.kpi-value{font-size:24px}.viewport-title{font-size:17px}.kf-ctrl{max-width:100%}}
.admin-topbar{top:0}.status-ready{background:#dcfce7;color:#166534}.admin-table{width:100%}
/* Native disclosure controls work even before JavaScript loads. */
details.sidebar-section{display:block}details.sidebar-section:not([open])>.sidebar-section-links{display:none}details.sidebar-section:not([open]) .chevron{transform:rotate(-90deg)}summary.sidebar-item-header{list-style:none}summary::-webkit-details-marker{display:none}.topbar-popover{position:relative}.topbar-popover>summary{list-style:none;cursor:pointer}.topbar-popover-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(320px,85vw);max-height:400px;overflow:auto;padding:20px;background:var(--card-bg);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #0002;z-index:1030}.topbar-popover-panel p{font-size:12px;line-height:1.6;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.topbar-popover-panel a{display:block;margin-top:12px;color:var(--primary);font-size:12px}
.account-picker{position:relative}.account-toggle{display:flex;align-items:center;gap:10px;text-align:left}.account-menu{width:300px}.signed-in{padding:12px 0 16px;border-bottom:1px solid var(--border);margin-bottom:8px}.signed-in span,.signed-in strong,.signed-in small{display:block;font-size:12px;line-height:1.8}.signed-in span,.signed-in small{color:var(--text-muted)}.account-action{display:block;width:100%;padding:12px 10px;color:var(--text);text-decoration:none;border:0;background:transparent;border-radius:6px;font:inherit;font-size:13px;text-align:left;cursor:pointer}.account-action:hover{background:var(--surface-subtle)}.settings-main{width:100%;max-width:960px;margin:0 auto;padding:32px}.settings-intro{color:var(--text-muted);margin:12px 0 24px}.settings-card{padding:24px;margin-bottom:24px}.settings-card h2{font-size:18px}.settings-card p{color:var(--text-muted);font-size:13px;line-height:1.7;margin:16px 0}.settings-card label{display:block;margin:20px 0 8px}.settings-card select{max-width:100%;margin-right:8px}.status-draft{background:#fef3c7;color:#92400e}
.admin-topbar .theme-toggle{height:34px}.account-toggle{padding-top:4px;padding-bottom:4px}.account-toggle .user-avatar-circle{width:24px;height:24px;flex-shrink:0}.account-toggle .profile-text{line-height:1;white-space:nowrap}
/* Shared content styles for account pages. */
.users-content h1,.settings-content h1{font-family:var(--font-display);font-size:26px;margin-bottom:12px}.users-content>p{color:var(--text-muted);font-size:13px;line-height:1.7;margin-bottom:20px}.users-content .card{padding:24px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-top:24px}.users-content .card h2{font-size:18px;margin-bottom:16px}.users-content .card p{margin:14px 0;line-height:1.6;font-size:13px}.users-content a{color:var(--primary)}.users-content fieldset{border:0;min-width:0}.users-content input:not([type=hidden]):not([type=checkbox]),.users-content select{padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle);color:var(--text);font:inherit;font-size:13px;max-width:100%}.users-content label{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.users-content button{padding:10px 16px;border:0;border-radius:6px;background:var(--primary);color:#fff;font:inherit;font-size:13px;cursor:pointer}.users-content .error{color:var(--rose);padding:12px;border:1px solid var(--rose);border-radius:6px}.users-content fieldset:disabled{opacity:.6}.settings-content{max-width:1100px}
/* Legacy user-management workflow in the v4 design system. */
.user-management .settings-intro{margin:6px 0 0}.user-success{padding:14px 18px;background:var(--surface-subtle);border:1px solid var(--emerald);border-radius:8px;margin-bottom:20px}.user-toolbar,.user-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.user-toolbar{justify-content:space-between}.user-toolbar a{text-decoration:none}.user-identity{display:flex;align-items:center;gap:10px}.role-badge{display:inline-block;padding:5px 9px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;font-size:11px}.user-table-count{padding:16px 20px;font-size:12px;color:var(--text-muted)}.user-actions{white-space:nowrap}.user-actions .fav-pill{display:inline-block}.remove-user{border:1px solid var(--rose);color:var(--rose);background:transparent;border-radius:6px;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer}.user-dialog{width:min(850px,calc(100vw - 32px));max-height:90vh;border:1px solid var(--border);border-radius:16px;background:var(--card-bg);color:var(--text);padding:0;margin:auto;box-shadow:0 25px 100px #0005}.user-dialog::backdrop{background:#02061799;backdrop-filter:blur(3px)}.user-dialog-small{width:min(460px,calc(100vw - 32px))}.user-dialog-header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--card-bg);border-bottom:1px solid var(--border);z-index:1}.user-dialog-header h2{font-family:var(--font-display);font-size:19px}.dialog-close{background:transparent;color:var(--text-muted);border:0;text-decoration:none;font-size:18px;cursor:pointer}.user-dialog-body{padding:24px}.user-dialog-body fieldset{border:0;min-width:0}.user-dialog-body fieldset:disabled{opacity:.65}.user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.user-dialog label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.user-dialog input:not([type=checkbox]):not([type=hidden]),.user-dialog select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle);color:var(--text);font:inherit}.user-form-grid .user-check{flex-direction:row;align-items:center;gap:8px}.dialog-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.dialog-form-actions button:not(.remove-user){padding:10px 16px;border:0;border-radius:7px;background:var(--primary);color:#fff;font:inherit;font-size:12px;cursor:pointer}.user-dialog-section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.user-dialog-section h3,.user-dialog-section>summary{font-size:15px;font-weight:700}.user-dialog p{font-size:12px;line-height:1.7;color:var(--text-muted);margin:10px 0 18px}.permission-category{border:1px solid var(--border);border-radius:8px;margin-top:12px}.permission-category>summary{padding:12px 16px;font-size:12px;font-weight:700;cursor:pointer;background:var(--surface-subtle)}.permission-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 65px;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);font-size:12px}.permission-row strong{font-weight:500}.permission-row small{display:block;color:var(--text-muted);margin-top:4px;font-size:10px}.effective-access{font-size:11px;color:var(--text-muted)}.user-dialog-footer{padding:16px 24px;border-top:1px solid var(--border);text-align:right}.user-dialog .error{padding:12px;border:1px solid var(--rose);border-radius:8px;color:var(--rose)}@media(max-width:600px){.user-form-grid{grid-template-columns:1fr}.permission-row{grid-template-columns:1fr 110px}.effective-access{display:none}.user-dialog-body{padding:16px}}
/* Keep action-link labels readable above the general users-content link color. */
.users-content a.apply-filter{color:#fff;text-decoration:none}
.users-content a.apply-filter:hover,.users-content a.apply-filter:focus-visible{color:#fff;background:var(--primary-hover)}
/* User dialogs share the active theme, including scroll and close controls. */
.user-dialog{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-muted) var(--surface-subtle);scrollbar-gutter:stable}
.user-dialog::-webkit-scrollbar{width:10px;height:10px}
.user-dialog::-webkit-scrollbar-track{background:var(--surface-subtle);border-radius:12px}
.user-dialog::-webkit-scrollbar-thumb{background:var(--text-muted);border:3px solid var(--surface-subtle);border-radius:12px}
.user-dialog::-webkit-scrollbar-thumb:hover{background:var(--primary)}
.user-dialog::-webkit-scrollbar-corner{background:var(--surface-subtle)}
.user-dialog .dialog-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle);color:var(--text-muted);font:inherit;font-size:17px;line-height:1;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.user-dialog .dialog-close:hover{background:var(--card-bg);color:var(--primary);border-color:var(--primary)}
.user-dialog .dialog-close:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.settings-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.settings-card{scroll-margin-top:90px}.settings-card fieldset{border:0;padding:0;margin:0;min-width:0}.settings-card fieldset:disabled{opacity:.6}.settings-card label{display:flex;gap:10px;flex-direction:column;font-size:13px;margin:16px 0}.settings-card input:not([type=checkbox]),.settings-card select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--text);width:min(100%,500px);font:inherit}.settings-card .settings-options label{flex-direction:row;align-items:center;margin:0}.settings-options{border:1px solid var(--border);border-radius:10px;margin:16px 0;overflow:hidden}.favorite-setting{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.favorite-setting:last-child{border:0}.favorite-setting button{background:var(--surface-subtle);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer}.notification-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.notification-options label{padding:16px;border-bottom:1px solid var(--border)}.settings-avatar{width:64px;height:64px;font-size:28px;margin:16px 0}.user-avatar-circle img{width:100%;height:100%;object-fit:cover;border-radius:50%}.settings-alert{padding:16px;border:1px solid var(--rose);color:var(--rose);border-radius:8px;margin-top:20px}@media(max-width:650px){.notification-options{grid-template-columns:1fr}}
.sidebar-favorites{display:flex;flex-direction:column;gap:8px;padding:12px 16px}.sidebar-favorites .fav-pill{color:var(--sidebar-text);background:var(--sidebar-bg)}.sidebar-favorites .fav-bar-title{color:var(--sidebar-text)}.topbar-popover-panel .fav-pill{display:block;margin:8px 0}
.settings-card[hidden]{display:none}.settings-tabs .active{border-color:var(--primary);background:var(--surface-subtle);color:var(--primary)}
/* Order-type tiles grow with the shared catalog. */
.kpi-row{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.kpi-pprep .kpi-icon{background:#dcfce7;color:#16a34a}
.kpi-imship .kpi-icon{background:#ede9fe;color:#7c3aed}
/* Native-radio theme tiles keep keyboard navigation and existing save permissions. */
.settings-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin:18px 0 28px}.settings-card label.settings-theme-tile{display:block;position:relative;margin:0;cursor:pointer;min-width:0}.settings-card .settings-theme-tile>input{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%)}.settings-theme-choice{display:block;padding:10px;border:2px solid var(--border);border-radius:12px;background:var(--card-bg)}.settings-theme-tile:hover .settings-theme-choice,.settings-theme-tile input:checked+.settings-theme-choice{border-color:var(--primary)}.settings-theme-tile input:focus-visible+.settings-theme-choice{outline:2px solid var(--primary);outline-offset:3px}.settings-theme-preview{display:flex;gap:6px;height:98px;padding:8px;border-radius:7px;background:var(--preview-bg);border:1px solid var(--preview-border)}.theme-mini-sidebar{width:25%;background:#0f172a;border-radius:4px;padding:9px 4px;display:flex;flex-direction:column;gap:8px}.theme-mini-sidebar i{height:4px;border-radius:3px;background:#64748b}.theme-mini-sidebar i:first-child{background:var(--preview-accent)}.theme-mini-main{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.theme-mini-topbar{height:13px;border-radius:3px;background:var(--preview-card);border-bottom:2px solid var(--preview-accent)}.theme-mini-metrics{display:flex;gap:4px;height:18px}.theme-mini-metrics i{flex:1;border-radius:3px;background:var(--preview-card);border:1px solid var(--preview-border)}.theme-mini-table{flex:1;background:var(--preview-card);border-radius:3px;padding:5px;display:flex;flex-direction:column;gap:5px}.theme-mini-table i{height:3px;background:var(--preview-border);border-radius:2px}.settings-theme-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 2px 0;font-size:12px;color:var(--text)}.settings-theme-check{visibility:hidden;color:var(--primary);font-weight:700}.settings-theme-tile input:checked+.settings-theme-choice .settings-theme-check{visibility:visible}
.settings-theme-preview[data-preview-theme="light"]{--preview-bg:#f8fafc;--preview-card:#ffffff;--preview-border:#e2e8f0;--preview-accent:#0284c7}
.settings-theme-preview[data-preview-theme="dark"]{--preview-bg:#070e1c;--preview-card:#0f1b2e;--preview-border:#1e2b42;--preview-accent:#38bdf8}
.settings-theme-preview[data-preview-theme="bailey"]{--preview-bg:#eef4fb;--preview-card:#ffffff;--preview-border:#d6e2f0;--preview-accent:#5b21b6}
.settings-theme-preview[data-preview-theme="ocean"]{--preview-bg:#0a1628;--preview-card:#0d2645;--preview-border:#1a3a60;--preview-accent:#3fa9f5}
.settings-theme-preview[data-preview-theme="midnight"]{--preview-bg:#0b0f1c;--preview-card:#121829;--preview-border:#232c45;--preview-accent:#7c8cf8}
.settings-theme-preview[data-preview-theme="nord"]{--preview-bg:#262c38;--preview-card:#303848;--preview-border:#414b5f;--preview-accent:#88c0d0}
.settings-theme-preview[data-preview-theme="slate"]{--preview-bg:#21242a;--preview-card:#2d3138;--preview-border:#3d424b;--preview-accent:#7ea2c8}
.settings-theme-preview[data-preview-theme="cyber"]{--preview-bg:#080c10;--preview-card:#0e151c;--preview-border:#183040;--preview-accent:#00d4ff}
.settings-theme-preview[data-preview-theme="mint"]{--preview-bg:#061a18;--preview-card:#0a2522;--preview-border:#154240;--preview-accent:#00d4be}
.settings-theme-preview[data-preview-theme="forest"]{--preview-bg:#0f1a11;--preview-card:#152618;--preview-border:#25402a;--preview-accent:#5cc46e}
.settings-theme-preview[data-preview-theme="lavender"]{--preview-bg:#1a0a45;--preview-card:#251260;--preview-border:#3d2280;--preview-accent:#b794f6}
.settings-theme-preview[data-preview-theme="rose"]{--preview-bg:#1c0c15;--preview-card:#2a1220;--preview-border:#452033;--preview-accent:#f472b6}
.settings-theme-preview[data-preview-theme="crimson"]{--preview-bg:#150409;--preview-card:#1f0a12;--preview-border:#3f1420;--preview-accent:#e5485d}
.settings-theme-preview[data-preview-theme="sunset"]{--preview-bg:#1c0e00;--preview-card:#2a1602;--preview-border:#4a2a08;--preview-accent:#f97316}
.settings-theme-preview[data-preview-theme="copper"]{--preview-bg:#150d06;--preview-card:#201408;--preview-border:#3e2a12;--preview-accent:#f0c060}
.settings-theme-preview[data-preview-theme="mocha"]{--preview-bg:#1a120c;--preview-card:#231910;--preview-border:#3d2d1f;--preview-accent:#d4a373}
/* Live progress meters sit between search and the existing topbar controls. */
.topbar-meter-group{display:flex;gap:12px;align-items:center;flex:1;min-width:0}.topbar-meter{flex:1;min-width:100px;max-width:220px}.meter-heading{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--text-muted);margin-bottom:4px;white-space:nowrap}.meter-heading strong{color:var(--text)}.meter-track{height:9px;border-radius:20px;background:var(--surface-subtle);border:1px solid var(--border);position:relative;overflow:hidden}.meter-fill{height:100%;display:block;border-radius:20px}.meter-goal{position:absolute;left:50%;top:0;height:100%;border-left:2px solid var(--text-muted)}.topbar-meter small{display:block;margin-top:4px;color:var(--text-muted);font-size:9px;white-space:nowrap}.admin-refresh{flex-shrink:0;font-size:22px}.admin-topbar .topbar-search{flex:0 1 280px;min-width:160px}.admin-topbar .topbar-actions{flex-shrink:0}@media(max-width:1250px){.admin-topbar{flex-wrap:wrap}.topbar-meter-group{order:3;flex-basis:100%;justify-content:center}.topbar-meter{max-width:none}}@media(max-width:520px){.topbar-meter-group{gap:8px;flex-wrap:wrap}.topbar-meter{min-width:90px}.topbar-meter small{white-space:normal}.admin-topbar .topbar-search{flex:1}}
/* Bootstrap Tooltip component styling, scoped to preserve the cockpit layout. */
.kt4-tooltip{--bs-tooltip-bg:var(--text);--bs-tooltip-color:var(--card-bg);position:absolute;z-index:1100;display:block;margin:0;font-family:var(--font-body);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-decoration:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;font-size:12px;opacity:0;pointer-events:none}.kt4-tooltip.show{opacity:1}.kt4-tooltip.fade{transition:opacity .15s linear}.kt4-tooltip .tooltip-inner{max-width:320px;padding:8px 12px;color:var(--bs-tooltip-color);text-align:center;background:var(--bs-tooltip-bg);border-radius:8px;box-shadow:0 4px 18px #0003}.kt4-tooltip .tooltip-arrow{display:block;width:12px;height:6px}.kt4-tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.kt4-tooltip[data-popper-placement^=top] .tooltip-arrow{bottom:-6px}.kt4-tooltip[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:6px 6px 0;border-top-color:var(--bs-tooltip-bg)}.kt4-tooltip[data-popper-placement^=bottom] .tooltip-arrow{top:-6px}.kt4-tooltip[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 6px 6px;border-bottom-color:var(--bs-tooltip-bg)}.kt4-tooltip[data-popper-placement^=left] .tooltip-arrow{right:-6px;width:6px;height:12px}.kt4-tooltip[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:6px 0 6px 6px;border-left-color:var(--bs-tooltip-bg)}.kt4-tooltip[data-popper-placement^=right] .tooltip-arrow{left:-6px;width:6px;height:12px}.kt4-tooltip[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:6px 6px 6px 0;border-right-color:var(--bs-tooltip-bg)}@media(prefers-reduced-motion:reduce){.kt4-tooltip.fade{transition:none}}
.topbar-meter .meter-goal-hit{color:#0d6efd;font-weight:700;margin-left:4px;white-space:nowrap}
/* Master toolbar (legacy top banner): full width above the sidebar and topbar, sticky on desktop. */
:root{--master-bar-h:46px}
.master-toolbar{--mt-accent:color-mix(in srgb,var(--primary) 55%,#fff);position:sticky;top:0;z-index:160;min-height:var(--master-bar-h);display:flex;align-items:center;gap:10px;padding:6px 16px;background:var(--sidebar-bg);color:#e2e8f0;border-bottom:1px solid #ffffff1a;box-shadow:0 2px 6px #0003;font-size:12px}
.mt-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.mt-label{color:#cbd5e1;white-space:nowrap}.mt-divider{width:1px;height:28px;background:#ffffff33;margin:0 4px;flex-shrink:0}
.mt-combo{position:relative}.mt-select,.mt-pill{display:inline-block;border:1px solid var(--mt-accent);color:var(--mt-accent);background:transparent;border-radius:999px;padding:4px 12px;font:inherit;font-size:12px;line-height:1.35;white-space:nowrap;cursor:pointer;text-decoration:none}
.mt-select:hover,.mt-select[aria-expanded=true],.mt-pill:hover{background:var(--mt-accent);color:#0f172a}
.mt-panel{position:absolute;left:0;top:calc(100% + 8px);width:300px;max-width:85vw;background:var(--card-bg);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #0004;padding:8px;z-index:210}
.mt-search{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--text);font:inherit;font-size:13px;margin-bottom:6px}
.mt-list{max-height:320px;overflow:auto;display:flex;flex-direction:column}.mt-item{display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-decoration:none;cursor:pointer}
.mt-item:hover,.mt-item:focus-visible,.mt-item.is-active{background:var(--surface-subtle)}.mt-item[hidden]{display:none}.mt-soon{opacity:.55;cursor:default}.mt-soon small{font-size:9px;text-transform:uppercase;margin-left:4px}.mt-soon:hover{background:transparent}
.mt-external{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-left:auto;min-width:0}
.admin-sidebar{top:var(--master-bar-h);height:calc(100vh - var(--master-bar-h))}.admin-topbar{top:var(--master-bar-h)}
.qo-message{padding:10px 12px;border-radius:8px;border:1px solid var(--border);margin-top:16px}.qo-message.is-ok{border-color:var(--emerald,#10b981)}.qo-message.is-error{border-color:var(--rose,#e11d48);color:var(--rose,#e11d48)}
.dialog-form-actions .qo-cancel{background:transparent!important;color:var(--text)!important;border:1px solid var(--border)!important}.qo-calc output{font-size:22px;font-weight:700;color:var(--text)}
/* The pills wrap onto more rows on narrower screens, so the bar stops being sticky there. */
@media(max-width:1400px){.master-toolbar{flex-wrap:wrap}.mt-external{margin-left:0;justify-content:flex-start;flex-basis:100%}}
@media(max-width:1400px){.master-toolbar{position:static}.admin-sidebar{top:0;height:100vh}.admin-topbar{top:0}}
@media(max-width:600px){.mt-group{flex-wrap:wrap}.mt-divider{display:none}.mt-label{display:none}}
/* Full Calculator quick op (legacy keypad). */
.full-calc{max-width:340px;margin:0 auto}.fc-screen{background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:12px;text-align:right}
.fc-pending{min-height:16px;font-size:12px;color:var(--text-muted)}.fc-display{display:block;font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--text)}
.fc-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fc-key{padding:14px 0;border-radius:10px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:18px;font-weight:600;cursor:pointer}
.fc-key:hover{background:var(--surface-subtle)}.fc-key:active{transform:translateY(1px)}.fc-fn{background:var(--surface-subtle)}
.fc-op{background:#f59e0b;border-color:#f59e0b;color:#1f2937}.fc-op.is-active{outline:3px solid var(--text);outline-offset:-3px}.fc-eq{background:var(--primary);border-color:var(--primary);color:#fff}
.fc-hint{font-size:11px!important;margin:12px 0 0!important;text-align:center}
/* Quick ops: page-in-modal (legacy modal-xl + 68vh iframe) and bulk result lines. */
.user-dialog.qo-wide{width:min(1140px,calc(100vw - 32px))}.qo-frame{display:block;width:100%;height:68vh;border:0;border-radius:8px;background:#fff}
.qo-lines{margin:8px 0 0 18px;font-size:12px;line-height:1.6}.qo-detail{margin-top:6px;font-size:12px;color:var(--text-muted)}
.user-dialog textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle);color:var(--text);font:inherit;resize:vertical}
.user-dialog .qo-cancel{padding:9px 14px;border-radius:7px;font:inherit;font-size:12px;cursor:pointer}
/* Quick Ops: Print Labels modal */
.user-dialog.qo-label-dialog{width:min(580px,calc(100vw - 32px))}
.qo-labels-wrap{display:flex;flex-direction:column;gap:14px}
.qo-labels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.qo-labels-subgrid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:flex-end}
.qo-check-center{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;cursor:pointer;padding-bottom:10px}
.qo-check-center input{width:16px;height:16px;margin:0}
.qo-label-status{display:block;font-size:11px;margin-top:4px;min-height:16px}
.qo-found-ok{color:#10b981;font-weight:600}
.qo-found-none{color:var(--text-muted);font-style:italic}
.qo-label-preview-card{border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle);padding:12px 14px}
.qo-preview-header{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}
.qo-preview-box{display:flex;justify-content:center;align-items:center;padding:6px 0}
.qo-preview-box .lb-label{background:#fff;color:#000;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.15);width:225px;min-height:125px;padding:8px 12px;display:grid;grid-template-rows:auto 1fr auto auto;row-gap:3px;align-items:center;justify-items:center;text-align:center;font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
.qo-preview-box .lb-l-sku{font-size:9pt;font-weight:700;color:#000}
.qo-preview-box .lb-l-bc{width:100%;height:44px;display:block}
.qo-preview-box .lb-l-name{max-width:100%;font-size:9pt;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000}
.qo-preview-box .lb-l-new{font-weight:800;font-size:8pt;color:#000}
.qo-labels-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--border);font-size:12px}
.qo-btn-browser{font-size:12px;font-weight:600;padding:6px 12px;border:1px solid var(--border);border-radius:7px;background:var(--card-bg);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.qo-btn-browser:hover{background:var(--surface-subtle);border-color:var(--primary);color:var(--primary)}
.qo-links-hint{font-size:11.5px;color:var(--text-muted)}
.qo-links-hint a{color:var(--primary);text-decoration:none;font-weight:600}
.qo-links-hint a:hover{text-decoration:underline}
@media(max-width:540px){.qo-labels-subgrid{grid-template-columns:1fr 1fr}}
/* Topbar meters: the 250px sidebar leaves too little room for search + 3 meters + actions
   below ~1500px (the "Today" meter slid under the Theme button at 1280px), so move the
   meters to their own row earlier than the original 1250px breakpoint. */
@media(max-width:1500px){.admin-topbar{flex-wrap:wrap}.topbar-meter-group{order:3;flex-basis:100%;justify-content:center}.topbar-meter{max-width:none}}
/* Slack page (legacy Admin Tools → Slack). */
.slack-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.slack-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin:8px 0 4px}
.slack-tabs a{padding:10px 14px;border-radius:8px 8px 0 0;text-decoration:none;color:var(--text-muted)!important;font-size:13px;font-weight:600;border-bottom:2px solid transparent}.slack-tabs a.active{color:var(--primary)!important;border-bottom-color:var(--primary)}
.slack-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start}.slack-grid>div>.card:first-child{margin-top:24px}
.slack-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.slack-card-head h2{margin-bottom:0!important}
.slack-page .slack-form label{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:14px 0;font-size:13px;font-weight:600}.slack-page .slack-form input:not([type=checkbox]),.slack-page .slack-form textarea,.slack-rules input:not([type=checkbox]){width:100%}
.slack-page textarea{padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle);color:var(--text);font:inherit;font-size:13px}
.slack-page small{font-weight:400;color:var(--text-muted);font-size:11px}.slack-page small.slack-saved{color:var(--emerald,#059669)}
.slack-check{display:inline-flex;align-items:center;gap:6px;font-weight:400;font-size:12px}.slack-page .slack-check label{display:inline;margin:0;font-weight:400}
.slack-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.slack-page .slack-inline label{display:flex;gap:8px;align-items:center}
.slack-page button.slack-btn-secondary,.slack-page button.slack-btn-off{background:transparent;color:var(--primary);border:1px solid var(--primary)}.slack-page button.slack-btn-off{color:var(--rose,#e11d48);border-color:var(--rose,#e11d48)}
.slack-fine{font-size:12px!important;color:var(--text-muted)}.slack-list{margin:8px 0 0 18px;font-size:13px;line-height:1.8;color:var(--text-muted)}
.slack-example{white-space:pre-wrap;font-size:11px;line-height:1.5;background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:0;max-width:360px;color:var(--text)}
.slack-preview{max-width:none;font-size:12px;margin-top:16px}.slack-ready{font-weight:600}.slack-ready.is-waiting{opacity:.7;font-weight:400}.slack-summary-actions{display:flex;gap:24px;flex-wrap:wrap}.slack-sub{font-size:14px;margin-top:20px}.slack-ok{color:var(--text)}
@media(max-width:1100px){.slack-grid{grid-template-columns:1fr}}
.slack-page code{overflow-wrap:anywhere;word-break:break-all}.slack-summary-actions form{max-width:100%}
/* Shared active order/shipment dock and direct-message chat. */
.admin-main { padding-bottom: 70px !important; }
.bottom-dock {
  position: fixed;
  bottom: 12px;
  right: 16px;
  left: calc(var(--sidebar-width, 240px) + 16px);
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 1020;
  pointer-events: none;
}
.dock-pills {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 4px 2px;
  flex: 1;
  justify-content: flex-end;
  scrollbar-width: thin;
  pointer-events: auto;
}
.dock-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  max-width: 175px;
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 999px;
  padding: 4px 10px;
  background: var(--card-bg, #fff);
  color: var(--text, #17263b);
  font: 600 11px/1.2 Inter, -apple-system, sans-serif;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: all 0.15s ease;
}
.dock-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
  border-color: var(--primary, #0284c7);
}
.dock-pill span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}
.dock-pill b {
  border-radius: 12px;
  background: var(--primary, #0284c7);
  color: #fff;
  padding: 1.5px 6px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
}
.dock-shipment {
  border-color: #86efac;
}
.dock-shipment b {
  background: #10b981;
}

.dock-chat-toggle {
  pointer-events: auto;
  position: relative;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary, #0284c7) 0%, #0369a1 100%);
  color: #fff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.dock-chat-toggle:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
}
.dock-chat-toggle svg {
  width: 18px;
  height: 18px;
  display: block;
}
.dock-chat-toggle #dockUnread {
  position: absolute;
  top: -3px;
  right: -3px;
  background: #ef4444;
  color: #fff;
  border-radius: 10px;
  padding: 1px 5px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  border: 1.5px solid var(--card-bg, #fff);
}

.dock-ironbot-toggle {
  background: linear-gradient(135deg, #0284c7 0%, #6366f1 100%);
  box-shadow: 0 3px 12px rgba(99, 102, 241, 0.35);
  position: relative;
}
.dock-ironbot-toggle:hover {
  transform: scale(1.08);
  box-shadow: 0 5px 16px rgba(99, 102, 241, 0.45);
}
.dock-ironbot-toggle[aria-expanded="true"] {
  box-shadow: 0 0 0 2.5px var(--card-bg, #fff), 0 0 0 4.5px #6366f1;
}
.dock-ironbot-bubble-icon {
  font-size: 19px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  transition: transform 0.15s ease;
}
.dock-ironbot-toggle:hover .dock-ironbot-bubble-icon {
  transform: scale(1.1);
}
.dock-ironbot-pulse {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #10b981;
  border: 2px solid var(--card-bg, #fff);
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.6);
  transition: all 0.2s ease;
}
.dock-ironbot-pulse.is-thinking {
  background: #f59e0b;
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.8);
  animation: dockIronBotPulseAnim 1.4s infinite ease-in-out;
}
.dock-ironbot-pulse.has-new {
  background: #6366f1;
  box-shadow: 0 0 8px rgba(99, 102, 241, 0.8);
}
@keyframes dockIronBotPulseAnim {
  0% { transform: scale(0.9); opacity: 0.8; }
  50% { transform: scale(1.35); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.8; }
}

.dock-dialog {
  width: min(540px, 90vw);
  max-height: 80vh;
  overflow: auto;
  border: 1px solid var(--border, #ddd);
  border-radius: 14px;
  background: var(--card-bg, #fff);
  color: var(--text, #17263b);
  padding: 20px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.2);
}
.dock-dialog::backdrop { background: rgba(16, 28, 48, 0.6); backdrop-filter: blur(2px); }
.dock-dialog header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border, #e2e8f0);
}
.dock-dialog header button {
  border: 1px solid var(--border, #ddd);
  background: var(--card-bg, #fff);
  color: inherit;
  border-radius: 6px;
  width: 28px;
  height: 28px;
  cursor: pointer;
  font-size: 14px;
}
.dock-dialog dt { text-transform: capitalize; font-weight: 700; margin-top: 12px; font-size: 12px; color: var(--text-muted); }
.dock-dialog dd { margin: 2px 0 8px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; font-weight: 500; }

/* Modern Sleek Chat Box */
.dock-chat-panel {
  position: fixed;
  right: 16px;
  bottom: 58px;
  width: min(350px, calc(100vw - 28px));
  height: 480px;
  max-height: calc(100dvh - 75px);
  display: flex;
  flex-direction: column;
  z-index: 1021;
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 14px;
  background: var(--card-bg, #fff);
  color: var(--text, #17263b);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}
.dock-chat-panel[hidden] {
  display: none !important;
}

.dock-chat-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--surface-subtle, var(--bg, #f8fafc));
  border-bottom: 1px solid var(--border, #dbe5ef);
  flex-shrink: 0;
}
.dock-chat-head-info {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.dock-chat-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--primary, #0284c7);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 11px;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}
.dock-chat-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.dock-chat-head-info strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dock-chat-sub {
  display: block;
  font-size: 10.5px;
  color: var(--text-muted, #64748b);
  line-height: 1.2;
}
.dock-chat-head-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 5px !important;
  flex-shrink: 0 !important;
  margin-left: auto;
}
.dock-chat-head-btn,
.dock-ironbot-head-btn {
  border: 1px solid var(--border, #ddd);
  background: var(--card-bg, #fff);
  color: var(--text-muted, #64748b);
  border-radius: 6px;
  width: 26px;
  height: 26px;
  min-width: 26px;
  min-height: 26px;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px;
  line-height: 1;
  text-decoration: none !important;
  padding: 0;
  box-sizing: border-box;
  flex-shrink: 0;
  transition: all 0.12s ease;
}
.dock-chat-head-btn:hover,
.dock-ironbot-head-btn:hover {
  color: var(--text);
  border-color: var(--primary);
  background: var(--surface-subtle, #f8fafc);
}

/* Contact selection & search bar */
.dock-contact-bar {
  padding: 8px 12px;
  background: var(--card-bg, #fff);
  border-bottom: 1px solid var(--border, #dbe5ef);
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.dock-contact-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.dock-contact-search-icon {
  position: absolute;
  left: 8px;
  font-size: 11px;
  color: var(--text-muted, #64748b);
  pointer-events: none;
}
.dock-contact-search {
  width: 100%;
  padding: 5px 24px 5px 24px;
  font-size: 11.5px;
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 6px;
  background: var(--bg, #f1f5f9);
  color: var(--text);
  box-sizing: border-box;
}
.dock-contact-search:focus {
  outline: none;
  border-color: var(--primary, #0284c7);
  background: var(--card-bg, #fff);
}
.dock-contact-clear {
  position: absolute;
  right: 6px;
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 11px;
  padding: 2px 4px;
}
.dock-contact-select {
  width: 100%;
  padding: 5px 8px;
  font-size: 11.5px;
  font-weight: 500;
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 6px;
  background: var(--card-bg, #fff);
  color: var(--text);
  cursor: pointer;
  box-sizing: border-box;
}
.dock-contact-select:focus {
  outline: none;
  border-color: var(--primary, #0284c7);
}

/* Teammate custom picker */
.dock-teammate-picker {
  position: relative;
  width: 100%;
}
.dock-teammate-toggle {
  width: 100%;
  padding: 5px 10px;
  min-height: 34px;
  font-size: 11.5px;
  font-weight: 500;
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 6px;
  background: var(--card-bg, #fff);
  color: var(--text, #17263b);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dock-teammate-toggle:hover,
.dock-teammate-toggle:focus {
  outline: none;
  border-color: var(--primary, #0284c7);
  box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.15);
}
.dock-picker-identity {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1;
  overflow: hidden;
}
.dock-picker-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--text, #17263b);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dock-picker-role {
  font-size: 9.5px;
  font-weight: 700;
  padding: 1.5px 6px;
  border-radius: 4px;
  background: var(--surface-subtle, #f1f5f9);
  color: var(--text-muted, #64748b);
  letter-spacing: 0.3px;
  flex-shrink: 0;
}
.dock-picker-placeholder {
  font-size: 11.5px;
  color: var(--text-muted, #64748b);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dock-picker-arrow {
  font-size: 11px;
  color: var(--text-muted, #64748b);
  flex-shrink: 0;
  transition: transform 0.15s ease;
}
.dock-teammate-toggle[aria-expanded="true"] .dock-picker-arrow {
  transform: rotate(180deg);
}
.dock-teammate-choices {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 220px;
  overflow-y: auto;
  background: var(--card-bg, #fff);
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  z-index: 1050;
  padding: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dock-teammate-choices[hidden] {
  display: none !important;
}
.dock-teammate-choices p {
  margin: 0;
  padding: 10px 8px;
  font-size: 11px;
  color: var(--text-muted, #64748b);
  text-align: center;
}
.dock-teammate-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  width: 100%;
  text-align: left;
  font-size: 11.5px;
  transition: background 0.12s ease;
}
.dock-teammate-choice:hover,
.dock-teammate-choice:focus {
  background: var(--surface-subtle, #f1f5f9);
  outline: none;
}
.dock-teammate-choice.selected,
.dock-teammate-choice[aria-pressed="true"] {
  background: rgba(2, 132, 199, 0.1);
  font-weight: 600;
}
.dock-teammate-choice b {
  font-size: 10px;
  font-weight: 700;
  background: #ef4444;
  color: #fff;
  padding: 1px 6px;
  border-radius: 10px;
  flex-shrink: 0;
}

/* Messages body */
.dock-messages-body {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 116, 139, 0.4) transparent;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--bg, #f8fafc);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.dock-messages-body::-webkit-scrollbar,
.dock-ironbot-messages-body::-webkit-scrollbar {
  width: 6px;
}
.dock-messages-body::-webkit-scrollbar-track,
.dock-ironbot-messages-body::-webkit-scrollbar-track {
  background: transparent;
}
.dock-messages-body::-webkit-scrollbar-thumb,
.dock-ironbot-messages-body::-webkit-scrollbar-thumb {
  background: rgba(100, 116, 139, 0.35);
  border-radius: 4px;
}
.dock-messages-body::-webkit-scrollbar-thumb:hover,
.dock-ironbot-messages-body::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 116, 139, 0.6);
}
.dock-chat-empty {
  margin: auto;
  text-align: center;
  padding: 20px 10px;
  color: var(--text-muted, #64748b);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.dock-chat-empty strong {
  font-size: 13px;
  color: var(--text);
  margin-bottom: 4px;
}
.dock-chat-empty p {
  font-size: 11.5px;
  margin: 0;
  max-width: 220px;
  line-height: 1.4;
}

/* Chat bubble */
.dock-message {
  align-self: flex-start;
  max-width: 86%;
  padding: 8px 11px;
  border-radius: 12px 12px 12px 2px;
  background: var(--card-bg, #fff);
  color: var(--text, #17263b);
  border: 1px solid var(--border, #e2e8f0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
  box-sizing: border-box;
}
.dock-message.mine {
  align-self: flex-end;
  border-radius: 12px 12px 2px 12px;
  background: var(--primary, #0284c7);
  color: #fff;
  border: none;
  box-shadow: 0 1px 3px rgba(2, 132, 199, 0.25);
}
.dock-message-author {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  line-height: 1.2;
}
.dock-message-author strong {
  font-size: 11px;
  font-weight: 600;
  color: var(--text, #17263b);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dock-message.mine .dock-message-author strong {
  color: rgba(255, 255, 255, 0.95);
}
.dock-message-avatar {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--surface-subtle, #e2e8f0);
  color: var(--text, #1e293b);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 9.5px;
  line-height: 1;
  flex-shrink: 0;
  overflow: hidden;
  text-transform: uppercase;
}
.dock-message.mine .dock-message-avatar {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}
.dock-message-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.dock-message img:not(.dock-message-avatar img) {
  max-width: 100%;
  max-height: 200px;
  border-radius: 8px;
  object-fit: cover;
  display: block;
  margin: 5px 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.dock-message p {
  margin: 0;
  white-space: pre-wrap;
}
.dock-message small {
  display: block;
  font-size: 9.5px;
  margin-top: 3px;
  opacity: 0.75;
  text-align: right;
}
.dock-message.mine small {
  opacity: 0.85;
  color: #e0f2fe;
}

/* Chat send form */
.dock-chat-form {
  padding: 8px 12px;
  background: var(--card-bg, #fff);
  border-top: 1px solid var(--border, #dbe5ef);
  flex-shrink: 0;
}
.dock-chat-form[hidden] {
  display: none !important;
}
.dock-input-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 20px;
  padding: 3px 6px 3px 12px;
  background: var(--bg, #f1f5f9);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.dock-input-wrap:focus-within {
  border-color: var(--primary, #0284c7);
  background: var(--card-bg, #fff);
}
.dock-input {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: 12px;
  line-height: 1.35;
  resize: none;
  max-height: 80px;
  padding: 4px 0;
  box-sizing: border-box;
}
.dock-input:focus {
  outline: none;
}
.dock-send-btn {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 50%;
  background: var(--primary, #0284c7);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.1s ease, background 0.15s ease;
}
.dock-send-btn:hover {
  background: #0369a1;
  transform: scale(1.05);
}
.dock-send-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}
.dock-chat-status {
  font-size: 11px;
  color: var(--text-muted);
  padding: 0 12px 4px;
}

/* Iron Bot Dock Chat Panel */
.dock-ironbot-panel {
  width: min(390px, calc(100vw - 24px));
  height: 540px;
  max-height: calc(100dvh - 75px);
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.dock-ironbot-head {
  background: linear-gradient(135deg, rgba(2, 132, 199, 0.08) 0%, rgba(99, 102, 241, 0.1) 100%);
  border-bottom: 1px solid var(--border, #dbe5ef);
}
.dock-ironbot-avatar {
  background: linear-gradient(135deg, #0284c7 0%, #6366f1 100%);
  border-radius: 9px;
  font-size: 18px;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}
.dock-ironbot-head-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.dock-ironbot-title-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.dock-ironbot-pill {
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 1.5px 6px;
  border-radius: 999px;
  background: rgba(99, 102, 241, 0.15);
  color: #6366f1;
  border: 1px solid rgba(99, 102, 241, 0.3);
}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .dock-ironbot-pill {
  background: rgba(129, 140, 248, 0.2);
  color: #a5b4fc;
  border-color: rgba(129, 140, 248, 0.4);
}
.dock-ironbot-head-btn {
  text-decoration: none;
}
.dock-ironbot-head-btn:hover {
  border-color: #6366f1;
  color: #6366f1;
}

/* Screen Context Bar */
.dock-ironbot-context-bar {
  padding: 6px 12px;
  background: var(--surface-subtle, #f8fafc);
  border-bottom: 1px solid var(--border, #dbe5ef);
  font-size: 11.5px;
  flex-shrink: 0;
}
.dock-ironbot-context-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.dock-ironbot-context-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.dock-ironbot-context-tag span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dock-ironbot-clues-toggle {
  background: none;
  border: none;
  color: var(--primary, #0284c7);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  flex-shrink: 0;
}
.dock-ironbot-clues-toggle:hover {
  text-decoration: underline;
}
.dock-ironbot-clues-panel {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed var(--border, #dbe5ef);
}
.dock-ironbot-clues-panel[hidden] {
  display: none !important;
}
.dock-ironbot-clues-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.dock-ironbot-clue-field {
  width: 100%;
  padding: 4px 8px;
  font-size: 11px;
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 6px;
  background: var(--card-bg, #fff);
  color: var(--text);
  box-sizing: border-box;
}
.dock-ironbot-clue-field:focus {
  outline: none;
  border-color: #6366f1;
}

/* Empty State & Starters */
.dock-ironbot-empty {
  padding: 16px 12px;
}
.dock-ironbot-empty-icon {
  font-size: 32px;
  margin-bottom: 8px;
  display: block;
}
.dock-ironbot-starters {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  margin-top: 14px;
}
.dock-ironbot-starter-chip {
  background: var(--card-bg, #fff);
  border: 1px solid var(--border, #dbe5ef);
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.dock-ironbot-starter-chip:hover {
  background: rgba(99, 102, 241, 0.08);
  border-color: #6366f1;
  color: #4f46e5;
  transform: translateX(2px);
}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .dock-ironbot-starter-chip:hover {
  color: #a5b4fc;
}

/* Bot Message Styling */
.dock-ironbot-messages-body {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 116, 139, 0.4) transparent;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--bg, #f8fafc);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.dock-message.dock-ironbot-msg {
  max-width: 92%;
}
.dock-message.dock-ironbot-bot {
  max-width: 96%;
  background: var(--card-bg, #fff);
  border-left: 3px solid #6366f1;
}
.dock-ironbot-avatar-sm {
  background: linear-gradient(135deg, #0284c7 0%, #6366f1 100%);
  color: #fff;
  border-radius: 4px;
  font-size: 11px;
}
.dock-ironbot-bubble-content p {
  margin: 0 0 6px;
  line-height: 1.4;
}
.dock-ironbot-bubble-content p:last-child {
  margin-bottom: 0;
}
.dock-ironbot-list {
  margin: 4px 0 6px;
  padding-left: 18px;
}
.dock-ironbot-list li {
  margin-bottom: 3px;
  line-height: 1.35;
}
.dock-ironbot-inline-code {
  background: var(--surface-subtle, #f1f5f9);
  padding: 1px 4px;
  border-radius: 4px;
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  color: #e11d48;
}
.dock-ironbot-code-block {
  background: #0f172a;
  color: #f8fafc;
  padding: 8px;
  border-radius: 6px;
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-x: auto;
  margin: 6px 0;
}
.dock-ironbot-status-note {
  display: block;
  font-size: 10px;
  margin-top: 4px;
  font-weight: 500;
  color: var(--amber, #f59e0b);
}
.dock-ironbot-send-btn {
  background: linear-gradient(135deg, #0284c7 0%, #6366f1 100%);
}
.dock-ironbot-send-btn:hover {
  background: linear-gradient(135deg, #0369a1 0%, #4f46e5 100%);
}

@media(max-width:900px){
  .bottom-dock { left: 10px; right: 10px; }
  .dock-pills { justify-content: flex-start; }
  .dock-chat-panel { right: 10px; }
} 
/* Send To 2D (legacy send_to_2d.php look: filter bar, highlights, details rows). */
.s2d-intro{color:var(--text-muted);font-size:13px;margin-top:4px}.s2d-stage{font-size:12px;color:var(--text-muted);background:var(--surface-subtle);border:1px dashed var(--border);border-radius:8px;padding:8px 12px;margin:12px 0}
.s2d-legend{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:12px}.s2d-legend summary{cursor:pointer;font-weight:700;color:var(--primary);font-size:13px}
.s2d-legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 16px;margin-top:10px;font-size:12px;color:var(--text)}.s2d-swatch{display:inline-block;width:28px;height:14px;border-radius:3px;margin-right:6px;vertical-align:middle}
.s2d-swatch.s2d-blank{background:#fef3c7}.s2d-swatch.s2d-tpl{background:#dcfce7}.s2d-swatch.s2d-dup{background:#fee2e2}.s2d-swatch.s2d-top{border:2px solid #198754}.s2d-swatch.s2d-gated{border:2px solid #dc2626}
.s2d-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;background:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 70%,#00838f) 100%);border-radius:10px;margin-bottom:14px}
.s2d-f{display:flex;align-items:center;height:32px;background:#ffffff26;border:1px solid #ffffff47;border-radius:7px;color:#fff;font-size:12.5px;padding-left:8px;gap:4px}.s2d-f select,.s2d-f input{background:transparent;border:0;color:#fff;font:inherit;height:100%;padding:0 8px 0 2px;outline:none;min-width:0}
.s2d-f select option{color:#0f172a;background:#fff}.s2d-f input::placeholder{color:#ffffffb0}.s2d-f-grow{flex:1 1 200px}.s2d-f-grow input{width:100%}.s2d-f-rows select{width:58px}
.s2d-summary{display:inline-flex;gap:4px}.s2d-summary b{background:#fff;color:#0f172a;border-radius:6px;padding:3px 8px;font-size:11px}
.s2d-sort{display:inline-flex;align-items:center;height:32px;border:1px solid #ffffff40;border-radius:7px;overflow:hidden;color:#fff;font-size:12px}.s2d-sort>span{padding:0 8px}
.s2d-sort button,.s2d-clear{background:transparent;border:0;border-left:1px solid #ffffff2e;color:#ffffffd9;height:32px;padding:0 10px;font:inherit;font-size:12px;cursor:pointer}.s2d-sort button.active{background:#ffffff47;color:#fff;font-weight:700}
.s2d-sort button[data-dir]:not([data-dir=""])::after{content:" " attr(data-dir);color:#ffd54f}.s2d-clear{border:1px solid #ffffff47;border-radius:7px;background:#ffffff1f}
.s2d-table th,.s2d-table td{white-space:nowrap;font-size:12.5px}.s2d-table td:nth-child(2){white-space:normal;min-width:220px}.s2d-table .cell-sub{max-width:280px}
.s2d-table td.s2d-blank{background:#fef3c780;color:var(--text-muted)}.s2d-table td.s2d-tpl{background:#dcfce780}
.s2d-row.is-dup>td{background:#fee2e2a6}.s2d-row.is-freeze>td:first-child{box-shadow:inset 4px 0 0 #0d6efd}.s2d-row.is-copied-row>td{background:#e0f2fe}
@keyframes s2dTop{0%,100%{box-shadow:inset 0 2px 0 #198754,inset 0 -2px 0 #198754}50%{box-shadow:inset 0 2px 0 #19875420,inset 0 -2px 0 #19875420}}
@keyframes s2dGated{0%,100%{box-shadow:inset 0 2px 0 #dc2626,inset 0 -2px 0 #dc2626}50%{box-shadow:inset 0 2px 0 #dc262620,inset 0 -2px 0 #dc262620}}
.s2d-row.is-top>td{animation:s2dTop 1.4s ease-in-out infinite}.s2d-row.is-gated>td{animation:s2dGated 1.4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.s2d-row.is-top>td,.s2d-row.is-gated>td{animation:none;box-shadow:inset 0 2px 0 currentColor}}
.s2d-sku{display:flex;align-items:center;gap:4px;font-weight:700}.s2d-code{color:var(--primary);text-decoration:none}.s2d-slot{min-width:16px;font-size:11px}.s2d-slot.is-copied{background:#198754;color:#fff;border-radius:999px;padding:2px 8px}
.s2d-bag{font-weight:700;text-decoration:none;color:var(--primary)}.s2d-problem{border:1px solid #dc2626;background:transparent;border-radius:6px;padding:2px 8px;cursor:pointer}
.s2d-details-btn{border:1px solid #0dcaf0;background:transparent;color:#0aa2c0;border-radius:6px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.s2d-details-btn.has-notes{background:#0dcaf0;color:#073b4c}
.s2d-details>td{background:var(--surface-subtle)}.s2d-details-box{display:flex;flex-direction:column;gap:6px;font-size:13px;white-space:normal}
.s2d-shrinker{background:#e7f1ff;border:1.5px solid #0071ce;border-radius:8px;padding:8px 12px;color:#073b70}.s2d-shrinker span{margin-left:10px}.s2d-prepnote{background:#fff8e1;border:1.5px solid #ffd54f;border-radius:8px;padding:8px 12px;color:#4a3500}
.s2d-totals td{font-weight:700;text-align:right}.s2d-totals td:first-child{text-align:right}.s2d-pill{display:inline-block;background:var(--primary);color:#fff;border-radius:6px;padding:1px 6px;font-size:11px;margin-top:2px}
.s2d-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px}.s2d-pager button{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:6px;padding:5px 12px;cursor:pointer}.s2d-pager button:disabled{opacity:.5;cursor:default}
.s2d-badges{display:flex;flex-wrap:wrap;gap:8px}.s2d-badges span{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:12px}.s2d-pre{max-width:none}.s2d-label{font-size:12px;font-weight:700}
.s2d-img-tip .tooltip-inner{max-width:220px;padding:6px}.s2d-thumb{display:block;max-width:200px;max-height:200px;border-radius:6px;background:#fff}
.dock-pills{justify-content:flex-start}.dock-chat-toggle svg{display:block;margin:auto}.dock-chat-panel .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.s2d-table th,.s2d-table td{padding:8px 10px}.s2d-table td:nth-child(2){min-width:200px}.s2d-table .cell-sub{max-width:260px}
.s2d-tip{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:210px}.s2d-tip-title{font-size:12px;line-height:1.35;text-align:center;font-weight:600}.s2d-tip-missing{font-size:11px;opacity:.8}
.s2d-img-tip .tooltip-inner{max-width:230px}.s2d-details-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.s2d-ktools-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;background:var(--primary);color:#fff!important;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.s2d-ktools-badge:hover,.s2d-ktools-badge:focus-visible{background:var(--primary-hover,#0369a1)}
/* Pallet stack estimate (legacy send_to_2d.php pallet styles). */
.pallet-estimate-wrap{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;flex-wrap:wrap}.pallet-estimate-label{font-size:12px;font-weight:500;white-space:nowrap}
.pallet-estimate-pill{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #b6d4fe;background:#eef6ff;color:#12385f;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.1}
.pallet-estimate-link{border:1px solid var(--border);background:var(--card-bg);color:var(--primary);border-radius:6px;font:inherit;font-size:12px;font-weight:700;padding:3px 8px;cursor:pointer;box-shadow:0 1px 2px #0002}.pallet-estimate-link:hover:not(:disabled){background:#fff7d6;color:#06263c;border-color:#ffe08a}.pallet-estimate-link:disabled{opacity:.6;cursor:not-allowed}
.user-dialog.pallet-stack-dialog{width:min(1180px,calc(100vw - 32px))}
.pallet-3d-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.pallet-3d-tabs{display:flex;gap:.35rem;flex-wrap:wrap}
.pallet-3d-tab,.pallet-3d-reset{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:6px;padding:5px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.pallet-3d-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}
.pallet-3d-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1rem}
.pallet-3d-viewer{min-height:520px;border:1px solid #d7e0ea;border-radius:8px;background:linear-gradient(180deg,#ffffffb8,#fff0 32%),radial-gradient(circle at 50% 62%,#26405c26,#26405c00 36%),linear-gradient(180deg,#f8fbff 0%,#edf3f8 64%,#e3ebf2 100%);overflow:hidden;position:relative;cursor:grab;user-select:none;touch-action:none}
.pallet-3d-viewer.dragging{cursor:grabbing}.pallet-3d-viewer:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.pallet-3d-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pallet-3d-sidepanel{border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);padding:.75rem;font-size:13px}.pallet-side-title{font-weight:700;margin-bottom:.5rem}
.pallet-3d-sidepanel .pallet-stat{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.pallet-3d-sidepanel .pallet-stat strong{white-space:nowrap}
.pallet-warn-title{margin-top:.75rem;font-weight:700;color:#b45309}.pallet-warning-list{margin:.4rem 0 0;padding-left:1.1rem;font-size:12px}.pallet-note{font-size:12px!important;color:var(--text-muted);margin:.6rem 0 0!important}
@media(max-width:820px){.pallet-3d-layout{grid-template-columns:1fr}.pallet-3d-viewer{min-height:360px}}
/* Send To 2D legend + flags parity with legacy. */
.s2d-legend-grid span{display:flex;align-items:center;gap:6px}.s2d-lg-icon{min-width:22px;text-align:center;font-weight:400}.s2d-lg-pill{display:inline-block;background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600}
.s2d-swatch.s2d-freeze{background:linear-gradient(90deg,#0d6efd33 0%,#0d6efd00 100%);border-left:3px solid #0d6efd}
.s2d-row.is-freeze>td{background-image:linear-gradient(90deg,#0d6efd1a 0%,#0d6efd00 60%)}.s2d-row.is-freeze>td:first-child{box-shadow:inset 3px 0 0 #0d6efd}
.s2d-note-icon{border:0;background:transparent;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}
.s2d-notes{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.s2d-notes li{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--surface-subtle);font-size:13px;white-space:pre-wrap}.s2d-notes small{display:block;color:var(--text-muted);font-size:11px;margin-top:4px}
.s2d-attempts-low b{color:#198754}.s2d-attempts-mid b{color:#b45309}.s2d-attempts-high b{color:#dc2626}
/* Send To 2D stage 2: actions, status, dialogs. */
.s2d-status{padding:10px 14px;border-radius:8px;margin:10px 0;font-size:13px;border:1px solid var(--border)}.s2d-status.is-ok{border-color:#10b981;background:#ecfdf5;color:#065f46}.s2d-status.is-error{border-color:#e11d48;background:#fff1f2;color:#9f1239}
.s2d-actions{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}
.s2d-act{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:6px;padding:4px 9px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.s2d-act:hover{background:var(--surface-subtle)}
.s2d-act-danger{border-color:#fca5a5;color:#b91c1c}.s2d-act-danger:hover{background:#fef2f2}.s2d-act-icon{padding:4px 8px;font-weight:700;color:var(--primary);border-color:var(--primary)}
.s2d-note-icon.is-empty{opacity:.35;font-size:11px}.s2d-note-icon.is-empty:hover,.s2d-note-icon.is-empty:focus-visible{opacity:1}
.s2d-prepnote{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.s2d-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;margin:10px 0}.s2d-form label small{font-weight:400;color:var(--text-muted)}
.s2d-form input:not([type=checkbox]):not([type=hidden]),.s2d-form select,.s2d-form textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle);color:var(--text);font:inherit;font-size:13px}
.s2d-form .s2d-ro{background:var(--bg);color:var(--text-muted)}.s2d-form label.s2d-check{flex-direction:row;align-items:center;gap:8px;font-weight:600}
.s2d-grid{display:grid;gap:0 14px}.s2d-g2{grid-template-columns:repeat(2,minmax(0,1fr))}.s2d-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.s2d-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.s2d-auto{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;background:var(--text-muted);color:var(--card-bg);border-radius:4px;padding:1px 5px;margin-left:4px;vertical-align:middle}.s2d-auto-ok{background:#d1fae5;color:#065f46}
.s2d-supplies{border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle);padding:6px 14px 10px;margin:10px 0}.s2d-supplies legend{font-weight:700;font-size:13px;padding:0 6px}.s2d-supplies small{font-size:11px;color:var(--text-muted)}
.s2d-skuinfo{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.s2d-skuinfo-head{display:flex;gap:8px;align-items:center}
.s2d-danger-head{background:#dc2626}.s2d-danger-head h2,.s2d-danger-head .dialog-close{color:#fff!important}
.dialog-form-actions button.s2d-btn-danger{background:#dc2626!important}.s2d-form-msg{padding:10px 12px;border:1px solid #e11d48;border-radius:8px;color:#9f1239;background:#fff1f2;font-size:12px}
.s2d-notes li{position:relative}.s2d-notes li .s2d-act{margin-top:6px}.s2d-empty{color:var(--text-muted)}
@media(max-width:700px){.s2d-g3,.s2d-g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Send To 2D form fixes: [hidden] must beat display:grid/flex; badges stay inline; fields line up. */
.s2d-page [hidden]{display:none!important}.s2d-form label>.s2d-auto{align-self:flex-start;margin-left:0}.s2d-grid{align-items:end}
.global-search-form{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.global-search-form input{flex:1;min-width:180px}.global-search-form input,.global-search-form select{padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--card-bg);color:var(--text)}.global-search-form button{padding:10px 18px;border:0;border-radius:9px;background:var(--primary);color:#fff;font-weight:700}.global-search-group{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:20px;margin:20px 0}.global-search-group h2{font-size:18px;margin:0 0 14px}.global-search-group small{color:var(--text-muted)}.global-search-result{display:block;padding:14px 0;border-top:1px solid var(--border);text-decoration:none;color:var(--text)}.global-search-result strong{color:var(--primary)}.global-search-result span{display:block;color:var(--text-muted);font-size:12px;margin-top:6px;overflow-wrap:anywhere}.search-record-fields dt{font-weight:700;margin-top:16px}.search-record-fields dd{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}
/* Edit form: label + input + help line per field, rows aligned from the top so fields are level. */
.s2d-help-row{align-items:start}.s2d-lbl{display:flex;align-items:center;gap:4px;min-height:18px}.s2d-lbl .s2d-auto{margin-left:2px}
.s2d-help-row small{font-size:11px;font-weight:400;color:var(--text-muted);line-height:1.35}
.global-search-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0 20px}.global-search-form input[type="search"]{flex:1 1 240px;min-width:200px;padding:10px 14px;border:1px solid var(--border);border-radius:9px;background:var(--card-bg);color:var(--text);font:inherit;font-size:13.5px;transition:border-color .15s ease,box-shadow .15s ease}.global-search-form input[type="search"]:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(2,132,199,.15)}.global-search-form select{flex:0 0 auto;min-width:170px;padding:10px 14px;border:1px solid var(--border);border-radius:9px;background:var(--card-bg);color:var(--text);font:inherit;font-size:13.5px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.global-search-form select:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(2,132,199,.15)}.global-search-btn{padding:10px 22px;border:0;border-radius:9px;background:var(--primary);color:#fff;font:700 13.5px var(--font-body);cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px rgba(2,132,199,.25)}.global-search-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 10px rgba(2,132,199,.35)}
.search-summary-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 12px;padding:10px 16px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;font-size:12.5px}.search-summary-count{color:var(--text);font-weight:500}.search-summary-count strong{color:var(--primary);font-size:13.5px;font-weight:700}.search-summary-query{font-weight:600;color:var(--text)}.search-summary-hint{color:var(--text-muted);font-size:11.5px}
.search-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;border-bottom:1px solid var(--border);padding:0 4px 6px;margin:14px 0 0;scrollbar-width:thin}.search-tabs button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid transparent;background:transparent;color:var(--text-muted);padding:7px 13px;font:600 12.5px var(--font-body);border-radius:7px;cursor:pointer;transition:all .15s ease}.search-tabs button:hover{color:var(--text);background:var(--surface-subtle)}.search-tabs button[aria-selected="true"]{color:var(--primary);background:var(--surface-subtle);border-color:var(--border);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.04)}.search-tabs b{background:rgba(2,132,199,.12);color:var(--primary);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}:root[data-theme="dark"] .search-tabs b{background:rgba(56,189,248,.2);color:#7dd3fc}
.search-results-card{border:1px solid var(--border);border-radius:0 0 12px 12px;background:var(--card-bg);box-shadow:0 2px 8px rgba(0,0,0,.04)}.search-table-scroll{overflow-x:auto;scrollbar-width:thin}.search-results-table{width:100%;border-collapse:collapse;font-size:12.5px}.search-results-table th{text-align:left;background:var(--surface-subtle);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.search-results-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.search-results-table tbody tr{transition:background-color .15s ease}.search-results-table tbody tr:hover td{background:rgba(2,132,199,.03)}:root[data-theme="dark"] .search-results-table tbody tr:hover td{background:rgba(56,189,248,.04)}
.search-type-cell{vertical-align:middle;min-width:120px}.search-type-badge{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--surface-subtle);border:1px solid var(--border);color:var(--text)}
.search-inventory-status{display:inline-flex;align-items:center;gap:4px;width:max-content;white-space:nowrap;margin-top:5px;padding:2px 7px;border:1px solid;border-radius:6px;font-size:10.5px;font-weight:700}.search-inventory-status.status-staged{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.search-inventory-status.status-draft{color:#854d0e;background:#fef9c3;border-color:#facc15}.search-inventory-status.status-sent{color:#166534;background:#dcfce7;border-color:#86efac}.search-inventory-status.status-problem{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.search-inventory-status.status-cancelled,.search-inventory-status.status-deleted,.search-inventory-status.status-unknown{color:#334155;background:#e2e8f0;border-color:#94a3b8}
.search-record-cell{min-width:170px;max-width:340px}.search-record-identity{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-record-title{font-size:13px;font-weight:700;color:var(--text)}
.search-sku-preview{display:inline-flex;align-items:center;padding:2px 7px;background:#fef08a;border:1px solid #fde047;border-radius:5px;color:#854d0e;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;font-weight:700;cursor:pointer;text-decoration:none;transition:all .15s ease;line-height:1.25}:root[data-theme="dark"] .search-sku-preview{background:rgba(234,179,8,.2);border-color:rgba(234,179,8,.4);color:#fef08a}.search-sku-preview:hover{filter:brightness(1.08);transform:translateY(-1px)}.search-sku-badge{display:inline-flex;align-items:center;padding:2px 7px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;font-weight:600}
.search-inventory-title{font-size:12px;color:var(--text-muted);margin-top:4px;max-width:300px;line-height:1.35}.search-inventory-title:hover{color:var(--text)}
.search-result-date{font-size:12px;color:var(--text);line-height:1.35;white-space:nowrap}.search-result-date small{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}
.search-result-summary{min-width:250px;max-width:460px;font-size:12px}
.search-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:3px 12px;max-width:440px;font-size:11.5px;line-height:1.35}
.search-meta-item{display:flex;align-items:baseline;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-meta-k{color:var(--text-muted);font-weight:500;flex-shrink:0}
.search-meta-v{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.is-truncated{border-bottom:1px dotted var(--text-muted);cursor:help;display:inline-block;max-width:100%}
.is-truncated:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}
.search-actions-cell{vertical-align:middle;min-width:170px}
.search-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;white-space:nowrap}
.search-btn-preview,.search-eye{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:28px;width:auto;min-width:auto;padding:0 10px;border-radius:7px;border:1px solid var(--border);background:var(--card-bg);color:var(--primary);font:600 12px var(--font-body);cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:all .15s cubic-bezier(.16,1,.3,1);text-decoration:none}
.search-btn-preview:hover,.search-eye:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,.12);text-decoration:none}
.search-link-detail{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:7px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);font:600 12px var(--font-body);text-decoration:none;white-space:nowrap;transition:all .15s cubic-bezier(.16,1,.3,1)}
.search-link-detail:hover{background:var(--border);color:var(--text);text-decoration:none;transform:translateY(-1px)}
.search-btn-dest{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:7px;background:rgba(2,132,199,.08);border:1px solid rgba(2,132,199,.25);color:var(--primary);font:600 12px var(--font-body);text-decoration:none;white-space:nowrap;transition:all .15s cubic-bezier(.16,1,.3,1)}
.search-btn-dest:hover{background:var(--primary);color:#fff;border-color:var(--primary);text-decoration:none;transform:translateY(-1px)}
:root[data-theme="dark"] .search-btn-dest{background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.3);color:var(--primary)}:root[data-theme="dark"] .search-btn-dest:hover{background:var(--primary);color:#070e1c}
.search-open{font-size:12px}
.search-paging{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:14px 18px;font-size:12px;border-top:1px solid var(--border);background:var(--surface-subtle);border-radius:0 0 12px 12px}
.search-paging a{color:var(--primary);font-weight:600;text-decoration:none;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--card-bg);transition:all .15s ease}
.search-paging a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.search-results-table tr[hidden],.search-paging [hidden]{display:none}
mark.search-match{background:#fef08a;color:#854d0e;padding:1px 3px;border-radius:3px}:root[data-theme="dark"] mark.search-match{background:rgba(234,179,8,.35);color:#fef08a}
.search-empty-state{padding:40px 20px;text-align:center;background:var(--card-bg);border:1px dashed var(--border);border-radius:12px;color:var(--text-muted);font-size:14px;margin:20px 0}
.search-alert-error{padding:12px 16px;background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:8px;margin:16px 0;font-size:13px}:root[data-theme="dark"] .search-alert-error{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}
.search-detail-dialog{position:fixed;inset:0;margin:auto;width:min(850px,calc(100vw - 32px));max-height:85dvh;padding:0;border:1px solid var(--border);border-radius:16px;background:var(--card-bg);color:var(--text);box-shadow:0 20px 80px #0005}.search-detail-dialog::backdrop{background:#101c3080}.search-detail-dialog header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border)}.search-detail-dialog h2{font-size:18px;margin:5px 0;overflow-wrap:anywhere}.search-detail-dialog small{color:var(--text-muted)}.search-detail-dialog header button{flex:0 0 36px;width:36px;height:36px;font-size:24px;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle);color:var(--text);cursor:pointer}.search-detail-body{padding:8px 22px 20px;max-height:58dvh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-muted) var(--surface-subtle)}.search-detail-body dl{display:grid;grid-template-columns:minmax(130px,1fr) 3fr;gap:0;margin:0}.search-detail-body dt,.search-detail-body dd{padding:10px 0;border-bottom:1px solid var(--border);margin:0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.search-detail-body dt{font-weight:700;padding-right:16px}.search-detail-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border)}.search-detail-dialog footer button,.search-detail-dialog footer a{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);text-decoration:none;font:600 12px var(--font-body);cursor:pointer}.search-detail-dialog footer a{background:var(--primary);color:#fff}.search-btn-preview:focus-visible,.search-eye:focus-visible,.search-tabs button:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}
@media(max-width:650px){.search-result-summary{display:none}.search-detail-body dl{grid-template-columns:1fr}.search-detail-body dt{border:0;padding-bottom:0}.search-detail-body dd{padding-top:4px}.search-results-table th:nth-child(3),.search-results-table td:nth-child(3){display:none}}
/* Send To 2D stage 3: Complete marks, Complete Group, Submit Completed Rows bar, order picker, CSV banner. */
.s2d-complete{border:0;border-radius:6px;padding:4px 9px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;background:#198754;color:#fff}.s2d-complete.is-tpl{background:#0d6efd}.s2d-complete.is-marked{background:#ffc107;color:#1f2937}.s2d-complete:hover{filter:brightness(1.08)}.s2d-complete:focus-visible,.s2d-group:focus-visible,.s2d-order-pick:focus-visible{outline:2px solid #ffd54f;outline-offset:2px}
.s2d-row.is-complete>td{background:#d1e7dd}.s2d-swatch.s2d-done{background:#d1e7dd}
.s2d-lg-complete{background:#198754;color:#fff;border-color:#198754}.s2d-lg-complete.is-tpl{background:#0d6efd;border-color:#0d6efd}.s2d-lg-undo{background:#ffc107;color:#1f2937;border-color:#ffc107}
.s2d-group{height:32px;border:0;border-radius:7px;padding:0 12px;background:#198754;color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.s2d-group:disabled{opacity:.62;cursor:not-allowed}
.s2d-submit{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 70%,#00838f) 100%);border-radius:0 0 10px 10px;color:#fff}
.s2d-submit[hidden]{display:none!important}.s2d-submit-count{font-weight:700;font-size:13px;margin-right:4px}
.s2d-order-pick{height:32px;border:1px dashed #ffffffb3;border-radius:7px;background:#ffffff1f;color:#fff;font:inherit;font-size:12.5px;padding:0 12px;cursor:pointer;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s2d-order-pick.is-set{border-style:solid;background:#fff;color:#0f172a;font-weight:700}
.s2d-submit .qo-cancel{height:32px;padding:0 12px;color:#fff!important;border-color:#ffffff80!important}
.s2d-btn-ok{height:32px;border:0;border-radius:7px;padding:0 14px;background:#198754;color:#fff;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.dialog-form-actions button.s2d-btn-ok{background:#198754!important;height:auto}
.s2d-submit input{background:transparent;border:0;color:#fff;font:inherit;min-width:160px;flex:1;outline:0}.s2d-submit input::placeholder{color:#ffffffb3}
.s2d-order-table{max-height:50vh;overflow:auto;margin:8px 0 14px}.s2d-order-table tr.is-picked>td{background:#d1e7dd}.s2d-order-notes{font-size:11px;color:var(--text-muted);max-width:260px;white-space:pre-wrap}
.s2d-new-order{display:flex;gap:10px;align-items:flex-end;border-top:1px solid var(--border);padding-top:6px}.s2d-new-order label{flex:1;margin:0}.s2d-new-order button{height:38px;border:0;border-radius:7px;padding:0 14px;background:var(--primary);color:#fff;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;margin-bottom:22px}
.s2d-complete-summary{margin:8px 0 14px;padding-left:18px;font-size:13px;line-height:1.6}
.s2d-export{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin:10px 0;border:1px solid #10b981;border-radius:10px;background:#ecfdf5;color:#065f46}.s2d-export small{display:block;color:#047857;font-size:12px}
.s2d-export-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.s2d-dl{display:inline-block;padding:8px 12px;border-radius:7px;color:#fff;font-weight:700;font-size:12.5px;text-decoration:none}.s2d-dl-ind{background:#198754}.s2d-dl-cp{background:#0d6efd}.s2d-dl:hover{filter:brightness(1.08);color:#fff}
.s2d-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root[data-theme="dark"] .s2d-row.is-complete>td,:root[data-theme="dark"] .s2d-order-table tr.is-picked>td{background:#14532d99}:root[data-theme="dark"] .s2d-export{background:#052e1f;color:#a7f3d0}:root[data-theme="dark"] .s2d-export small{color:#6ee7b7}
/* Only body rows have the SKU in column 2 (the totals row's 2nd cell is Total); the date's time wraps under it. */
.s2d-table tfoot td:nth-child(2){min-width:0}.s2d-table td.s2d-date{white-space:normal;min-width:84px;line-height:1.25}.s2d-date small{display:block;color:var(--text-muted);font-size:11px}
@media (max-width:1440px){.s2d-actions{flex-wrap:wrap;width:212px}}
/* On 2D Draft (send-to-2d.php in draft mode): order chip, Problem button, per-order CSV links. */
.s2d-order-chip{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#e0f2fe;color:#075985;border:1px solid #bae6fd;font-size:11px;font-weight:600;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.s2d-act-warn{border-color:#fcd34d;color:#92400e}.s2d-act-warn:hover{background:#fffbeb}
.s2d-csv{display:inline-flex;gap:6px}.s2d-csv .s2d-dl{padding:0 10px;height:32px;display:inline-flex;align-items:center;font-size:12px}.s2d-dl.is-off{opacity:.55;cursor:not-allowed;pointer-events:auto}
:root[data-theme="dark"] .s2d-order-chip{background:#0c4a6e;color:#e0f2fe;border-color:#075985}
.s2d-draft .s2d-order-chip{margin:4px 0 0}.s2d-table td.s2d-date{white-space:nowrap}.s2d-draft .s2d-actions{flex-wrap:wrap;width:232px}
@media (max-width:1440px){.s2d-draft .s2d-actions{width:220px}}
/* Filter bar: everything after the Owner filter (sort, Top, Clear, Complete Group / CSV) starts a new line. */
.s2d-filters .s2d-break{flex-basis:100%;height:0}
/* Submit Completed Rows bar: Clear marks is a quiet outline button on the blue bar (no global button fill). */
.s2d-submit .s2d-unmark{height:32px;padding:0 12px;border:1px solid #ffffffb3;border-radius:7px;background:#ffffff1f;color:#fff;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.s2d-submit .s2d-unmark:hover{background:#ffffff38;border-color:#fff}.s2d-submit .s2d-unmark:focus-visible{outline:2px solid #ffd54f;outline-offset:2px}
/* Complete / Not Completed share one width so the buttons after them stay in line. */
.s2d-complete{min-width:128px;text-align:center}
@media (max-width:1600px){.s2d-actions{flex-wrap:wrap;width:240px}}
@media (max-width:1440px){.s2d-actions{width:212px}.s2d-draft .s2d-actions{width:220px}}
/* Compact filter bar: every control on one row (wraps only on narrow screens). */
.s2d-filters{gap:5px;padding:7px 10px}.s2d-filters .s2d-break{display:none}
.s2d-filters .s2d-f{flex:0 0 auto;height:30px;font-size:12px;padding-left:6px;gap:2px}.s2d-filters .s2d-f select{padding:0 4px 0 2px}
.s2d-filters .s2d-f-grow{flex:1 1 120px;min-width:110px}
.s2d-filters .s2d-f-rows select{width:46px}#s2dType{width:108px}#s2dStyle{width:90px}#s2dOwner{width:100px}#s2dOrderF{width:128px}
.s2d-filters .s2d-summary b{font-size:10.5px;padding:2px 6px}
.s2d-filters .s2d-sort{height:30px}.s2d-filters .s2d-sort>span{padding:0 6px}.s2d-filters .s2d-sort button,.s2d-filters .s2d-clear{height:30px;padding:0 7px;font-size:11.5px}
.s2d-filters .s2d-group{height:30px;padding:0 9px;font-size:11.5px}.s2d-filters .s2d-csv .s2d-dl{height:30px;padding:0 8px;font-size:11.5px}
.s2d-filters .s2d-f-grow{flex:1 1 90px;min-width:90px}#s2dType{width:96px}#s2dStyle{width:82px}#s2dOwner{width:90px}#s2dOrderF{width:112px}.s2d-filters .s2d-sort>span{display:none}.s2d-filters .s2d-sort button:first-of-type{border-left:0}
#s2dOrderF{width:104px}
/* Totals: one full-width bar (not tied to columns), so long order-type labels never widen the table. */
.s2d-totals td{text-align:left}.s2d-totals-bar{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;font-weight:600}.s2d-tot{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.s2d-totals-bar .pallet-estimate-wrap{margin-left:auto}.s2d-totals-bar .s2d-pill{white-space:normal}
/* CSV banner Dismiss: quiet outline button in the banner's green. */
.s2d-dismiss{height:34px;padding:0 14px;border:1px solid #10b981;border-radius:7px;background:transparent;color:#065f46;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.s2d-dismiss:hover{background:#d1fae5}.s2d-dismiss:focus-visible{outline:2px solid #10b981;outline-offset:2px}
:root[data-theme="dark"] .s2d-dismiss{color:#a7f3d0;border-color:#34d399}:root[data-theme="dark"] .s2d-dismiss:hover{background:#064e3b}
/* Download buttons per file type: 2D Individual green, 2D Case Pack blue, AWD Amazon orange, Walmart WFS Walmart blue. */
.s2d-dl-individual{background:#198754}.s2d-dl-case_pack{background:#0d6efd}.s2d-dl-awd{background:#c45500}.s2d-dl-wfs{background:#0071ce}
.s2d-new-order .s2d-new-name{flex:1 1 auto}.s2d-new-order .s2d-new-type{flex:0 0 250px}
.s2d-order-table td:not(:first-child),.s2d-order-table th{white-space:nowrap}
.s2d-type-short{border-bottom:1px dotted currentColor;cursor:help}

/* Bootstrap SKU preview modal */
.search-product-modal{display:none;position:fixed;inset:0;z-index:1055;overflow-x:hidden;overflow-y:auto;outline:0}
.search-product-modal .modal-dialog{position:relative;width:auto;max-width:520px;margin:24px auto;pointer-events:none;min-height:calc(100% - 48px);display:flex;align-items:center;padding:0 12px}
.search-product-modal .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:var(--card-bg);color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #0004}
.search-product-modal .modal-header,.search-product-modal .modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px}
.search-product-modal .modal-header{border-bottom:1px solid var(--border)}
.search-product-modal .modal-title{font-size:18px;margin:0}
.search-product-modal .modal-body{padding:24px;text-align:center}
.search-product-modal .modal-body img{max-width:100%;max-height:45vh;object-fit:contain;margin:0 auto 20px}
.search-product-modal [hidden]{display:none!important}
.search-product-modal h3{font-size:17px;line-height:1.5;overflow-wrap:anywhere}
.search-product-modal .modal-footer{justify-content:flex-end;border-top:1px solid var(--border)}
.search-product-modal .modal-footer button{border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);padding:8px 16px;border-radius:8px;cursor:pointer}
body.search-product-open .modal-backdrop{position:fixed;inset:0;z-index:1050;background:#000;opacity:.5}
body.search-product-open{overflow:hidden}
/* Active Orders (active-orders.php; reuses the Send To 2D bar, table, dialogs). */
.ao-table td{vertical-align:middle}.ao-sub{display:block;color:var(--text-muted);font-size:11px}.ao-muted{color:var(--text-muted)}
.ao-codes{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;cursor:help;border-bottom:1px dotted currentColor}
.ao-act-ok{border-color:#86efac;color:#166534}.ao-act-ok:hover{background:#f0fdf4}
.ao-details{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;margin:0 0 14px;font-size:13px}.ao-details dt{font-weight:700;color:var(--text-muted)}.ao-details dd{margin:0;white-space:pre-wrap;word-break:break-word}
.ao-page .dialog-form-actions .s2d-dl{margin-right:auto}

.ao-table td:nth-child(1),.ao-table td:nth-child(3),.ao-table td.s2d-date,.ao-table td:nth-child(7){white-space:nowrap}.ao-table td.s2d-date{min-width:0}#aoType{width:130px}.ao-page .s2d-actions{width:200px}
.ao-page .s2d-actions{width:auto;flex-wrap:nowrap}@media (max-width:1700px){.ao-page .s2d-actions{flex-wrap:wrap;width:208px}}.ao-codes{max-width:170px}
.ao-table th,.ao-table td{padding:8px 8px}.ao-codes{max-width:140px}

/* Topbar 🔔 inbox: unread items stay until marked read. */
.topbar-notif-dot[hidden]{display:none!important}
.notif-panel{width:min(360px,90vw)}.notif-head{display:flex;align-items:center;gap:8px}.notif-head strong{margin-right:auto}
.notif-count{font-size:11px;color:var(--text-muted)}
.notif-all,.notif-read{border:1px solid var(--border);background:var(--card-bg);color:var(--primary);border-radius:6px;padding:2px 8px;font:inherit;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.notif-all:hover,.notif-read:hover{background:var(--surface-subtle)}
.notif-item{position:relative;font-size:12px;line-height:1.5;margin-top:12px;padding:10px 0 0;border-top:1px solid var(--border)}
.notif-item.is-unread{padding-left:10px;box-shadow:inset 3px 0 0 var(--primary)}.notif-item.is-unread .notif-link,.notif-item.is-unread .notif-text{font-weight:600}
.notif-item:not(.is-unread){opacity:.72}
.topbar-popover-panel .notif-item a.notif-link{display:inline;margin:0;color:var(--text);font-size:12px;text-decoration:none}.topbar-popover-panel .notif-item a.notif-link:hover{color:var(--primary);text-decoration:underline}
.notif-item .notif-read{margin-top:6px}
/* Topbar ⚡ Live Terminal Status popover & dot */
.topbar-terminal-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 5px #10b981;transition:all .2s ease}
.topbar-terminal-dot.is-active{background:#10b981;box-shadow:0 0 6px #10b981}
.topbar-terminal-dot.is-idle{background:var(--text-muted);opacity:.7;box-shadow:none}
.topbar-terminal-dot.is-warning{background:#f59e0b;box-shadow:0 0 6px #f59e0b}
.topbar-terminal-dot.is-critical{background:#ef4444;box-shadow:0 0 6px #ef4444;animation:pulse-critical 1.5s infinite}
@keyframes pulse-critical{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}100%{transform:scale(1);opacity:1}}
.terminal-panel{width:min(390px,92vw);max-height:min(620px,calc(100vh - 110px));overflow-y:auto;scrollbar-width:thin;padding:16px 16px 24px 16px;z-index:1030}
.ts-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.ts-head strong{font-size:13px;display:flex;align-items:center;gap:6px}
.ts-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--border);display:inline-flex;align-items:center;gap:4px}
.ts-pill.is-active{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.4);color:#10b981}
.ts-pill.is-idle{background:var(--surface-subtle);color:var(--text-muted)}
.ts-pill.is-warning{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#f59e0b}
.ts-pill.is-critical{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}
.ts-refresh-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;padding:2px 6px;font-size:13px;line-height:1;transition:all .15s ease}
.ts-refresh-btn:hover{background:var(--surface-subtle);color:var(--text);border-color:var(--primary)}
.ts-refresh-btn.is-spinning{animation:spin .7s linear infinite}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.ts-subbar{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted);padding:6px 10px;background:var(--surface-subtle);border-radius:8px;margin-bottom:12px}
.ts-section{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}
.ts-section-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}
.ts-worker-list{display:flex;flex-direction:column;gap:6px}
.ts-worker-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;background:var(--surface-subtle);font-size:12px}
.ts-worker-info{display:flex;align-items:center;gap:6px}
.ts-worker-dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.ts-worker-dot.online{background:#10b981;box-shadow:0 0 5px #10b981}
.ts-worker-dot.idle{background:var(--text-muted);opacity:.6}
.ts-worker-stats{font-size:11px;color:var(--text-muted)}
.ts-event-card{font-size:11px;line-height:1.4;padding:6px 10px;border-radius:6px;background:var(--surface-subtle);color:var(--text)}
.ts-event-card strong{color:var(--primary)}
.ts-pq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}
.ts-pq-tile{padding:6px 4px;border-radius:6px;background:var(--surface-subtle);border:1px solid transparent}
.ts-pq-tile.has-alert{border-color:#f59e0b;background:rgba(245,158,11,.1)}
.ts-pq-num{font-size:14px;font-weight:800;display:block}
.ts-pq-lbl{font-size:9px;color:var(--text-muted);text-transform:uppercase}
.ts-actions{display:flex;flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.topbar-popover-panel a.ts-act-btn,
.topbar-popover-panel button.ts-act-btn,
button.ts-act-btn,
.ts-act-btn{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;font-family:inherit;position:relative;z-index:5;pointer-events:auto!important;gap:6px;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--border);background:var(--card-bg);color:var(--text);margin-top:0;cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;transition:all .15s ease}
.topbar-popover-panel a.ts-act-btn:hover,
.topbar-popover-panel button.ts-act-btn:hover,
button.ts-act-btn:hover,
.ts-act-btn:hover{background:var(--surface-subtle);border-color:var(--primary);color:var(--primary)}
.topbar-popover-panel a.ts-act-btn.primary,
.topbar-popover-panel button.ts-act-btn.primary,
button.ts-act-btn.primary,
.ts-act-btn.primary{background:var(--primary);color:#fff !important;border-color:var(--primary);box-shadow:0 2px 6px rgba(0,0,0,.12)}
.topbar-popover-panel a.ts-act-btn.primary:hover,
.topbar-popover-panel button.ts-act-btn.primary:hover,
button.ts-act-btn.primary:hover,
.ts-act-btn.primary:hover{filter:brightness(1.1);color:#fff !important;transform:translateY(-1px)}
/* Live Terminal Status: Printers & QZ Tray Toggle */
.ts-toggle-switch{background:transparent;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;-webkit-tap-highlight-color:transparent}
.ts-toggle-track{width:38px;height:22px;background:var(--border);border-radius:999px;position:relative;transition:background .2s ease,border-color .2s ease;display:inline-block;border:1px solid var(--border)}
.ts-toggle-thumb{width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s cubic-bezier(0.4,0,0.2,1);box-shadow:0 1px 3px rgba(0,0,0,0.3)}
.ts-toggle-switch[aria-checked="true"] .ts-toggle-track{background:#10b981;border-color:#10b981}
.ts-toggle-switch[aria-checked="true"] .ts-toggle-thumb{transform:translateX(16px)}
.ts-toggle-switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:999px}
.ts-toggle-switch:disabled{opacity:.5;cursor:not-allowed}
.ts-qz-card{background:var(--surface-subtle);border-radius:8px;padding:10px 12px;border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.ts-qz-header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ts-qz-name{font-size:12px;font-weight:700;color:var(--text)}
.ts-qz-sub{font-size:10px;color:var(--text-muted);margin-top:1px}
.ts-qz-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--card-bg);color:var(--text-muted);border:1px solid var(--border);display:inline-flex;align-items:center;gap:4px;line-height:normal;vertical-align:middle}
button.ts-qz-badge{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit;outline:none}
button.ts-qz-badge:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.ts-qz-badge.is-on{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.4);color:#10b981}
.ts-qz-badge.is-connecting{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#f59e0b}
.ts-qz-badge.is-error{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}
.ts-qz-badge.is-cert{background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.35);color:var(--primary);cursor:pointer;font-family:inherit;transition:all .15s ease;text-decoration:none}
.ts-qz-badge.is-cert:hover{background:rgba(99,102,241,.25);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}
.ts-qz-badge.is-cert:active{transform:translateY(0)}
.ts-qz-stats{display:flex;gap:12px;font-size:11px;color:var(--text-muted);padding-top:6px;border-top:1px solid var(--border)}
.ts-qz-stats b{color:var(--text);font-weight:700}
.ts-qz-hint{font-size:10px;color:var(--text-muted);line-height:1.3;margin:0}
.ts-qz-hint.is-err{color:var(--rose)}
.ts-qz-hint.is-ok{color:#10b981}
.ts-printer-list{display:flex;flex-direction:column;gap:6px}
.ts-printer-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;background:var(--surface-subtle);font-size:11px}
.ts-printer-info{display:flex;align-items:center;gap:8px;min-width:0}
.ts-printer-info strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.ts-printer-station-chip{font-size:9.5px;font-weight:600;padding:1px 5px;border-radius:4px;background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}
.ts-printer-meta{font-size:10px;color:var(--text-muted);line-height:1.2;margin-top:1px}
.ts-printer-pills{display:flex;align-items:center;gap:4px;flex-shrink:0}
.ts-printer-pill{font-size:9px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--card-bg);border:1px solid var(--border);color:var(--text-muted)}
.ts-printer-pill.is-online{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.4);color:#10b981}
.ts-worker-dot.half{background:#f59e0b;box-shadow:0 0 5px #f59e0b}
.ts-worker-dot.critical{background:#ef4444;box-shadow:0 0 5px #ef4444}
/* Live Terminal Status: Live Help (Iron Bot) */
.ts-lh-card{background:var(--surface-subtle);border-radius:8px;padding:10px 12px;border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.ts-lh-header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ts-lh-title-row{display:flex;align-items:center;gap:6px}
.ts-lh-title{font-size:12px;font-weight:700;color:var(--text)}
.ts-lh-msg{font-size:10.5px;color:var(--text-muted);line-height:1.35;margin:0}
.ts-lh-card .ts-pq-tile{background:var(--card-bg);border:1px solid var(--border)}
.ts-lh-card .ts-pq-tile.has-alert{border-color:#f59e0b;background:rgba(245,158,11,.12)}
.ao-disabled-wrap{display:inline-flex;cursor:not-allowed}.ao-disabled-wrap .s2d-act:disabled{opacity:.5;pointer-events:none}
/* On 2D Draft: icon-only actions on one line; order chip shortened (full name in its tooltip). */
.s2d-draft .s2d-actions,.s2d-draft .s2d-actions{flex-wrap:nowrap;width:auto}
@media (max-width:1600px){.s2d-draft .s2d-actions{flex-wrap:nowrap;width:auto}}
@media (max-width:1440px){.s2d-draft .s2d-actions{flex-wrap:nowrap;width:auto}}
.s2d-draft .s2d-actions .s2d-act,.s2d-draft .s2d-actions .s2d-details-btn{padding:4px 8px;min-width:32px;text-align:center}
.s2d-draft .s2d-order-chip{max-width:150px;cursor:help}
/* Red (danger) dialog headers: no reserved scrollbar strip beside the red band; the ✕ sits on a translucent white chip. */
.user-dialog:has(.s2d-danger-head){scrollbar-gutter:auto}
.s2d-danger-head{border-bottom-color:#b91c1c}
.s2d-danger-head .dialog-close{background:#ffffff26!important;border-color:#ffffff66!important;color:#fff!important}
.s2d-danger-head .dialog-close:hover,.s2d-danger-head .dialog-close:focus-visible{background:#ffffff40!important;border-color:#fff!important;color:#fff!important;outline:none}
/* Ops Command Center & System Health (admin/index.php, app/lib/DashboardSnapshot.php). */
.cc-page .viewport-header{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.cc-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cc-live-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--surface-subtle);border:1px solid var(--border);font-size:11.5px;font-weight:600;color:var(--text-muted)}
.cc-live-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 6px rgba(16,185,129,.7);animation:ccPulse 2s infinite ease-in-out}
.cc-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700}

/* Dedicated System Health & Telemetry Panel */
.cc-health-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:16px 20px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,0.03);position:relative;overflow:hidden}
.cc-health-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10b981 0%,#38bdf8 50%,var(--primary) 100%)}
.cc-health-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.cc-health-title-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cc-health-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.cc-health-indicator.is-all-good{background:#10b981;box-shadow:0 0 10px rgba(16,185,129,.8);animation:ccPulse 2s infinite ease-in-out}
.cc-health-indicator.has-issues{background:#f59e0b;box-shadow:0 0 10px rgba(245,158,11,.8);animation:ccPulse 1.5s infinite ease-in-out}
.cc-health-title{font-family:var(--font-display,sans-serif);font-size:15px;font-weight:700;color:var(--text);margin:0;letter-spacing:-0.01em}
.cc-health-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em}
.cc-health-badge.is-good{background:rgba(16,185,129,.12);color:#059669;border:1px solid rgba(16,185,129,.28)}
.cc-health-badge.is-warn{background:rgba(245,158,11,.12);color:#d97706;border:1px solid rgba(245,158,11,.3)}
.cc-health-issue-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(239,68,68,.12);color:#dc2626;border:1px solid rgba(239,68,68,.28)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-health-badge.is-good{color:#34d399}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-health-badge.is-warn{color:#fbbf24}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-health-issue-tag{color:#f87171}
.cc-health-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cc-health-full-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:8px;background:var(--primary);color:#fff!important;font-size:11.5px;font-weight:700;text-decoration:none;transition:all .15s ease;box-shadow:0 2px 6px rgba(0,0,0,0.12)}
.cc-health-full-btn:hover{filter:brightness(1.1);transform:translateY(-1px);color:#fff!important}

/* Enriched Telemetry Grid inside cc-health-panel and system-health.php */
.cc-health-telemetry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
@media (max-width:960px){.cc-health-telemetry-grid{grid-template-columns:1fr}}
.cc-telemetry-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:0 1px 4px rgba(0,0,0,0.03);display:flex;flex-direction:column;gap:10px}
.cc-telemetry-card-title{font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px}

/* Dedicated System Health Full Page (.sh-page) */
.sh-page{max-width:1440px;margin:0 auto}
.sh-hero{background:var(--card-bg);border:1px solid var(--border);border-radius:18px;padding:20px 24px;margin-bottom:24px;position:relative;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.04)}
.sh-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981 0%,#38bdf8 40%,var(--primary) 70%,#a855f7 100%)}
.sh-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.sh-hero-title{margin:0 0 4px 0;font-family:var(--font-display,sans-serif);font-size:22px;font-weight:800;color:var(--text);letter-spacing:-0.02em;display:flex;align-items:center;gap:10px}
.sh-hero-sub{margin:0;font-size:13px;color:var(--text-muted);line-height:1.45}
.sh-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sh-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:0.01em}
.sh-hero-badge.is-good{background:rgba(16,185,129,.14);color:#059669;border:1px solid rgba(16,185,129,.35)}
.sh-hero-badge.is-warn{background:rgba(245,158,11,.14);color:#d97706;border:1px solid rgba(245,158,11,.35)}
.sh-hero-badge.is-crit{background:rgba(239,68,68,.14);color:#dc2626;border:1px solid rgba(239,68,68,.35)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sh-hero-badge.is-good{color:#34d399}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sh-hero-badge.is-warn{color:#fbbf24}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sh-hero-badge.is-crit{color:#f87171}
.sh-hero-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.8);animation:ccPulse 1.8s infinite ease-in-out}
.sh-hero-dot.is-warn{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.8)}
.sh-hero-dot.is-crit{background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.8)}
.sh-hero-meta{display:flex;align-items:center;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);flex-wrap:wrap;font-size:12px;color:var(--text-muted)}
.sh-hero-meta-item{display:inline-flex;align-items:center;gap:6px}
.sh-hero-meta-item strong{color:var(--text)}

/* KPI Strip */
.sh-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:24px}
.sh-kpi{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 3px rgba(0,0,0,0.03)}
.sh-kpi-icon{font-size:24px;line-height:1;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--surface-subtle);flex-shrink:0}
.sh-kpi-info{min-width:0;flex:1}
.sh-kpi-num{font-family:var(--font-display,inherit);font-size:20px;font-weight:800;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}
.sh-kpi-lbl{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em}

/* Two-Column Grid for Pull-Down Clones */
.sh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
@media (max-width:1080px){.sh-grid{grid-template-columns:1fr}}
.sh-col{display:flex;flex-direction:column;gap:20px}

/* System Health Card (Modeled directly after the topbar popovers) */
.sh-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:18px 20px;box-shadow:0 2px 10px rgba(0,0,0,0.03);position:relative}
.sh-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.sh-card-title{font-size:14px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px;margin:0}
.sh-card-title span.sh-card-icon{font-size:16px}

/* Services Grid */
.sh-services-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:18px 20px;margin-bottom:24px;box-shadow:0 2px 10px rgba(0,0,0,0.03)}
.sh-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin-top:14px}
.sh-service-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:6px;transition:all .18s ease;position:relative}
a.sh-service-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.06)}
.sh-service-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sh-service-name{font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:6px}
.sh-service-text{font-size:11.5px;color:var(--text-muted);line-height:1.35}
.sh-service-jump{font-size:11px;color:var(--primary);font-weight:600;display:inline-flex;align-items:center;gap:4px;margin-top:2px}

/* Server diagnostics meter */
.sh-server-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.sh-server-item{background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:3px}
.sh-server-key{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-muted)}
.sh-server-val{font-size:13px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}

/* Status Pills */
.cc-status{display:flex;flex-wrap:wrap;gap:10px}
.cc-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:10px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);font-size:12px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.cc-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.cc-pill-icon{font-size:12px;line-height:1}
.cc-pill-label{font-weight:700;letter-spacing:-0.01em;color:var(--text)}
.cc-pill-sep{opacity:.45;font-size:11px}
.cc-pill-text{font-size:11.5px;opacity:.9}
.cc-pill-arrow{font-size:11px;opacity:.5;margin-left:2px;transition:transform .15s ease,opacity .15s ease}
a.cc-pill:hover .cc-pill-arrow{transform:translate(2px,-2px);opacity:1}
.cc-pill.is-good{border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.05)}
.cc-pill.is-good .cc-pill-dot{background:#10b981;box-shadow:0 0 5px rgba(16,185,129,.6)}
.cc-pill.is-good .cc-pill-label{color:#065f46}
.cc-pill.is-good .cc-pill-text{color:#047857}
.cc-pill.is-warning{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.08)}
.cc-pill.is-warning .cc-pill-dot{background:#f59e0b;box-shadow:0 0 5px rgba(245,158,11,.6)}
.cc-pill.is-warning .cc-pill-label{color:#92400e}
.cc-pill.is-warning .cc-pill-text{color:#b45309}
.cc-pill.is-serious,.cc-pill.is-critical{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.08)}
.cc-pill.is-serious .cc-pill-dot,.cc-pill.is-critical .cc-pill-dot{background:#ef4444;box-shadow:0 0 5px rgba(239,68,68,.7)}
.cc-pill.is-serious .cc-pill-label,.cc-pill.is-critical .cc-pill-label{color:#991b1b}
.cc-pill.is-serious .cc-pill-text,.cc-pill.is-critical .cc-pill-text{color:#dc2626}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-good{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-good .cc-pill-label{color:#e6f1fb}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-good .cc-pill-text{color:#6ee7b7}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-warning{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.38)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-warning .cc-pill-label{color:#fde68a}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-warning .cc-pill-text{color:#fcd34d}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-serious,:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-critical{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.4)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-serious .cc-pill-label,:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-critical .cc-pill-label{color:#fecaca}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-serious .cc-pill-text,:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-pill.is-critical .cc-pill-text{color:#f87171}
a.cc-pill:hover,a.cc-pill:focus-visible{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,0.08);outline:none}

@keyframes ccPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.92)}}

/* Section Headings */
.cc-h{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:28px 0 12px}
.cc-h-icon{font-size:15px;line-height:1}
.cc-h-count{display:inline-flex;align-items:center;justify-content:center;padding:1px 8px;border-radius:999px;background:var(--surface-subtle);border:1px solid var(--border);color:var(--text);font-size:11px;font-weight:700;letter-spacing:normal;text-transform:none}
.cc-h-caption{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:none;letter-spacing:normal;margin-left:auto}

/* KPI Tiles */
.cc-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:1180px){.cc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:580px){.cc-tiles{grid-template-columns:1fr}}
.cc-tile{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--border);border-left:4px solid var(--border);border-radius:14px;background:var(--card-bg);color:var(--text);text-decoration:none;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}
a.cc-tile{cursor:pointer}
a.cc-tile:hover,a.cc-tile:focus-visible{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 10px 24px -4px rgba(0,0,0,0.08),0 4px 8px -2px rgba(0,0,0,0.04);outline:none}
.cc-tile.is-good{border-left-color:var(--emerald,#10b981);background:linear-gradient(135deg,rgba(16,185,129,.04) 0%,var(--card-bg) 60%)}
.cc-tile.is-warning{border-left-color:var(--amber,#f59e0b);background:linear-gradient(135deg,rgba(245,158,11,.05) 0%,var(--card-bg) 60%)}
.cc-tile.is-serious,.cc-tile.is-critical{border-left-color:var(--rose,#ef4444);background:linear-gradient(135deg,rgba(239,68,68,.06) 0%,var(--card-bg) 60%)}
.cc-tile-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cc-tile-label{font-size:12.5px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}
.cc-flag{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-muted)}
.cc-flag-good,.cc-tile.is-good .cc-flag{background:rgba(16,185,129,.12);color:#059669;border-color:rgba(16,185,129,.3)}
.cc-flag-warning,.cc-tile.is-warning .cc-flag{background:rgba(245,158,11,.14);color:#d97706;border-color:rgba(245,158,11,.35)}
.cc-flag-serious,.cc-flag-critical,.cc-tile.is-serious .cc-flag,.cc-tile.is-critical .cc-flag{background:rgba(239,68,68,.14);color:#dc2626;border-color:rgba(239,68,68,.35)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-flag-good,:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-tile.is-good .cc-flag{color:#34d399}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-flag-warning,:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-tile.is-warning .cc-flag{color:#fbbf24}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-flag-serious,:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-flag-critical,:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-tile.is-serious .cc-flag,:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-tile.is-critical .cc-flag{color:#f87171}
.cc-tile-value{font-family:var(--font-display,inherit);font-size:30px;font-weight:800;line-height:1.1;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px;color:var(--text)}
.cc-tile-value small,.cc-tile-unit{font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:normal}
.cc-tile-sub{font-size:12px;color:var(--text-muted);line-height:1.4}
.cc-progress-wrap{margin:4px 0 2px}
.cc-progress{display:block;height:8px;border-radius:999px;background:var(--surface-subtle);border:1px solid var(--border);overflow:hidden}
.cc-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary) 0%,#38bdf8 100%);transition:width .4s ease}

/* 14-Day Production Charts */
.cc-chart{position:relative;overflow:hidden}
.cc-chart .data-table-header{padding:14px 18px}
.cc-chart-total{font-family:var(--font-display,inherit);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;padding:4px 12px;border-radius:8px;background:var(--surface-subtle);border:1px solid var(--border);color:var(--text)}
.cc-chart-total small{font-size:11.5px;color:var(--text-muted);font-weight:600}
.cc-bars{position:relative;display:flex;align-items:flex-end;gap:4px;height:160px;margin:18px 18px 0 18px;padding-top:18px;padding-bottom:2px;border-bottom:2px solid var(--border)}
.cc-axis-max{position:absolute;top:0;left:0;font-size:10.5px;font-weight:700;color:var(--text-muted);padding:2px 6px;border-radius:4px;background:var(--surface-subtle)}
.cc-bar-col{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;cursor:default;outline:none;transition:background .15s ease}
.cc-bar-col:hover,.cc-bar-col:focus-visible{background:rgba(125,125,125,.08);border-radius:6px 6px 0 0}
.cc-bar{display:block;width:min(75%,26px);background:linear-gradient(180deg,var(--primary) 0%,rgba(2,132,199,.7) 100%);border-radius:5px 5px 0 0;transition:all .2s ease;box-shadow:0 2px 5px rgba(0,0,0,0.08)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-bar{background:linear-gradient(180deg,var(--primary) 0%,rgba(56,189,248,.45) 100%)}
.cc-bar-col:hover .cc-bar{filter:brightness(1.2);transform:scaleY(1.02);transform-origin:bottom}
.cc-bar.is-zero{height:3px!important;background:var(--border)!important;border-radius:2px;opacity:.85;box-shadow:none}
.cc-bar-label{position:absolute;font-size:10px;font-weight:800;color:var(--text);white-space:nowrap;padding:2px 5px;border-radius:4px;background:var(--card-bg);border:1px solid var(--border);box-shadow:0 2px 6px rgba(0,0,0,0.1);pointer-events:none}
.cc-bar-days{display:flex;gap:4px;margin:6px 18px 12px;font-size:11px;font-weight:600;color:var(--text-muted)}
.cc-bar-days span{flex:1;text-align:center}
.cc-table-view{margin:0 18px 14px;font-size:12px}
.cc-table-view summary{cursor:pointer;color:var(--primary);font-weight:700;user-select:none}
.cc-table-view table{margin-top:10px}

/* Operational Data Grids & Tables */
.cc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));gap:16px;margin-top:16px}
.cc-grid .data-table-card{margin:0;border-radius:14px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,0.03);transition:box-shadow .2s ease}
.cc-grid .data-table-card:hover{box-shadow:0 6px 18px rgba(0,0,0,0.06)}
.cc-grid .data-table-header{padding:14px 18px}
.cc-table th{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-subtle);padding:10px 14px;border-bottom:1px solid var(--border)}
.cc-table td{padding:11px 14px;font-size:12.5px;border-bottom:1px solid var(--border);vertical-align:middle}
.cc-table tbody tr:hover td{background:var(--surface-subtle)}
.cc-table tbody tr:last-child td{border-bottom:none}
.cc-ok{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(16,185,129,.12);color:#059669;border:1px solid rgba(16,185,129,.28)}
.cc-warn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(245,158,11,.14);color:#d97706;border:1px solid rgba(245,158,11,.35)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-ok{color:#34d399}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .cc-warn{color:#fbbf24}
.inv-pager{padding:12px 16px;border-top:1px solid var(--border)}
.inv-page-btn{display:inline-block;padding:6px 14px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text);font-size:12.5px;text-decoration:none}
a.inv-page-btn:hover{border-color:var(--primary);color:var(--primary)}
.inv-page-btn.is-off{opacity:.5;cursor:not-allowed}
.inv-loading{font-size:11.5px;color:#ffffffd9;min-width:70px}
#inventory[aria-busy="true"] tbody{opacity:.55;transition:opacity .15s}
.sku-thumb{cursor:help;border-bottom:1px dotted currentColor}
a.sku-thumb,a[data-sku-thumb]{cursor:pointer}
/* Active Shipments (active-shipments.php). */
.as-wrap{height:30px;display:inline-flex;align-items:center;gap:4px;padding:0 10px;border:2px solid #ffffffb3;border-radius:7px;background:transparent;color:#fff;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap;cursor:pointer}
.as-wrap.is-on{background:#ffc107;border-color:#d39e00;color:#1f2937}span.as-wrap{cursor:default}
.as-h{font-size:13px;font-weight:800;margin:18px 0 8px}
.as-mini td,.as-mini th{padding:7px 9px;font-size:12.5px}.as-mini input{width:90px;padding:5px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle);color:var(--text);font:inherit}
.as-total td{font-weight:700;background:var(--surface-subtle)}
.as-copy{display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-subtle);color:var(--text);font:inherit;font-size:11.5px;font-weight:600;cursor:copy}
.as-copy.is-copied{background:#d1fae5;border-color:#10b981;color:#065f46}.as-copy.is-copied::after{content:" ✔"}
.as-sku-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:12.5px}
.as-sku-search,
.user-dialog label.as-sku-search,
.user-dialog .as-sku-search,
.user-dialog label.s2d-f,
.user-dialog .cv-sku-head label.s2d-f {
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  height:32px!important;
  padding:0 8px 0 10px!important;
  gap:6px!important;
  background:var(--surface-subtle)!important;
  border:1px solid var(--border)!important;
  border-radius:8px!important;
  color:var(--text)!important;
  font-size:12.5px!important;
  box-sizing:border-box!important;
  margin:0!important;
  cursor:text;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.as-sku-search:focus-within,
.user-dialog label.as-sku-search:focus-within,
.user-dialog .as-sku-search:focus-within,
.user-dialog label.s2d-f:focus-within {
  border-color:var(--primary)!important;
  background:var(--card-bg)!important;
  box-shadow:0 0 0 3px rgba(2,132,199,0.16)!important;
}
.as-sku-search span,
.user-dialog .as-sku-search span,
.user-dialog label.s2d-f span {
  display:inline-flex;
  align-items:center;
  font-size:13px;
  line-height:1;
  color:var(--text-muted);
  flex-shrink:0;
  user-select:none;
}
.as-sku-search input,
.user-dialog label.as-sku-search input,
.user-dialog .as-sku-search input,
.user-dialog input#asSkuSearch,
.user-dialog label.s2d-f input {
  width:180px!important;
  min-width:140px!important;
  max-width:240px!important;
  height:100%!important;
  padding:0 4px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--text)!important;
  font:inherit!important;
  font-size:12.5px!important;
  line-height:30px!important;
  outline:none!important;
  box-shadow:none!important;
}
.as-sku-search input::placeholder,
.user-dialog .as-sku-search input::placeholder,
.user-dialog label.s2d-f input::placeholder {
  color:var(--text-muted)!important;
  font-size:12px;
}
.as-compare{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}
.as-compare-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;margin-bottom:8px}.as-compare-head span{color:var(--text-muted)}
.as-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.as-compare-stat{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg)}.as-compare-stat span{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.as-compare-stat strong{font-size:13.5px}.as-compare-stat small{font-weight:500;color:var(--text-muted)}
.as-page .s2d-actions{width:auto;flex-wrap:wrap;max-width:330px}
:root[data-theme="dark"] .as-copy.is-copied{background:#064e3b;color:#a7f3d0}

.api-sandbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.api-sandbox label{display:flex;flex-direction:column;gap:6px}.api-sandbox input,.api-sandbox select,.api-sandbox textarea{min-width:0;width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--text);font:inherit}.api-sandbox details{margin:16px 0}.api-sandbox [hidden]{display:none!important}.api-sandbox #apiSandboxWrite{flex-direction:row;align-items:center;margin:16px 0;color:var(--text)}.api-sandbox input[type=checkbox]{width:auto}.api-sandbox-response{max-height:480px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px}.api-sandbox button{padding:10px 16px;background:var(--primary);color:#fff;border:0;border-radius:8px;cursor:pointer}.api-sandbox button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.api-sandbox-grid{grid-template-columns:1fr}}
.as-summary{border-collapse:collapse;margin:0 0 14px;font-size:13px}.as-summary th{text-align:left;font-weight:700;color:var(--text-muted);padding:4px 16px 4px 0;width:150px;vertical-align:top}.as-summary td{padding:4px 0}
/* Active Shipments: all row actions on one line. */
.as-page .s2d-actions,.as-page .s2d-actions{flex-wrap:nowrap;width:auto;max-width:none}
@media (max-width:1700px){.as-page .s2d-actions{flex-wrap:nowrap;width:auto}}
.as-page .s2d-actions .s2d-act{display:inline-flex;align-items:center;gap:4px}
.as-page .ao-disabled-wrap .s2d-act:disabled{opacity:.55}
.as-nowrap{white-space:nowrap}.as-table td:nth-child(3){white-space:nowrap}

#apiSandbox{scroll-margin-top:160px}

/* API reference: legacy documentation structure, scoped to the current admin theme. */
.api-page-link{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:8px;color:var(--primary);background:var(--card-bg);white-space:nowrap}
.api-reference{min-width:0}.api-reference .content{max-width:100%;min-width:0}.api-reference p{line-height:1.65}.api-reference code{overflow-wrap:anywhere;color:var(--primary)}
.api-reference .endpoint-card,.api-reference .endpoint-subcard,.api-reference .auth-banner,.api-reference-notice{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:22px;overflow:hidden}
.api-reference .auth-banner,.api-reference-notice{padding:20px}.api-reference .card-header,.api-reference .api-section-header,.api-reference .endpoint-subcard-header{background:var(--surface-subtle);border-bottom:1px solid var(--border);padding:16px 20px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.api-reference .card-body,.api-reference .endpoint-subcard-body{padding:20px}.api-reference .endpoint-name{font-family:monospace;font-size:15px;font-weight:700;overflow-wrap:anywhere;color:var(--text)}
.api-reference .badge-get,.api-reference .badge-post{display:inline-block;color:white;padding:4px 8px;border-radius:5px;font-size:11px;font-weight:700}.api-reference .badge-get{background:var(--primary)}.api-reference .badge-post{background:#198754}
.api-reference .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.api-reference .row>div{min-width:0}.api-reference .table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:13px;table-layout:fixed}.api-reference th,.api-reference td{text-align:left;padding:10px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.api-reference th{background:var(--surface-subtle);color:var(--text-muted);font-size:11px;text-transform:uppercase}.api-reference .param-name{font-family:monospace;color:var(--primary);font-weight:600}
.api-reference .required-badge,.api-reference .optional-badge,.api-reference .badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;background:var(--surface-subtle);border:1px solid var(--border);color:var(--text)}
.api-reference .code-block,.api-reference .example-url{padding:14px;border-radius:8px;background:var(--surface-subtle);border:1px solid var(--border);font-family:monospace;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);margin:10px 0}.api-reference .hl-key,.api-reference .url-param-key{color:var(--primary)}.api-reference .hl-str,.api-reference .url-param-val{color:var(--text)}
.api-reference .note-box{padding:14px;border-left:3px solid var(--primary);background:var(--surface-subtle);border-radius:6px;margin-top:12px}.api-reference .section-divider{border:0;border-top:1px solid var(--border);margin:24px 0}.api-reference .text-muted,.api-reference .text-secondary{color:var(--text-muted)}.api-reference .fw-bold{font-weight:600}.api-reference .mb-2{margin-bottom:10px}.api-reference .mb-3{margin-bottom:16px}.api-reference .mt-2{margin-top:10px}.api-reference .mt-3{margin-top:16px}.api-reference .ms-auto{margin-left:auto}.api-reference ul{padding-left:22px;line-height:1.8}
@media(max-width:1000px){.api-reference .row{grid-template-columns:1fr}.api-reference .card-body,.api-reference .endpoint-subcard-body{padding:16px}}@media(max-width:600px){.api-reference .table{font-size:11px}.api-reference th,.api-reference td{padding:7px 4px}.api-page-link{white-space:normal}}

.api-reference .row>.col-12:not(.col-lg-6):not(.col-xl-6){grid-column:1/-1}

/* Error Logs View & Cockpit Styling Integration */
.error-logs-page .settings-intro { margin: 6px 0 0; }
.error-filter-card { margin-bottom: 24px; padding: 20px 24px; }
.error-filter-grid { display: grid; grid-template-columns: 1.2fr 1fr 2fr auto auto; gap: 12px; align-items: flex-end; }
.error-filter-field { display: flex; flex-direction: column; gap: 6px; }
.error-filter-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted); }
.error-filter-card .kf-ctrl {
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 13px;
  width: 100%;
}
.error-filter-card .kf-ctrl:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.error-filter-card .apply-filter {
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  height: 40px;
  white-space: nowrap;
}
.error-filter-card .kf-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-subtle);
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.error-filter-card .kf-clear:hover {
  background: var(--border);
  color: var(--text);
}
.error-filter-hint {
  margin-top: 14px;
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Log Cards & Terminal Container */
.log-card { margin-bottom: 24px; }
.log-header-left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.log-path-chip {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  color: var(--text-muted);
}
.log-size-chip {
  font-size: 11px;
  color: var(--text-muted);
  font-weight: 600;
}
.log-header-actions { display: flex; align-items: center; gap: 8px; }
.log-btn-toggle {
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.log-btn-toggle:hover {
  background: var(--border);
}
.log-btn-toggle.is-active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

/* Modern High-Contrast Terminal */
.log-terminal {
  background: #080d1a;
  color: #e2e8f0;
  border-top: 1px solid var(--border);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
  font-size: 12px;
  line-height: 1.6;
  max-height: 520px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #334155 #080d1a;
}
:root[data-theme="light"] .log-terminal,
:root[data-theme="bailey"] .log-terminal {
  background: #0f172a;
  color: #f1f5f9;
}
.log-terminal::-webkit-scrollbar { width: 8px; height: 8px; }
.log-terminal::-webkit-scrollbar-track { background: #080d1a; }
.log-terminal::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
.log-terminal::-webkit-scrollbar-thumb:hover { background: #475569; }

/* Log Entry Item */
.log-entry-item {
  padding: 14px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: background 0.1s ease;
}
.log-entry-item:hover {
  background: rgba(255, 255, 255, 0.03);
}
.log-entry-item:last-child {
  border-bottom: none;
}
.log-entry-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.log-badge-ts {
  color: #94a3b8;
  font-size: 11px;
  letter-spacing: 0.02em;
}
.log-badge-ref {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 4px;
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 700;
  font-family: inherit;
  cursor: copy;
  transition: all 0.15s ease;
}
.log-badge-ref:hover {
  background: rgba(56, 189, 248, 0.3);
  border-color: #38bdf8;
  color: #7dd3fc;
}
.log-badge-level {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.log-badge-level.level-error,
.log-badge-level.level-fatal {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.4);
}
.log-badge-level.level-warning {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.4);
}
.log-badge-level.level-notice,
.log-badge-level.level-info {
  background: rgba(148, 163, 184, 0.2);
  color: #cbd5e1;
  border: 1px solid rgba(148, 163, 184, 0.3);
}

.log-mini-copy {
  margin-left: auto;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #cbd5e1;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 10.5px;
  font-family: var(--font-body);
  cursor: copy;
  transition: all 0.15s ease;
}
.log-mini-copy:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.log-mini-copy.is-copied {
  background: #065f46;
  border-color: #10b981;
  color: #a7f3d0;
}
.log-mini-copy.is-copied::after {
  content: " ✔";
}

.log-entry-msg {
  color: #f1f5f9;
  word-break: break-word;
  white-space: pre-wrap;
  line-height: 1.55;
  font-size: 12px;
}
.log-trace-details {
  margin-top: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.log-trace-details summary {
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.04);
}
.log-trace-details summary:hover {
  color: #e2e8f0;
}
.log-trace-content {
  margin: 0;
  padding: 10px 14px;
  font-size: 11px;
  line-height: 1.5;
  color: #94a3b8;
  white-space: pre-wrap;
  word-break: break-word;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
}

/* Raw Log View Pre Block */
.log-raw-pre {
  margin: 0;
  padding: 16px 20px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  line-height: 1.6;
  max-height: 520px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  background: #080d1a;
  color: #e2e8f0;
  border-top: 1px solid var(--border);
}

@media (max-width: 900px) {
  .error-filter-grid {
    grid-template-columns: 1fr 1fr;
  }
  .error-filter-field:nth-child(3) {
    grid-column: 1 / -1;
  }
}
@media (max-width: 560px) {
  .error-filter-grid {
    grid-template-columns: 1fr;
  }
}


.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.backup-grid .settings-card{margin:0}.backup-grid p{line-height:1.65;margin:14px 0}.backup-restore-form{display:flex;flex-direction:column;gap:14px}.backup-restore-form label{display:flex;flex-direction:column;gap:8px}.backup-restore-form input{padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--text)}.backup-restore-form small{color:var(--text-muted)}@media(max-width:850px){.backup-grid{grid-template-columns:1fr}}

.backup-recovery-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
/* Problem Items (legacy problem_items.php): SKU pill coloured by problem count (+ icon), type chip, hazmat flash */
.pi-sku{display:inline-block;border-radius:999px;padding:2px 10px;font-weight:700;font-size:12.5px;border:1px solid transparent;cursor:help;white-space:nowrap}
.pi-sku-none{background:var(--surface-subtle);border-color:var(--border);color:var(--text)}
.pi-sku-low{background:#d1f2e0;border-color:#198754;color:#0f5132}
.pi-sku-mid{background:#fff3cd;border-color:#b45309;color:#78350f;animation:piPulseMid 1.1s ease-in-out infinite}
.pi-sku-high{background:#fde2e1;border-color:#dc2626;color:#991b1b;animation:piPulseHigh 1s ease-in-out infinite}
@keyframes piPulseMid{50%{box-shadow:0 0 .55rem rgba(255,193,7,.6)}}
@keyframes piPulseHigh{50%{box-shadow:0 0 .65rem rgba(220,53,69,.6)}}
.pi-type{display:inline-block;margin-top:4px;font-size:11.5px;color:var(--text-muted);border:1px dashed var(--border);border-radius:6px;padding:1px 6px}
.s2d-badges .pi-haz{animation:piHaz 1s ease-in-out infinite;border-color:#dc2626}
@keyframes piHaz{50%{background:#dc2626;color:#fff}}
.pi-det-text{margin:0 0 12px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);white-space:pre-wrap;word-break:break-word;font-size:13px}
.pi-det-table{margin-bottom:12px}.pi-det-delete{margin-right:auto}
.pi-table td:nth-child(n+3):nth-child(-n+9){text-align:right}
@media(prefers-reduced-motion:reduce){.pi-sku-mid,.pi-sku-high,.s2d-badges .pi-haz{animation:none}}

/* Sent history uses the same compact controls and details buttons as Orders. */
.sent-page .s2d-clear{display:inline-flex;align-items:center;justify-content:center;gap:4px;text-decoration:none;white-space:nowrap}
.sent-page .sent-search-btn{font-weight:600}
.sent-page .s2d-clear:hover{background:#ffffff38;color:#fff}
.sent-table .sent-title{color:var(--text-muted);font-size:12px;line-height:1.4;margin-top:5px;max-width:420px}
.sent-table td:nth-child(2){width:38%;min-width:240px}
.sent-table th{white-space:nowrap}
.sent-table td.sent-date{white-space:nowrap;line-height:1.4}
.sent-date small{display:block;color:var(--text-muted);font-size:11px}
.sent-table .s2d-details-btn{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.sent-page-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:6px;padding:5px 12px;text-decoration:none;white-space:nowrap}
.sent-page-link:hover{border-color:var(--primary);color:var(--primary)}
.sent-page .s2d-pager{flex-wrap:wrap}
.sent-page button:focus-visible,.sent-page a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

.sent-copy-sku{border:0;border-bottom:1px dotted currentColor;background:transparent;padding:0;font:inherit;color:var(--primary);cursor:pointer}
.sent-copy-sku:hover{color:var(--primary);text-decoration:underline}
.sent-copy-status{margin-left:8px;font-size:11px;color:var(--text-muted)}

.history-table th,.history-table td{font-size:12.5px}.history-table th{white-space:nowrap}.history-table .cell-sub{color:var(--text-muted);font-size:11px;margin-top:4px;max-width:260px}.history-codes{max-width:220px;overflow-wrap:anywhere}.history-table .s2d-details-btn{white-space:nowrap}.history-page .s2d-f input[type=date]{width:125px;color-scheme:light}.history-page .user-dialog td{white-space:pre-wrap;overflow-wrap:anywhere}
/* Reports → Sent Reports */
.sr-page .sr-card{margin-bottom:18px}
.sr-chart-wrap{position:relative;height:320px;padding:8px 14px 4px}
#srMonthChartWrap,#srYoyChartWrap,#srYtdChartWrap{height:360px}
.sr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sr-grid .sr-card{margin-bottom:0}.sr-grid+.sr-card,.sr-grid+.sr-grid{margin-top:18px}
@media(max-width:1100px){.sr-grid{grid-template-columns:1fr}}
.sr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
@media(max-width:900px){.sr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sr-stat{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.sr-stat:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 8px 20px rgba(0,0,0,0.08)}
.sr-stat span{font-size:12px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.sr-stat b{font-size:26px;color:var(--text);font-family:var(--font-display,inherit);font-weight:800;letter-spacing:-0.02em}.sr-stat small{font-size:12px;color:var(--text-muted);line-height:1.3}
.sr-up{color:#0f7a0f;font-weight:700}.sr-down{color:#c02c2c;font-weight:700}
:root[data-theme="dark"] .sr-up,:root[data-theme="midnight"] .sr-up{color:#4ade80}:root[data-theme="dark"] .sr-down,:root[data-theme="midnight"] .sr-down{color:#f87171}
.sr-pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 14px 12px}.sr-pager small{color:var(--text-muted);font-size:12px}
.sr-pager .s2d-act.is-off{opacity:.45;pointer-events:none}.sr-toggle{display:inline-flex;gap:4px}.sr-toggle .is-on{background:var(--primary,#2563eb);color:#fff;border-color:transparent}
.sr-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:8px 14px 0;font-size:12px;color:var(--text)}
.sr-key{display:inline-flex;align-items:center;gap:6px}.sr-key i{display:inline-block;width:14px;height:4px;border-radius:2px}.sr-key i.sr-ring{width:10px;height:10px;border:2.5px solid;border-radius:50%;background:none}
.sr-table{padding:0 14px 12px}.sr-table summary{cursor:pointer;font-size:13px;color:var(--text-muted);padding:4px 0}
.sr-img-tip{position:absolute;z-index:1200;pointer-events:none;opacity:0;transition:opacity .12s;width:max-content;max-width:260px;background:#111827;color:#fff;border:1px solid rgba(255,255,255,0.14);border-radius:8px;padding:8px 10px;font-size:12px;display:flex;flex-direction:column;gap:3px;box-shadow:0 6px 20px rgba(0,0,0,0.35);word-break:break-word}
.sr-img-tip img{width:110px;height:110px;object-fit:contain;align-self:center;background:#fff;border-radius:4px;flex:none} /* fixed frame: no jump when the image loads */

.productivity-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.productivity-cards section{padding:18px;border-radius:14px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.productivity-cards section:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 8px 20px rgba(0,0,0,0.08)}
.productivity-cards span{display:block;color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.productivity-cards strong{display:block;font-size:28px;margin-top:6px;color:var(--text);font-family:var(--font-display,inherit);font-weight:800;letter-spacing:-0.02em}
.productivity-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.productivity-page section{margin-bottom:16px}.productivity-page section h2{font-size:15px;padding:16px 18px;border-bottom:1px solid var(--border)}
.productivity-bar{display:grid;grid-template-columns:minmax(90px,140px) minmax(60px,1fr) 65px;gap:12px;align-items:center;padding:8px 18px;font-size:12px}.productivity-bar meter{width:100%;height:14px;accent-color:var(--primary)}.productivity-bar meter::-webkit-meter-optimum-value{background:var(--primary)}.productivity-bar b{text-align:right}.productivity-daily{max-height:320px;overflow:auto}
.productivity-timing-filters{display:flex;gap:10px;padding:14px 18px;flex-wrap:wrap}.productivity-timing-filters input,.productivity-timing-filters select{padding:9px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle);color:var(--text);font:inherit;font-size:12px}.productivity-timing-filters input{flex:1;min-width:180px}.productivity-pager{padding:12px 18px}.productivity-page .cell-sub{color:var(--text-muted);font-size:11px;margin-top:4px;max-width:350px}.productivity-page .admin-table th{white-space:nowrap}
@media(max-width:900px){.productivity-charts{grid-template-columns:1fr}.productivity-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shipment Times & Turnaround */
.sr-stats-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:12px 14px 14px}
@media(max-width:1150px){.sr-stats-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.sr-stats-5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sr-stats-5{grid-template-columns:1fr}}

.sr-shipment-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:20px;padding:6px 14px 16px}
@media(max-width:980px){.sr-shipment-layout{grid-template-columns:1fr}}
.sr-shipment-chart-col{display:flex;flex-direction:column}
.sr-shipment-chart-col .sr-chart-wrap{width:100%;height:270px;padding:0}
.sr-shipment-tiles-col{display:flex;flex-direction:column;gap:18px}
.sr-tile-group-title{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px;margin-bottom:8px}
.sr-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.sr-ship-tile{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;transition:transform .15s ease,box-shadow .15s ease}
.sr-ship-tile:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,0.08)}
.sr-ship-tile.is-fast{border-left:3.5px solid #10b981;background:rgba(16,185,129,0.04)}
.sr-ship-tile.is-slow{border-left:3.5px solid #f59e0b;background:rgba(245,158,11,0.04)}
.sr-tile-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.sr-tile-rank{font-size:11px;font-weight:800;padding:2px 6px;border-radius:4px;line-height:1.2}
.sr-ship-tile.is-fast .sr-tile-rank{background:#10b98125;color:#059669}
.sr-ship-tile.is-slow .sr-tile-rank{background:#f59e0b25;color:#d97706}
:root[data-theme="dark"] .sr-ship-tile.is-fast .sr-tile-rank{color:#34d399}
:root[data-theme="dark"] .sr-ship-tile.is-slow .sr-tile-rank{color:#fbbf24}
.sr-tile-name{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.sr-tile-days{font-size:16px;font-weight:800;color:var(--text);font-family:var(--font-display,inherit);margin-top:2px}
.sr-tile-meta{font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:1px;margin-top:2px}
.sr-tile-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Reports → Calendar View (legacy calendar_view.php colours: shipment blue, order green, supply amber, day off violet,
   call in red; every strip also carries a label or icon so colour never stands alone) */
.cv-page{--cv-ship:#2563eb;--cv-fba:#047857;--cv-supply:#b45309;--cv-dayoff:#7c3aed;--cv-callin:#dc2626;--cv-ytd-bg:#fef3c7;--cv-ytd-fg:#92400e;--cv-note-bg:#fef9c3;--cv-note-bd:#ca8a04}
:root[data-theme="dark"] .cv-page,:root[data-theme="midnight"] .cv-page{--cv-ytd-bg:#422006;--cv-ytd-fg:#fcd34d;--cv-note-bg:#3b3205;--cv-note-bd:#eab308}
.cv-card{margin-bottom:18px;padding-bottom:14px}
.cv-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 6px}.cv-nav-mid{display:flex;align-items:center;gap:8px}
.cv-title{margin:0;font-size:20px;font-weight:800;color:var(--text);font-family:var(--font-display,inherit)}
.cv-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 16px 10px;margin:0;font-size:12px;color:var(--text-muted)}
.cv-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}
.cv-chip i{width:14px;height:10px;border-radius:3px;background:var(--cv-c,#999)}.cv-chip[aria-pressed="false"]{opacity:.45;text-decoration:line-through}
.cv-k-ship{--cv-c:var(--cv-ship)}.cv-k-fba{--cv-c:var(--cv-fba)}.cv-k-supply{--cv-c:var(--cv-supply)}.cv-k-dayoff{--cv-c:var(--cv-dayoff)}.cv-k-callin{--cv-c:var(--cv-callin)}
.cv-chip.cv-k-ytd i{background:var(--cv-ytd-bg);border:1px solid var(--cv-ytd-fg)}.cv-chip.cv-k-daily i{background:var(--surface-subtle);border:1px solid var(--border)}.cv-chip.cv-k-note i{background:var(--cv-note-bg);border-left:3px solid var(--cv-note-bd)}
.cv-box{position:relative;padding:0 16px;overflow-x:auto}.cv-box.cv-loading{opacity:.5;pointer-events:none}
.cv-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));border-left:1px solid var(--border);border-top:1px solid var(--border);min-width:770px}
.cv-head{text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:6px 2px;background:var(--surface-subtle);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.cv-cell{min-height:104px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px 0;background:var(--card-bg);overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}
.cv-cell.cv-today{box-shadow:inset 0 0 0 2px var(--cv-ship)}.cv-cell.cv-other{background:var(--surface-subtle);opacity:.55}
.cv-day-num{font-size:12px;font-weight:700;color:var(--text-muted);padding:0 6px 3px}.cv-today .cv-day-num{color:var(--cv-ship)}.cv-today-tag{font-size:10px;background:var(--cv-ship);color:#fff;border-radius:4px;padding:0 4px;margin-left:2px}
.cv-strip{display:block;height:19px;line-height:19px;margin:0 0 2px;padding:0 6px;border:0;font:inherit;font-size:11px;font-weight:700;color:#fff;background:var(--cv-c);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;width:100%}
.cv-strip:hover,.cv-strip:focus-visible{filter:brightness(.88);outline:none}.cv-strip:focus-visible{box-shadow:0 0 0 2px var(--text)}
.cv-pos-start{margin-left:50%;width:50%;border-radius:6px 0 0 6px}.cv-pos-end{width:50%;border-radius:0 6px 6px 0}.cv-pos-solo{margin-left:6%;width:88%;border-radius:6px}
.cv-pos-mid{opacity:.75;font-size:0}.cv-pos-wkstart,.cv-pos-wkend{background-image:repeating-linear-gradient(-45deg,#ffffff2e 0 4px,transparent 4px 8px)}.cv-pos-wkend{font-size:0}
.cv-badge{display:inline-block;margin:2px 5px 0;padding:0 5px;border-radius:4px;font-size:11px;font-weight:700;line-height:17px;white-space:nowrap}
.cv-badge.cv-k-ytd{background:var(--cv-ytd-bg);color:var(--cv-ytd-fg)}.cv-badge.cv-k-daily{background:var(--surface-subtle);color:var(--text-muted);border:1px solid var(--border);font-weight:600}
.cv-note{font-size:11px;color:var(--text);background:var(--cv-note-bg);border-left:3px solid var(--cv-note-bd);border-radius:3px;padding:2px 5px;margin:1px 5px 2px;line-height:1.3;width:calc(100% - 10px)}
.cv-box.cv-hide-ship .cv-k-ship.cv-strip,.cv-box.cv-hide-fba .cv-k-fba.cv-strip,.cv-box.cv-hide-supply .cv-k-supply.cv-strip,.cv-box.cv-hide-dayoff .cv-k-dayoff.cv-strip,.cv-box.cv-hide-callin .cv-k-callin.cv-strip,.cv-box.cv-hide-ytd .cv-k-ytd,.cv-box.cv-hide-daily .cv-k-daily,.cv-box.cv-hide-note .cv-note{display:none}
.cv-muted{color:var(--text-muted);font-size:12px;font-weight:400}.cv-hint{text-align:center;margin:10px 0 0}.cv-yov-count{padding:0 16px;margin:0 0 6px}
.cv-yov-search{flex:1 1 260px;max-width:360px;min-width:220px;display:flex}.cv-yov-search input{width:100%;min-width:0}.cv-yov-legend{padding-top:10px}.cv-yov-legend span{display:inline-flex;align-items:center;gap:5px}
.cv-dot{width:11px;height:11px;border-radius:50%;background:var(--cv-c)}.cv-dot.cv-both{background:linear-gradient(135deg,var(--cv-ship) 50%,var(--cv-fba) 50%)}.cv-dot.cv-k-sent{background:var(--surface-subtle);border:1px solid var(--text-muted)}.cv-dot.cv-dim{background:var(--border)}
.cv-ring{width:11px;height:11px;border-radius:3px;border:2px solid var(--cv-dayoff)}
.cv-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 16px}@media(max-width:1000px){.cv-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cv-mini{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--card-bg);padding:0;font:inherit;color:var(--text);cursor:pointer;text-align:center;transition:box-shadow .15s,transform .15s}
.cv-mini:hover,.cv-mini:focus-visible{box-shadow:0 4px 14px #2563eb33;transform:translateY(-2px);outline:none}
.cv-mini-head{background:var(--cv-ship);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:5px 0}
.cv-mini.is-current{border:2px solid var(--cv-ship)}.cv-mini.is-active{border:2px solid var(--cv-dayoff)}.cv-mini.is-active .cv-mini-head{background:var(--cv-dayoff)}.cv-mini.is-nomatch{opacity:.28}
.cv-mini-dow,.cv-mini-days{display:grid;grid-template-columns:repeat(7,1fr);padding:2px 5px;font-size:10px}.cv-mini-dow{color:var(--text-muted);font-weight:600}.cv-mini-days{gap:1px;padding-bottom:6px}
.cv-mini-day{display:flex;align-items:center;justify-content:center;width:17px;height:17px;margin:0 auto;border-radius:50%;color:var(--text-muted)}
.cv-mini-day.has-ship{background:var(--cv-ship);color:#fff;font-weight:700}.cv-mini-day.has-fba{background:var(--cv-fba);color:#fff;font-weight:700}.cv-mini-day.has-both{background:linear-gradient(135deg,var(--cv-ship) 50%,var(--cv-fba) 50%);color:#fff;font-weight:700}
.cv-mini-day.has-sent{box-shadow:inset 0 0 0 1px var(--text-muted);color:var(--text)}.cv-mini-day.is-future{opacity:.4}.cv-mini-day.is-dim{background:var(--border)!important;color:var(--text-muted)!important;box-shadow:none}
.cv-detail-head{background:var(--cv-c);color:#fff}.cv-detail-head h2{color:#fff}.cv-detail-head .dialog-close{color:#fff;border-color:#ffffff66;background:transparent}
.cv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.cv-tiles-wide{grid-template-columns:1fr}
.cv-tile{border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.cv-tile span{font-size:11px;color:var(--text-muted)}.cv-tile b{font-size:14px;color:var(--text);word-break:break-word}.cv-pre b{white-space:pre-wrap;font-weight:500}
.cv-codes{border-bottom:1px dotted currentColor;cursor:help}.cv-sku-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 6px}.cv-sku-scroll{max-height:300px;overflow:auto}
.cv-num{text-align:right}.cv-type{font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;color:#fff}.cv-type-case{background:var(--cv-fba)}.cv-type-ind{background:var(--cv-ship)}.cv-type-other{background:#64748b}
.cv-yov-search{align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:4px 12px;background:var(--surface-subtle)}
.cv-yov-search input{border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;outline:none;padding:2px 0}.cv-yov-search input::placeholder{color:var(--text-muted)}
.cv-yov-search:focus-within{border-color:var(--cv-ship);box-shadow:0 0 0 3px #2563eb22}
/* Reports → Supply Usage (+ printable report) */
.su-page .su-card{margin-bottom:20px;border-radius:12px;overflow:hidden}.su-page .sr-grid{margin-bottom:20px}.su-page .sr-grid .su-card{margin-bottom:0}
.su-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 20px}
.su-range-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.su-toolbar-label{font-size:12px;font-weight:600;color:var(--text-muted)}
.su-chips{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.su-chip,.su-toolbar .cv-chip{display:inline-flex;align-items:center;justify-content:center;padding:5px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.su-chip:hover,.su-toolbar .cv-chip:hover{background:var(--surface-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,0.06)}
.su-chip.is-on,.su-toolbar .cv-chip.is-on,.su-chip[aria-current="page"],.su-toolbar .cv-chip[aria-current="page"]{background:var(--primary,#0284c7);color:#fff!important;border-color:var(--primary,#0284c7);font-weight:700;box-shadow:0 2px 8px rgba(2,132,199,0.35);transform:none}
.su-toolbar-sep{width:1px;height:22px;background:var(--border);margin:0 4px}
.su-toolbar-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.su-action-btn,.su-toolbar .s2d-act{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.04)}
.su-action-btn:hover,.su-toolbar .s2d-act:hover{background:var(--surface-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,0.08)}
.su-action-btn.is-on,.su-toolbar .s2d-act.is-on{background:var(--primary,#0284c7);color:#fff!important;border-color:var(--primary,#0284c7);font-weight:700}
.su-action-btn:focus-visible,.su-toolbar .s2d-act:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* Summary KPI Stat Tiles */
.su-page .sr-stat{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:3px;transition:transform .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}
.su-page .sr-stat:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.06)}
.su-stat-subs{border-top:3.5px solid var(--primary,#0284c7)}
.su-stat-pack{border-top:3.5px solid var(--emerald,#10b981)}
.su-stat-box{border-top:3.5px solid var(--amber,#f59e0b)}
.su-stat-items{border-top:3.5px solid #8b5cf6}

/* Breakdown Filter Bar */
.su-page .su-filter-bar,.su-page .kf-bar.s2d-filters{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;padding:10px 14px;background:var(--surface-subtle);border-bottom:1px solid var(--border);border-radius:0;margin:0}
.su-f,.su-page .s2d-f{display:inline-flex;align-items:center;gap:8px;height:36px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:0 10px;color:var(--text);font-size:13px;transition:border-color .15s ease,box-shadow .15s ease}
.su-f:focus-within,.su-page .s2d-f:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(2,132,199,0.16)}
.su-f-grow,.su-page .s2d-f-grow{flex:1 1 220px}
.su-f input,.su-page .s2d-f input,.su-f select,.su-page .s2d-f select{background:transparent;border:0;color:var(--text);font:inherit;font-size:13px;height:100%;outline:none;width:100%;min-width:0}
.su-f input::placeholder,.su-page .s2d-f input::placeholder{color:var(--text-muted)}
.su-f select option,.su-page .s2d-f select option{background:var(--card-bg);color:var(--text)}
.su-f-icon{font-size:13px;opacity:.85;user-select:none;flex-shrink:0}
.su-check,.su-page .s2d-f.su-check{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer;user-select:none;white-space:nowrap;transition:all .15s ease}
.su-check:hover,.su-page .s2d-f.su-check:hover{background:var(--surface-subtle);border-color:var(--primary)}
.su-check input[type="checkbox"],.su-page .s2d-f.su-check input[type="checkbox"]{accent-color:var(--primary);width:16px;height:16px;cursor:pointer;margin:0}
.su-btn-reset,.su-page .s2d-clear{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.su-btn-reset:hover,.su-page .s2d-clear:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626;transform:translateY(-1px);box-shadow:0 2px 6px rgba(220,38,38,0.12)}
.su-btn-reset:active,.su-page .s2d-clear:active{transform:translateY(0)}
.su-btn-reset:focus-visible,.su-page .s2d-clear:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .su-btn-reset:hover,
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .su-page .s2d-clear:hover{background:#3f1219;border-color:#991b1b;color:#f87171}

/* Interactive Table Sort Column Buttons */
.su-table td,.su-table th{white-space:nowrap}
.su-num{text-align:right}
.su-strong{font-weight:700;color:#047857}
:root[data-theme="dark"] .su-strong,:root[data-theme="midnight"] .su-strong{color:#34d399}
.su-sort{padding:0!important}
.su-sort-btn,.su-sort button{all:unset;display:inline-flex;align-items:center;gap:6px;width:100%;padding:8px 10px;box-sizing:border-box;font:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);cursor:pointer;transition:all .15s ease;border-radius:4px}
.su-num.su-sort .su-sort-btn,.su-num.su-sort button{justify-content:flex-end}
.su-sort-btn:hover,.su-sort button:hover{background:var(--surface-subtle);color:var(--text)}
.su-sort-btn:focus-visible,.su-sort button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
th.su-sort[aria-sort="ascending"] .su-sort-btn,th.su-sort[aria-sort="ascending"] button,
th.su-sort[aria-sort="descending"] .su-sort-btn,th.su-sort[aria-sort="descending"] button{background:rgba(2,132,199,0.08);color:var(--primary)!important;font-weight:800}
.su-sort-icon{font-size:11px;opacity:.65;transition:opacity .15s}
th.su-sort[aria-sort="ascending"] .su-sort-icon,th.su-sort[aria-sort="descending"] .su-sort-icon{opacity:1;color:var(--primary)}

/* Role Badges */
.su-role{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid;line-height:1.3}
.su-role-selected_packaging{color:#047857;background:#ecfdf5;border-color:#a7f3d0}
.su-role-master_case,.su-role-master_carton{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}
.su-role-label,.su-role-box_label_sort{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}
.su-role-pallet{color:#b45309;background:#fffbeb;border-color:#fde68a}
.su-role-other{color:var(--text-muted);background:var(--surface-subtle);border-color:var(--border)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .su-role-selected_packaging{color:#34d399;background:rgba(16,185,129,0.15);border-color:rgba(52,211,153,0.3)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .su-role-master_case,
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .su-role-master_carton{color:#60a5fa;background:rgba(59,130,246,0.15);border-color:rgba(96,165,250,0.3)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .su-role-label,
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .su-role-box_label_sort{color:#a78bfa;background:rgba(139,92,246,0.15);border-color:rgba(167,139,250,0.3)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .su-role-pallet{color:#fbbf24;background:rgba(245,158,11,0.15);border-color:rgba(251,191,36,0.3)}

/* Pager Controls */
.su-pager,.su-page .s2d-pager{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--border);background:var(--card-bg);gap:12px}
.su-pager-info,.su-page .s2d-pager span{display:inline-flex;align-items:center;padding:4px 14px;border-radius:999px;background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-weight:600}
.su-pager-btn,.su-page .s2d-pager button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.su-pager-btn:hover:not(:disabled),.su-page .s2d-pager button:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,0.08)}
.su-pager-btn:disabled,.su-page .s2d-pager button:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important;border-color:var(--border);background:var(--card-bg);color:var(--text-muted)}
.su-pager-btn:focus-visible,.su-page .s2d-pager button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* Horizontal Visual Bars */
.su-bars{padding:14px 18px 18px;display:flex;flex-direction:column;gap:10px}
.su-bar-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr auto 68px;align-items:center;gap:12px;font-size:12px;padding:4px 6px;margin:-4px -6px;border-radius:8px;transition:background .12s ease}
.su-bar-row:hover{background:var(--surface-subtle)}
.su-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:500}
.su-bar-row b{color:var(--text);text-align:right;font-feature-settings:"tnum"}
.su-bar-row small{color:var(--text-muted);text-align:right}
.su-bar-track{background:var(--surface-subtle);border:1px solid var(--border);border-radius:999px;height:16px;overflow:hidden;position:relative}
.su-bar{display:block;height:100%;border-radius:999px;transition:width .3s cubic-bezier(0.4,0,0.2,1)}
.su-bar-pack{background:linear-gradient(90deg,#10b981 0%,#059669 100%)}
.su-bar-box{background:linear-gradient(90deg,#38bdf8 0%,#0284c7 100%)}
.su-bar-sku{background:linear-gradient(90deg,#a78bfa 0%,#7c3aed 100%)}

/* Print View Toolbar Controls */
.su-btn-print,.su-toolbar .s2d-btn-ok{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 16px;border-radius:8px;border:0;background:#10b981;color:#fff;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px rgba(16,185,129,0.3)}
.su-btn-print:hover:not(:disabled),.su-toolbar .s2d-btn-ok:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,0.4)}
.su-btn-print:disabled,.su-toolbar .s2d-btn-ok:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.su-pick{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:0 10px;height:34px;display:inline-flex;align-items:center;gap:8px}
.su-pick select{color:var(--text);background:transparent;border:0;font:inherit;outline:none;cursor:pointer}
.su-pick select option{background:var(--card-bg);color:var(--text)}
.su-report header h2{margin:0 0 4px;font-size:22px;color:var(--text);font-family:var(--font-display,inherit)}
@media print{
  .admin-sidebar,.admin-topbar,.master-toolbar,.bottom-dock,.admin-fav-bar,.su-no-print,.dock-chat-toggle{display:none!important}
  .admin-layout,.admin-main,.admin-viewport{display:block!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important}
  body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .su-report .su-card,.su-report .sr-stat{break-inside:avoid;box-shadow:none!important}
}

/* Reports → Custom Reports / My Reports / Printables (cr-*, mr-*, pr-*) */
.cr-page .cr-card{margin-bottom:16px}.cr-page .data-table-header{flex-wrap:wrap;gap:8px}
.cr-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin:0 0 16px}
.cr-tabs>button,.cr-tabs>a{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:13.5px;font-weight:600;padding:9px 14px;cursor:pointer;text-decoration:none;border-radius:8px 8px 0 0}
.cr-tabs>button:hover,.cr-tabs>a:hover{color:var(--text);background:var(--surface-subtle)}
.cr-tabs>[aria-selected="true"]{color:var(--primary);border-bottom-color:var(--primary)}
.cr-tabs>button:focus-visible,.cr-tabs>a:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.s2d-status.is-error{border-color:#d03b3b;color:#b42318;background:color-mix(in srgb,#d03b3b 8%,var(--card-bg))}
.cr-group{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:6px 0 8px;font-weight:700}
.cr-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:16px}
.cr-qcard{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);color:var(--text);font:inherit;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.cr-qcard:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,23,42,.08);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}
.cr-qcard[aria-pressed="true"]{border:2px solid var(--primary);padding:11px 13px;background:color-mix(in srgb,var(--primary) 6%,var(--card-bg))}
.cr-qcard:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.cr-qicon{font-size:20px;line-height:1}.cr-qtitle{font-weight:700;font-size:13.5px}.cr-qdesc{font-size:12px;color:var(--text-muted);line-height:1.35}
.cr-filters{margin:0 12px 12px}.cr-filters input[type=date]{color-scheme:dark}.cr-filters input[type=number]{width:70px}.cr-filters [hidden]{display:none!important}
.cr-quick-ranges{display:inline-flex;gap:4px}.cr-filters .s2d-btn-ok{margin-left:auto}
.cr-count{display:inline-block;font-size:11.5px;font-weight:600;color:var(--text-muted);background:var(--surface-subtle);border:1px solid var(--border);border-radius:999px;padding:1px 9px;margin-left:6px;vertical-align:middle}
.cr-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cr-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.cr-seg button{border:0;border-left:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:12px;padding:5px 10px;cursor:pointer}.cr-seg button:first-child{border-left:0}
.cr-seg button[aria-pressed="true"]{background:var(--primary);color:#fff}
.cr-chart-wrap{position:relative;height:320px;padding:8px 14px 12px}.cr-chart-tall{height:380px}
.cr-result{max-height:520px;overflow:auto}.cr-table th{position:sticky;top:0;z-index:1;background:var(--card-bg);white-space:nowrap}.cr-table td{white-space:nowrap;max-width:420px;overflow:hidden;text-overflow:ellipsis}
.cr-num{text-align:right;font-variant-numeric:tabular-nums}.cr-null{color:var(--text-muted)}.cr-long{cursor:help;border-bottom:1px dotted var(--text-muted)}
.cr-meta{font-size:12.5px;color:var(--text-muted);margin:0 14px 10px}.cr-error{color:#b42318}.cr-warn{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,#eda100 14%,var(--card-bg));border:1px solid color-mix(in srgb,#eda100 45%,var(--border))}
.cr-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 12px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg)}
.cr-draft-name{font-weight:700;font-size:13.5px}.cr-spacer{flex:1}
.cr-builder{display:grid;grid-template-columns:minmax(340px,5fr) minmax(0,7fr);gap:16px;align-items:start}
.cr-sticky{position:sticky;top:12px}.cr-body{padding:4px 14px 14px}
.cr-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px}
.cr-field select,.cr-field input,.cr-field textarea,.cr-grid3 select,.cr-rule select,.cr-rule input,.cr-agg select,.cr-agg input{font:inherit;font-size:13px;font-weight:400;color:var(--text);background:var(--surface-subtle);border:1px solid var(--border);border-radius:7px;padding:6px 8px;min-width:0}
.cr-field textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;resize:vertical}
.cr-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.cr-span2{grid-column:1/-1}
.cr-grid3{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;margin:6px 0 8px}.cr-grid3>select:nth-child(2){grid-column:2/4}.cr-eq{color:var(--text-muted);font-weight:700}
.cr-label{font-size:12px;font-weight:600;color:var(--text-muted)}.cr-label small{font-weight:400}
.cr-join-add{border-top:1px dashed var(--border);padding-top:10px;margin-top:4px}
.cr-joins{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.cr-joins li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}
.cr-joins code{font-size:11.5px}
.cr-x{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--border);border-radius:7px;background:var(--card-bg);color:var(--text-muted);cursor:pointer;font-size:12px}.cr-x:hover{color:#d03b3b;border-color:#d03b3b}
.cr-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:4px 0 12px;padding:10px;border-radius:10px;border:1px solid var(--border);background-color:var(--surface-subtle);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:22px 22px}
.cr-map[hidden]{display:none}
.cr-node{display:flex;flex-direction:column;gap:2px;text-align:left;padding:8px 10px;border:1.5px solid var(--border);border-radius:9px;background:var(--card-bg);color:var(--text);font:inherit;cursor:pointer}
.cr-node:hover{border-color:var(--primary)}.cr-node:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.cr-node.is-base{border:2.5px solid var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--card-bg))}
.cr-node.is-joined{border:2px solid #1baf7a;background:color-mix(in srgb,#1baf7a 9%,var(--card-bg))}.cr-node.is-linkable{border-style:dashed;border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}
.cr-node-name{font-weight:700;font-size:12.5px}.cr-node-desc{font-size:11.5px;color:var(--text-muted);line-height:1.3}.cr-node-meta{font-size:10.5px;color:var(--text-muted)}
.cr-node-tag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:var(--primary);color:#fff;border-radius:999px;padding:1px 6px;margin-left:4px}.cr-node.is-joined .cr-node-tag{background:#198754}
.cr-search{background:var(--primary);margin-bottom:8px;max-width:340px}.cr-search-light{background:var(--surface-subtle);border-color:var(--border);color:var(--text)}.cr-search-light input{color:var(--text)}.cr-search-light input::placeholder{color:var(--text-muted)}
.cr-fields{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.cr-fieldset{border:1px solid var(--border);border-radius:9px;padding:6px 10px 8px;margin:0}.cr-fieldset legend{font-size:12px;font-weight:700;padding:0 4px}
.cr-link{border:0;background:none;color:var(--primary);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}
.cr-col{display:inline-flex;align-items:center;gap:4px;width:50%;min-width:180px;font-size:12.5px;padding:2px 0;cursor:pointer}.cr-col small{color:var(--text-muted);font-size:10.5px}
.cr-rules,.cr-aggs{display:flex;flex-direction:column;gap:6px}
.cr-rule{display:grid;grid-template-columns:62px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:center}
.cr-rule [data-logic][hidden]{display:block;visibility:hidden}.cr-rule [data-val][hidden]{display:block;visibility:hidden}
.cr-rule:has([data-val2]:not([hidden])){grid-template-columns:62px minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.8fr) auto}
.cr-agg{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:center}
.cr-hint{font-size:11.5px;color:var(--text-muted);margin:8px 0 0}
.cr-check{display:flex;align-items:center;gap:6px;font-size:13px;margin:4px 0 8px;cursor:pointer}.cr-check[hidden],.cr-field[hidden]{display:none}
.cr-json{margin:0 14px 14px}.cr-json summary{cursor:pointer;font-size:12.5px;color:var(--text-muted)}.cr-json pre{max-height:240px;overflow:auto;background:#0b1220;color:#e6edf3;border-radius:9px;padding:10px;font-size:11.5px}
.cr-star{border:0;background:none;font-size:20px;line-height:1;color:#c98500;cursor:pointer;padding:2px 4px}.cr-star:focus-visible{outline:2px solid var(--primary);border-radius:6px}
.cr-scope{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}
.cr-scope-all,.cr-scope-quick{color:#1d5fc0;border-color:#1d5fc055;background:#1d5fc012}.cr-scope-user{color:#7c3aed;border-color:#7c3aed55;background:#7c3aed12}
:root[data-theme="dark"] .cr-scope,:root[data-theme="midnight"] .cr-scope{filter:brightness(1.5)}
.cr-row-actions{display:flex;gap:5px;flex-wrap:wrap}.cr-danger{color:#b42318}.cr-danger:hover{border-color:#d03b3b}
.cr-load-list{list-style:none;margin:0;padding:0;max-height:60vh;overflow:auto;display:flex;flex-direction:column;gap:6px}
.cr-load-list button{width:100%;text-align:left;border:1px solid var(--border);border-radius:9px;background:var(--card-bg);color:var(--text);font:inherit;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.cr-load-list button:hover,.cr-load-list button:focus-visible{border-color:var(--primary);outline:none;background:var(--surface-subtle)}.cr-load-name{font-weight:700}
#crApiDialog .cr-field input,#crApiDialog .cr-field textarea,#crSaveDialog .cr-field input,#crSaveDialog .cr-field select{width:100%}
.mr-list{display:flex;flex-direction:column;gap:16px}.mr-result{max-height:340px}.mr-card .cell-sub{margin-top:3px;font-size:12px;color:var(--text-muted)}
.pr-page .su-toolbar{margin-bottom:14px}.pr-card .data-table-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pr-card .kf-bar{flex:1 1 360px;margin:0}
.pr-head h2{margin:0 0 2px;font-size:21px}.pr-head{margin-bottom:12px}
.pr-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 14px 12px}
.pr-chip{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text)}
.pr-chip-slow{background:color-mix(in srgb,#eda100 16%,var(--card-bg));border-color:color-mix(in srgb,#eda100 50%,var(--border))}.pr-chip-fast{background:color-mix(in srgb,#1baf7a 14%,var(--card-bg));border-color:color-mix(in srgb,#1baf7a 50%,var(--border))}
.pr-chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:0 14px 10px}.pr-chip-title{font-size:12px;font-weight:700;color:var(--text-muted);margin-right:4px}
.pr-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;padding:4px 14px 14px;font-size:13px}.pr-dl dt{color:var(--text-muted)}.pr-dl dd{margin:0}
.pr-table td{vertical-align:top}.pr-title{display:inline-block;max-width:340px;white-space:normal;font-size:12.5px}
.pr-sort{all:unset;cursor:pointer;font-weight:inherit;white-space:nowrap}.pr-sort:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.pr-sort [data-icon]{font-size:10px;opacity:.7}
.pr-ship{all:unset;cursor:pointer;color:var(--primary);font-weight:600}.pr-ship:hover{text-decoration:underline}.pr-ship:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.pr-codes{cursor:help}.pr-codes small{color:var(--text-muted)}.pr-ship-skus{max-height:360px;overflow:auto}
@media (max-width:1100px){.cr-builder{grid-template-columns:1fr}.cr-sticky{position:static}}
@media (max-width:640px){.cr-grid2{grid-template-columns:1fr}.cr-rule,.cr-rule:has([data-val2]:not([hidden])){grid-template-columns:1fr 1fr}.cr-rule [data-logic][hidden]{display:none}.cr-agg{grid-template-columns:1fr 1fr}.cr-col{width:100%}.cr-filters .s2d-btn-ok{margin-left:0}}
@media print{
  .pr-no-print,.pr-page .viewport-header,#prShipDialog{display:none!important}
  .pr-report .sr-stat{break-inside:avoid-page;box-shadow:none!important}
  .pr-table tr{break-inside:avoid}
  .pr-report .table-responsive{max-height:none!important;overflow:visible!important}
  .pr-table th{position:static}.pr-sort [data-icon]{display:none}
  .pr-ship{color:#000}
}

.cr-count:empty{display:none}

/* Custom Reports → Graphical Builder / Graphical Graph Builder (table diagram) */
.cr-gr-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.cr-side .cr-card{margin-bottom:12px}.cr-side .data-table-header{padding-top:10px;padding-bottom:10px}
.cr-diagram{padding:6px 12px 4px;background-color:var(--surface-subtle);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:22px 22px;border-radius:0 0 10px 10px}
.cr-diagram svg{display:block;width:100%;height:auto}
.cr-dnode{cursor:pointer;outline:none}
.cr-dnode rect{fill:var(--card-bg);stroke:var(--border);stroke-width:1.5;transition:stroke .12s ease,fill .12s ease}
.cr-dnode:hover rect{stroke:var(--primary)}.cr-dnode:focus-visible rect{stroke:var(--primary);stroke-width:3}
.cr-dname{font:700 13px Inter,system-ui,sans-serif;fill:var(--text)}.cr-ddesc{font:11px Inter,system-ui,sans-serif;fill:var(--text-muted)}
.cr-dtag{font:700 9.5px Inter,system-ui,sans-serif;letter-spacing:.05em;fill:var(--primary)}
.cr-dnode.is-base rect{stroke:var(--primary);stroke-width:3;fill:color-mix(in srgb,var(--primary) 10%,var(--card-bg))}
.cr-dnode.is-join rect{stroke:#1baf7a;stroke-width:2.5;fill:color-mix(in srgb,#1baf7a 10%,var(--card-bg))}.cr-dnode.is-join .cr-dtag{fill:#198754}
.cr-dnode.is-focus rect{stroke:#e34948;stroke-width:2.5;fill:color-mix(in srgb,#e34948 8%,var(--card-bg))}.cr-dnode.is-focus .cr-dtag{fill:#d03b3b}
.cr-dedge{fill:none;stroke:#1baf7a;stroke-width:2.5}.cr-dedge-hint{fill:none;stroke:var(--text-muted);stroke-width:1.5;stroke-dasharray:5 5;opacity:.55}
.cr-legend{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--text-muted);margin:8px 14px 12px}
.cr-key{display:inline-block;width:14px;height:10px;border-radius:3px;border:2px solid;margin-right:-8px;vertical-align:middle}
.cr-key-base{border-color:var(--primary)}.cr-key-join{border-color:#1baf7a}.cr-key-focus{border-color:#e34948}
.cr-fields-side{max-height:260px}.cr-fields-side .cr-col{width:100%}
.cr-rules-side .cr-rule,.cr-rules-side .cr-rule:has([data-val2]:not([hidden])){grid-template-columns:1fr 1fr}.cr-rules-side .cr-rule [data-logic][hidden]{display:none}
.cr-rules-side .cr-rule{padding:8px;border:1px dashed var(--border);border-radius:8px}
@media (max-width:1100px){.cr-gr-body{grid-template-columns:1fr}}

.cr-grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cr-field>select,.cr-field>input{width:100%;box-sizing:border-box}.cr-side .cr-hint{overflow-wrap:anywhere}

/* Operations → Categorized Misfits + Damage Out Queue (cm-*) */
.cm-page{--cm-whatnot:#e0a800;--cm-donate:#0aa2c0;--cm-mf:#8b5cf6;--cm-wf:#0071ce;--cm-wf2:#ffc220;--cm-damaged:#fd7e14;--cm-missing:#e34948;--cm-aged:#d03b3b;--cm-picked:#10b981}
.cm-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 16px}
.cm-op{background:var(--card-bg);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:10px;padding:9px 12px;display:flex;flex-direction:column;gap:1px}
.cm-op span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.cm-op b{font-size:21px;line-height:1.15;color:var(--text)}.cm-op small{font-size:11.5px;color:var(--text-muted)}
.cm-op-warn{border-left-color:#eda100}.cm-op-danger{border-left-color:#d03b3b}.cm-op-ok{border-left-color:#198754}
.cm-badge-danger:not(:empty){background:#d03b3b;color:#fff;border-color:#d03b3b}
.cm-filters{margin:0 12px 10px}.cm-filters [aria-pressed="true"]{background:#ffffff47;color:#fff;font-weight:700}
.cm-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 12px 10px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--primary) 6%,var(--card-bg))}
.cm-bulk[hidden]{display:none}.cm-bulk>span{margin-right:6px;font-size:13px}
.cm-btn{border:1px solid transparent;border-radius:7px;padding:5px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;color:#fff}
.cm-c-whatnot{background:var(--cm-whatnot);color:#2b1d00}.cm-c-donate{background:var(--cm-donate);color:#04232b}.cm-c-mf{background:var(--cm-mf);color:#fff}.cm-c-wf{background:var(--cm-wf);color:#fff;border-color:var(--cm-wf2)}
.cm-c-damaged{background:var(--cm-damaged);color:#fff}.cm-c-prep{background:#198754;color:#fff}.cm-c-delete{background:#d03b3b;color:#fff}.cm-c-aged{background:var(--cm-aged);color:#fff}.cm-c-picked{background:var(--cm-picked);color:#06261a}.cm-c-off{background:var(--surface-subtle);color:var(--text-muted)}
.cm-c-mf-o{border-color:var(--cm-mf)!important;color:var(--cm-mf)!important}.cm-c-wf-o{border-color:var(--cm-wf)!important;color:var(--cm-wf)!important}
.cm-legend-wrap{margin:0 12px 10px;font-size:12.5px}.cm-legend-wrap summary{cursor:pointer;color:var(--text-muted)}
.cm-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 0 2px;color:var(--text-muted)}.cm-legend>span{display:inline-flex;align-items:center;gap:6px}
.cm-sw{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid var(--border)}
.cm-table td{vertical-align:middle}.cm-table th{white-space:nowrap}
.cm-row.cm-r-whatnot>td,.cm-sw.cm-r-whatnot{background:color-mix(in srgb,var(--cm-whatnot) 16%,var(--card-bg))}
.cm-row.cm-r-donate>td,.cm-sw.cm-r-donate{background:color-mix(in srgb,var(--cm-donate) 14%,var(--card-bg))}
.cm-row.cm-r-mf>td,.cm-sw.cm-r-mf{background:color-mix(in srgb,var(--cm-mf) 14%,var(--card-bg))}
.cm-row.cm-r-wf>td,.cm-sw.cm-r-wf{background:color-mix(in srgb,var(--cm-wf) 13%,var(--card-bg));border-top:2px solid var(--cm-wf2);border-bottom:2px solid var(--cm-wf2)}
.cm-row.cm-r-damaged>td:first-child{box-shadow:inset 4px 0 0 var(--cm-damaged)}.cm-row.cm-r-damaged .cm-desc{color:var(--cm-damaged)}.cm-sw.cm-r-damaged{border:2px solid var(--cm-damaged)}
.cm-row.cm-r-missing>td,.cm-sw.cm-r-missing{background:color-mix(in srgb,var(--cm-missing) 14%,var(--card-bg))}
.cm-row.cm-r-aged>td,.cm-sw.cm-r-aged{background:color-mix(in srgb,var(--cm-aged) 26%,var(--card-bg))}
.cm-row.cm-r-picked>td,.cm-sw.cm-r-picked{background:color-mix(in srgb,var(--cm-picked) 18%,var(--card-bg))}
.cm-item{display:flex;gap:10px;align-items:center;min-width:220px;max-width:360px}.cm-item>div{min-width:0;display:flex;flex-direction:column}
.cm-thumb{width:44px;height:44px;flex:0 0 44px;object-fit:contain;border-radius:7px;background:#fff;border:1px solid var(--border)}
.cm-thumb-none{display:inline-flex;align-items:center;justify-content:center;font-size:16px;opacity:.5;background:var(--surface-subtle)}
.cm-cat{font-size:11px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.03em}
.cm-desc{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-copy{all:unset;cursor:copy;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;border-bottom:1px dotted var(--text-muted)}.cm-copy:focus-visible{outline:2px solid var(--primary)}
.cm-note{margin-left:6px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);border-radius:5px;font-size:11px;padding:1px 5px;cursor:pointer}
.cm-note.has{background:color-mix(in srgb,#eda100 22%,var(--card-bg));border-color:#eda100;color:var(--text);font-weight:700}
.cm-qty{display:inline-flex;align-items:center;gap:4px}.cm-qty-in{width:64px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text);font:inherit}
.cm-qty-ok{border:0;background:#198754;color:#fff;border-radius:6px;padding:3px 8px;cursor:pointer}.cm-qty-ok[hidden]{display:none}
.cm-pick{border:1px solid #eda100;background:color-mix(in srgb,#eda100 25%,var(--card-bg));color:var(--text);border-radius:6px;font-size:11.5px;font-weight:700;padding:2px 6px;cursor:pointer}
.cm-pick:not(button){cursor:default}
.cm-miss{display:inline-flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.cm-miss input{width:16px;height:16px}
.cm-pills{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.cm-pill{display:inline-block;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;white-space:nowrap}
.cm-acts{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:240px}
.cm-marks{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}
.cm-mk{border:0;border-left:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);font:inherit;font-size:11px;font-weight:700;padding:4px 7px;cursor:pointer}.cm-mk:first-child{border-left:0}
.cm-mk:hover{color:var(--text);background:var(--surface-subtle)}.cm-mk.is-on.cm-c-whatnot{background:var(--cm-whatnot);color:#2b1d00}.cm-mk.is-on.cm-c-donate{background:var(--cm-donate);color:#04232b}
.cm-mk.is-on.cm-c-mf{background:var(--cm-mf);color:#fff}.cm-mk.is-on.cm-c-wf{background:var(--cm-wf);color:#fff}.cm-mk.is-on.cm-c-damaged{background:var(--cm-damaged);color:#fff}
.cm-mk:not(.is-on){background:var(--card-bg)}
.cm-inline{display:flex;gap:6px}.cm-inline input{flex:1;min-width:0}
.cm-matches{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.cm-matches[hidden]{display:none}
.cm-match{display:flex;gap:8px;align-items:center;text-align:left;border:1.5px solid var(--border);border-radius:9px;background:var(--card-bg);color:var(--text);padding:6px 8px;cursor:pointer;font:inherit}
.cm-match img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:5px}.cm-match span{display:flex;flex-direction:column;min-width:0;font-size:12.5px}.cm-match b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-match small{color:var(--text-muted)}
.cm-match.is-on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--card-bg))}
.cm-prep-head{display:flex;justify-content:space-between;align-items:center;margin:4px 0 8px}
.cm-prep-list{max-height:min(46vh,460px);overflow:auto;display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle);margin-bottom:10px}
.cm-prep-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:7px 10px;cursor:pointer}
.cm-prep-row span{display:flex;flex-direction:column;min-width:0}.cm-prep-row small{color:var(--text-muted);font-size:11.5px}.cm-prep-qty{font-weight:800;color:#198754;white-space:nowrap}
.cm-notes,.cm-cat-list,.cm-scans{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.cm-notes li,.cm-cat-list li,.cm-scans li{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--card-bg)}
.cm-notes p,.cm-scans p{margin:0 0 2px;white-space:pre-wrap}.cm-notes small,.cm-cat-list small,.cm-scans small{color:var(--text-muted);font-size:11.5px;display:block}
.cm-cat-list li>span{display:flex;gap:4px;flex:0 0 auto}.cm-scans li>div{flex:1}
.cm-cat-form{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:0 10px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:10px;margin-bottom:12px}
.cm-cat-actions{grid-column:1/-1;display:flex;gap:6px}.cm-cat-form .s2d-form-msg{grid-column:1/-1}
.cm-batches{padding:0 12px 12px;display:flex;flex-direction:column;gap:8px}
.cm-batch{border:1px solid var(--border);border-radius:10px;background:var(--card-bg);overflow:hidden}
.cm-batch summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,1.6fr) 100px 90px 120px 100px auto;gap:10px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none;font-size:13px}
.cm-batch summary::-webkit-details-marker{display:none}.cm-batch summary>span:first-child{display:flex;flex-direction:column}.cm-batch summary small{color:var(--text-muted);font-size:11.5px}
.cm-batch[open] summary{border-bottom:1px solid var(--border)}.cm-batch .table-responsive{padding:8px 12px 12px}
.cm-batch-notes{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-bpill{display:inline-block;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800;text-transform:uppercase}
.cm-b-ok{background:color-mix(in srgb,#198754 18%,var(--card-bg));color:#198754}.cm-b-warn{background:color-mix(in srgb,#eda100 22%,var(--card-bg));color:#9a6700}.cm-b-off{background:var(--surface-subtle);color:var(--text-muted)}
.cm-batch-btns{display:flex;gap:4px;justify-self:end}.cm-warn{color:#b7791f}
.cm-find{display:inline-block;margin-top:2px;font-size:11.5px}
.cm-do-head th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}
.cm-do-scans>td{background:var(--surface-subtle)}.cm-sm{height:auto;padding:4px 10px;font-size:12px}
.cm-head-mf{background:color-mix(in srgb,var(--cm-mf) 16%,var(--card-bg))}.cm-head-wf{background:color-mix(in srgb,var(--cm-wf) 14%,var(--card-bg));border-bottom:2px solid var(--cm-wf2)}
:root[data-theme="dark"] .cm-c-whatnot,:root[data-theme="midnight"] .cm-c-whatnot{color:#2b1d00}
@media (max-width:900px){.cm-batch summary{grid-template-columns:1fr 1fr}.cm-cat-form{grid-template-columns:1fr 1fr}.cm-matches{grid-template-columns:1fr}}
@media print{
  body.cm-print-batch .admin-viewport>*:not(#cmPaneItems),body.cm-print-batch #cmPaneItems>*:not(#cmBatchCard),body.cm-print-batch #cmBatchCard>*:not(#cmBatches),body.cm-print-batch .cm-batch:not(.cm-printing),body.cm-print-batch .cm-batch-btns{display:none!important}
  body.cm-print-batch .cm-batch{border:0}
}

.cm-acts{min-width:0;max-width:300px}.cm-item{max-width:300px}.cm-desc{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cm-mk{padding:4px 6px}
.cm-batch-header-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cm-page .cr-actions .s2d-act{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:7px;font:inherit;font-size:12px;font-weight:600;transition:all .15s ease}
.cm-page .cr-actions .s2d-act:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,0.06)}
.cm-page .cm-cleanup-drafts-btn{color:var(--text);border:1px solid var(--border);background:var(--card-bg);box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.cm-page .cm-cleanup-drafts-btn .cm-cleanup-icon{font-size:13.5px;line-height:1}
.cm-page .cm-cleanup-drafts-btn:hover{background:color-mix(in srgb,var(--rose,#ef4444) 10%,var(--card-bg));border-color:color-mix(in srgb,var(--rose,#ef4444) 40%,var(--border));color:var(--rose,#ef4444);transform:translateY(-1px);box-shadow:0 3px 8px rgba(239,68,68,0.14)}
.cm-page .cm-cleanup-drafts-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,0.04)}
.cm-page .cm-cleanup-drafts-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

.pt-actions{display:flex;gap:6px;white-space:nowrap}.pt-description{white-space:pre-wrap;overflow-wrap:anywhere}


/* Data Optimization & Data Audit/Restore (dm-page) */
.dm-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--primary) 8%, var(--card-bg));
  border: 1px solid color-mix(in srgb, var(--primary) 25%, var(--border));
  color: var(--text);
  font-size: 12.5px;
  line-height: 1.45;
  margin-bottom: 16px;
}
.dm-notice-icon {
  font-size: 16px;
  line-height: 1.2;
  flex-shrink: 0;
}
.dm-notice p {
  margin: 0;
}

/* Metric Stat Tiles */
.dm-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.dm-tile {
  display: flex;
  flex-direction: column;
  gap: 5px;
  text-align: left;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--card-bg);
  color: var(--text);
  font: inherit;
  cursor: pointer;
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.dm-tile:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--primary) 50%, var(--border));
  box-shadow: 0 6px 16px rgba(0,0,0,0.07);
}
.dm-tile:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
.dm-tile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.dm-tile-name {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-tile-icon {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.dm-tile-count {
  font-family: var(--font-display, inherit);
  font-size: 26px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--text);
}
.dm-tile-sub {
  font-size: 11.5px;
  color: var(--text-muted);
}

/* Tabs */
.dm-tabs {
  margin-bottom: 18px;
}
.dm-tabs > button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Card Header Title Wrap */
.dm-card-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Filter bars & Inputs in dm-page */
.dm-page .kf-bar,
.dm-page .dm-filters,
.dm-page .s2d-filters {
  display: flex;
  align-items: center;
  gap: 8px 10px;
  flex-wrap: wrap;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-subtle) !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.dm-page .s2d-f,
.dm-page .s2d-filters .s2d-f {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px;
  padding: 0 10px;
  color: var(--text) !important;
  font-size: 13px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.dm-page .s2d-f:focus-within,
.dm-page .s2d-filters .s2d-f:focus-within {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent) !important;
}
.dm-page .s2d-f-grow {
  flex: 1 1 200px;
}
.dm-page .s2d-f input,
.dm-page .s2d-f select,
.dm-page .s2d-filters .s2d-f input,
.dm-page .s2d-filters .s2d-f select {
  background: transparent !important;
  border: 0 !important;
  color: var(--text) !important;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  height: 100%;
  outline: none;
  width: 100%;
  min-width: 0;
  padding: 0;
}
.dm-page .s2d-f input::placeholder,
.dm-page .s2d-filters .s2d-f input::placeholder {
  color: var(--text-muted) !important;
  opacity: 0.85;
}
.dm-page .s2d-f select,
.dm-page .s2d-filters .s2d-f select {
  cursor: pointer;
}
.dm-page .s2d-f select option,
.dm-page .s2d-filters .s2d-f select option {
  background: var(--card-bg) !important;
  color: var(--text) !important;
}
.dm-page .s2d-f span,
.dm-page .s2d-filters .s2d-f span {
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.dm-page .s2d-f input[type="number"] {
  width: 58px;
}
.dm-page .s2d-f select[name="table"] {
  min-width: 170px;
}
.dm-page .dm-scan-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 0 16px;
  border-radius: 8px;
  border: 0;
  background: #10b981;
  color: #fff;
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s ease;
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.25);
}
.dm-page .dm-scan-btn:hover {
  background: #059669;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
}
.dm-page .dm-scan-btn:active {
  transform: translateY(0);
}
.dm-page .s2d-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  font: inherit;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.dm-page .s2d-clear:hover {
  background: #fee2e2;
  border-color: #fca5a5;
  color: #dc2626;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(220,38,38,0.12);
}


/* Tables & Rows */
.dm-table th {
  white-space: nowrap;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
}
.dm-table td {
  vertical-align: middle;
}
.dm-row-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
}
.dm-row-table {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}
.dm-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11.5px;
  background: var(--surface-subtle);
  padding: 2px 5px;
  border-radius: 4px;
  border: 1px solid var(--border);
}
.dm-summary {
  font-size: 12px;
  color: var(--text);
  max-width: 380px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dm-preview {
  max-height: 64px;
  min-width: 140px;
  max-width: 280px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-all;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  line-height: 1.35;
  padding: 4px 7px;
  border-radius: 6px;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  color: var(--text-muted);
  margin: 0;
}

/* Badges */
.dm-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.dm-badge-ok {
  background: color-mix(in srgb, #10b981 18%, var(--card-bg));
  color: #10b981;
}
.dm-badge-danger {
  background: color-mix(in srgb, var(--rose, #ef4444) 18%, var(--card-bg));
  color: var(--rose, #ef4444);
}
.dm-badge-warn {
  background: color-mix(in srgb, #f59e0b 20%, var(--card-bg));
  color: #d97706;
}
.dm-badge-info {
  background: color-mix(in srgb, var(--primary) 15%, var(--card-bg));
  color: var(--primary);
}

/* Universal Pager */
.dm-page .s2d-pager.dm-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  border-top: 1px solid var(--border);
  background: var(--card-bg);
  gap: 12px;
  flex-wrap: wrap;
}
.dm-pager-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.dm-pager-size {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
}
.dm-page-select {
  height: 30px;
  padding: 0 8px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--card-bg);
  color: var(--text);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  outline: none;
}
.dm-page-select:focus-visible {
  border-color: var(--primary);
  outline: 2px solid var(--primary);
  outline-offset: 1px;
}
.dm-pager-total {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 600;
}
.dm-pager-nav {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.dm-pbtn {
  height: 30px;
  padding: 0 9px;
  min-width: 32px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.dm-pager-info {
  display: inline-flex;
  align-items: center;
  padding: 3px 12px;
  border-radius: 999px;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  color: var(--text-muted);
  font-size: 11.5px;
  font-weight: 600;
  margin: 0 4px;
}
.dm-pager-info b {
  color: var(--text);
  margin: 0 2px;
}

/* Optimization Checks Grid */
.dm-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}
.dm-loading {
  padding: 28px;
  text-align: center;
  color: var(--text-muted);
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.dm-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid var(--border);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: dmSpin .7s linear infinite;
}
@keyframes dmSpin {
  to { transform: rotate(360deg); }
}
.dm-scan-error {
  padding: 20px;
  color: var(--rose, #ef4444);
  background: color-mix(in srgb, var(--rose, #ef4444) 8%, var(--card-bg));
  font-size: 13px;
}

/* Relationship Flow Map & Inspector */
.dm-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 0;
  border-top: 1px solid var(--border);
}
#dmMapScroll {
  overflow: auto;
  height: 560px;
  background: var(--surface-subtle);
  touch-action: none;
  border-right: 1px solid var(--border);
}
#dmSchemaInspector {
  max-height: 560px;
  overflow-y: auto;
  padding: 16px;
  background: var(--card-bg);
}
.dm-map-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.dm-map-search-label input {
  height: 32px;
  font-size: 12px;
  width: 170px;
}
.dm-zoom-group {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 7px;
  overflow: hidden;
  background: var(--card-bg);
}
.dm-zoom-group button {
  border: 0;
  background: transparent;
  padding: 4px 10px;
  cursor: pointer;
  color: var(--text);
  font-weight: 700;
  height: 30px;
  transition: background .12s ease;
}
.dm-zoom-group button:hover {
  background: var(--surface-subtle);
  color: var(--primary);
}
.dm-zoom-badge {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--text-muted);
  padding: 0 6px;
  user-select: none;
}
.dm-edge {
  fill: none;
  stroke: var(--border);
  stroke-width: 2;
  transition: stroke .15s ease, stroke-width .15s ease;
}
#dmArrow path {
  fill: var(--primary);
}
#dmMap rect {
  fill: var(--card-bg);
  stroke: var(--border);
  stroke-width: 1.5;
  rx: 8px;
  transition: stroke .15s ease, stroke-width .15s ease;
}
#dmMap text {
  fill: var(--text);
  font-family: var(--font-body, system-ui);
  font-size: 12px;
  user-select: none;
}
#dmMap .dm-node-title {
  font-weight: 700;
  fill: var(--text);
}
#dmMap .dm-node-sub {
  fill: var(--text-muted);
  font-size: 11px;
}
#dmMap .dm-node {
  cursor: pointer;
}
#dmMap .dm-node:hover rect {
  stroke: color-mix(in srgb, var(--primary) 50%, var(--border));
}
#dmMap .dm-node.focused rect {
  stroke: var(--primary);
  stroke-width: 3;
}
#dmMap .dm-edge.focused {
  stroke: var(--primary);
  stroke-width: 3;
}
.dm-node-cols {
  display: none;
}

/* Inspector */
.dm-inspector-card h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
}
.dm-inspector-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.dm-inspector-pk {
  font-size: 12px;
  color: var(--text-muted);
  margin: 0 0 12px;
}
.dm-inspector-links h4,
.dm-inspector-table-wrap h4,
.dm-inspector-row h4 {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
  margin: 12px 0 6px;
}
.dm-inspector-link {
  font-size: 11.5px;
  padding: 5px 8px;
  border-radius: 6px;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  margin-bottom: 4px;
  word-break: break-all;
}
.dm-arrow-text {
  color: var(--primary);
  font-weight: 700;
  margin: 0 4px;
}
.dm-schema-table td {
  padding: 4px 8px;
  font-size: 11.5px;
}
.dm-inspector-empty {
  text-align: center;
  padding: 48px 16px;
  color: var(--text-muted);
}
.dm-inspector-icon {
  font-size: 32px;
  display: block;
  margin-bottom: 8px;
  opacity: .7;
}
.dm-inspector-none {
  font-size: 12px;
  color: var(--text-muted);
  font-style: italic;
}
.dm-json {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11.5px;
  line-height: 1.4;
  padding: 10px 12px;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: 8px;
  max-height: 40vh;
  overflow: auto;
  margin: 0;
}
.dm-related-box {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed var(--border);
}
.dm-related-box h4 {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
  margin: 0 0 8px;
}
.dm-related-item {
  margin-bottom: 8px;
}

/* Image Galleries */
.dm-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  padding: 16px;
}
.dm-gallery-empty {
  grid-column: 1 / -1;
  padding: 32px 16px !important;
}
.dm-image-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--card-bg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.dm-image-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--primary) 40%, var(--border));
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.dm-img-thumb-wrap {
  height: 130px;
  background: var(--surface-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border-bottom: 1px solid var(--border);
}
.dm-img-thumb-wrap img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 4px;
}
.dm-img-info {
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  justify-content: space-between;
}
.dm-img-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  cursor: pointer;
}
.dm-img-label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dm-img-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: var(--text-muted);
  gap: 6px;
}
.dm-elig-pill {
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
.dm-elig-pill.is-ready {
  background: color-mix(in srgb, #10b981 18%, var(--card-bg));
  color: #10b981;
}
.dm-elig-pill.is-wait {
  background: color-mix(in srgb, #f59e0b 20%, var(--card-bg));
  color: #d97706;
}
.dm-img-act {
  margin-top: 4px;
  display: flex;
  justify-content: flex-end;
}
.dm-check-all-label {
  cursor: pointer;
  user-select: none;
}
.dm-check-all-label input {
  margin-right: 4px;
}

/* Modal Inspection Diff */
.dm-diff-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.dm-diff-grid h4 {
  margin: 0 0 6px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
}
#dmMapCard:fullscreen {
  background: var(--card-bg);
  padding: 20px;
  overflow: auto;
}

@media(max-width: 1024px) {
  .dm-checks, .dm-map-layout {
    grid-template-columns: 1fr;
  }
  #dmMapScroll {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }
}
@media(max-width: 768px) {
  .dm-tiles {
    grid-template-columns: 1fr 1fr;
  }
  .dm-diff-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Search Record Page (search-record.php)
   ========================================================================== */
.sr-page {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Breadcrumbs */
.sr-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: -10px;
  flex-wrap: wrap;
}
.sr-breadcrumb-link {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.15s ease;
}
.sr-breadcrumb-link:hover {
  color: var(--primary);
  text-decoration: underline;
}
.sr-breadcrumb-sep {
  color: var(--border);
  font-size: 11px;
}
.sr-breadcrumb-current {
  color: var(--text);
  font-weight: 600;
  max-width: 380px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Viewport Header enhancements */
.sr-header {
  margin-bottom: 0;
}
.sr-header-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.sr-header code {
  background: var(--surface-subtle);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
  color: var(--primary);
  border: 1px solid var(--border);
}

/* Toast message */
.sr-toast {
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  margin: 0;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  color: var(--text);
  transition: opacity 0.2s ease;
}
.sr-toast.is-success {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #065f46;
}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sr-toast.is-success {
  background: rgba(6, 78, 59, 0.3);
  border-color: #065f46;
  color: #6ee7b7;
}

/* Overview / Hero Card */
.sr-overview-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
  flex-wrap: wrap;
}
.sr-overview-identity {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: 1 1 340px;
  min-width: 0;
}
.sr-avatar-box {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  flex-shrink: 0;
  overflow: hidden;
}
.sr-avatar-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sr-overview-details {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.sr-overview-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.35;
  word-break: break-word;
}
.sr-badges-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.sr-pk-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 11px;
  font-family: monospace;
  color: var(--text);
}
.sr-pk-label {
  color: var(--text-muted);
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 600;
}
.sr-source-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(2, 132, 199, 0.1);
  border: 1px solid rgba(2, 132, 199, 0.25);
  color: var(--primary);
  border-radius: 6px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 600;
}

/* Stat strip on hero card */
.sr-stat-strip {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.sr-stat-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sr-stat-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  font-weight: 600;
}
.sr-stat-val {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

/* Attribute Explorer Card */
.sr-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.sr-fields-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  gap: 16px;
  flex-wrap: wrap;
}
.sr-search-input-box {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 280px;
}
.sr-search-icon {
  position: absolute;
  left: 10px;
  font-size: 13px;
  pointer-events: none;
  color: var(--text-muted);
}
.sr-filter-input {
  width: 100%;
  height: 36px;
  padding: 0 32px 0 32px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface-subtle);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 13px;
  transition: all 0.15s ease;
}
.sr-filter-input:focus {
  outline: none;
  border-color: var(--primary);
  background: var(--card-bg);
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
}
.sr-filter-clear {
  position: absolute;
  right: 8px;
  background: none;
  border: none;
  color: var(--text-muted);
  font-size: 14px;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
}
.sr-filter-clear:hover {
  color: var(--text);
}

/* Fields Grid */
.sr-fields-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
  padding: 20px;
}
.sr-field-card {
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  transition: all 0.15s ease;
  position: relative;
}
.sr-field-card:hover {
  border-color: var(--primary);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.sr-field-card.is-pk {
  border-left: 4px solid var(--primary);
  background: var(--card-bg);
}
.sr-field-card[hidden] {
  display: none !important;
}

.sr-field-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.sr-field-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
  text-transform: capitalize;
}
.sr-field-key {
  font-size: 10px;
  font-family: monospace;
  color: var(--text-muted);
  background: var(--card-bg);
  padding: 1px 5px;
  border-radius: 4px;
  border: 1px solid var(--border);
}
.sr-field-val-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 28px;
}
.sr-field-val {
  font-size: 13px;
  color: var(--text);
  word-break: break-word;
  line-height: 1.4;
}
.sr-val-empty {
  color: var(--text-muted);
  font-style: italic;
  font-size: 12px;
}
.sr-val-mono {
  font-family: monospace;
  font-size: 12px;
}
.sr-val-currency {
  font-family: monospace;
  font-weight: 700;
  color: var(--emerald, #10b981);
}
.sr-val-date {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
}
.sr-val-link {
  color: var(--primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.sr-val-link:hover {
  text-decoration: underline;
}

/* Boolean Badges */
.sr-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.sr-badge-yes {
  background: #dcfce7;
  color: #15803d;
  border: 1px solid #bbf7d0;
}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sr-badge-yes {
  background: rgba(20, 83, 45, 0.28);
  color: #86efac;
  border-color: #15803d;
}
.sr-badge-no {
  background: var(--card-bg);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

/* Copy button on field */
.sr-copy-btn {
  background: none;
  border: 1px solid transparent;
  border-radius: 4px;
  color: var(--text-muted);
  cursor: pointer;
  padding: 3px 6px;
  font-size: 11px;
  line-height: 1;
  transition: all 0.15s ease;
  flex-shrink: 0;
  opacity: 0.6;
}
.sr-field-card:hover .sr-copy-btn {
  opacity: 1;
}
.sr-copy-btn:hover {
  color: var(--primary);
  border-color: var(--border);
  background: var(--card-bg);
}

/* Multiline value box */
.sr-field-card.is-multiline {
  grid-column: 1 / -1;
}
.sr-multiline-val {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px 12px;
  font-family: monospace;
  font-size: 12px;
  max-height: 200px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
  width: 100%;
}

/* No fields match filter */
.sr-fields-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 40px 20px;
  color: var(--text-muted);
  font-size: 14px;
}

/* Raw JSON Accordion */
.sr-json-accordion {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--card-bg);
  overflow: hidden;
}
.sr-json-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  cursor: pointer;
  user-select: none;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  background: var(--surface-subtle);
  transition: background 0.15s ease;
}
.sr-json-summary:hover {
  background: var(--border);
}
.sr-summary-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sr-json-icon {
  font-family: monospace;
  font-weight: 700;
  color: var(--primary);
  font-size: 14px;
}
.sr-summary-chevron {
  transition: transform 0.2s ease;
  color: var(--text-muted);
}
.sr-json-accordion[open] .sr-summary-chevron {
  transform: rotate(180deg);
}
.sr-json-body {
  padding: 16px 20px 20px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sr-json-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.sr-json-code {
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 14px 16px;
  font-family: Consolas, Monaco, 'Courier New', monospace;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text);
  overflow-x: auto;
  max-height: 400px;
}

/* Error Card */
.sr-error-card {
  padding: 60px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 560px;
  margin: 40px auto;
}
.sr-error-icon {
  font-size: 48px;
  line-height: 1;
}
.sr-error-title {
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--text);
}
.sr-error-desc {
  font-size: 14px;
  color: var(--text-muted);
  max-width: 440px;
}
.sr-error-actions {
  display: flex;
  gap: 12px;
  margin-top: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Print styling */
@media print {
  .admin-sidebar,
  .admin-topbar,
  .sr-breadcrumbs,
  .su-toolbar,
  .sr-filter-wrap,
  .sr-copy-btn,
  .sr-json-bar button,
  .admin-fav-bar {
    display: none !important;
  }
  .admin-viewport {
    padding: 0 !important;
    max-width: 100% !important;
  }
  .sr-card, .sr-overview-card {
    border: 1px solid #ccc !important;
    box-shadow: none !important;
    break-inside: avoid;
  }
  .sr-field-card {
    border: 1px solid #eee !important;
    break-inside: avoid;
  }
}



/* Operations → Supply Catalog (sc-*) */
.sc-table td{vertical-align:middle}.sc-table th{white-space:nowrap}
.sc-group>td{background:color-mix(in srgb,var(--primary) 8%,var(--card-bg));font-size:11.5px;font-weight:800;letter-spacing:.05em;color:var(--text-muted);border-top:2px solid color-mix(in srgb,var(--primary) 30%,var(--border));padding:5px 10px}
.sc-inactive>td{opacity:.62}
.sc-name{display:flex;gap:8px;align-items:flex-start;min-width:220px;max-width:340px}.sc-name>span{display:flex;flex-direction:column;min-width:0}.sc-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-icon{font-size:17px;line-height:1.2}.sc-name i{font-size:17px}
.sc-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.sc-badge{display:inline-block;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;white-space:nowrap;text-decoration:none;font-family:inherit}
button.sc-badge{cursor:pointer}button.sc-badge:disabled{cursor:default}
.sc-on{background:color-mix(in srgb,#198754 14%,var(--card-bg));color:#198754;border-color:#19875455}.sc-off{background:var(--surface-subtle);color:var(--text-muted)}
.sc-prep{background:color-mix(in srgb,#0aa2c0 16%,var(--card-bg));color:#0a7d94;border-color:#0aa2c055}.sc-req{background:color-mix(in srgb,#eda100 18%,var(--card-bg));color:#9a6700;border-color:#eda10066}
.sc-role{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid;white-space:nowrap}
.sc-role-box{color:#0d6efd;background:color-mix(in srgb,#0d6efd 10%,var(--card-bg));border-color:#0d6efd55}.sc-role-bag{color:#198754;background:color-mix(in srgb,#198754 10%,var(--card-bg));border-color:#19875455}
.sc-role-master_carton{color:#0f7b8c;background:color-mix(in srgb,#0f7b8c 10%,var(--card-bg));border-color:#0f7b8c55}.sc-role-unit_packaging{color:#6f42c1;background:color-mix(in srgb,#6f42c1 10%,var(--card-bg));border-color:#6f42c155}
.sc-role-label{color:#b06a00;background:color-mix(in srgb,#eda100 14%,var(--card-bg));border-color:#eda10066}
:root[data-theme="dark"] .sc-role,:root[data-theme="midnight"] .sc-role,:root[data-theme="dark"] .sc-prep,:root[data-theme="midnight"] .sc-prep{filter:brightness(1.5)}
.sc-cell{display:inline-flex;align-items:center;gap:4px}
.sc-in{width:76px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text);font:inherit}
.sc-in.is-low,.sc-qty-ro.is-low,.sc-qty-demo{border-color:#d03b3b;color:#d03b3b;font-weight:700}
.sc-qty-demo{display:inline-block;border:1px solid #d03b3b;border-radius:5px;padding:0 8px}
.sc-bell,.sc-auto{border:1px solid var(--border);background:var(--card-bg);border-radius:999px;padding:2px 8px;font-size:13.5px;line-height:1.2;cursor:pointer;opacity:.8;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}
.sc-bell:hover:not(:disabled),.sc-auto:hover:not(:disabled){opacity:1;transform:translateY(-1px);border-color:var(--primary);box-shadow:0 2px 5px rgba(0,0,0,0.06)}
.sc-bell.is-on{border-color:#198754;background:color-mix(in srgb,#198754 12%,var(--card-bg));opacity:1}
.sc-auto{border-color:#d03b3b;opacity:1}.sc-auto.is-on{border-color:#198754;background:color-mix(in srgb,#198754 12%,var(--card-bg))}
.sc-bell:disabled,.sc-auto:disabled{cursor:default;opacity:.4;transform:none}
.sc-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px 18px;padding:8px 0 4px;color:var(--text-muted);font-size:12.5px}
.sc-legend>span{display:flex;gap:8px;align-items:center}
.sc-dims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}
.sc-icons{border:1px solid var(--border);border-radius:10px;padding:8px;max-height:260px;overflow:auto;background:var(--surface-subtle)}
.sc-icon-group{margin-bottom:6px}.sc-icon-group b{display:block;font-size:11.5px;color:var(--text-muted);margin-bottom:4px}
.sc-icon-group>div{display:flex;flex-wrap:wrap;gap:4px}.sc-icon-group button{min-width:40px;height:36px;font-size:18px;border:1px solid var(--border);border-radius:7px;background:var(--card-bg);cursor:pointer}
.sc-icon-group button:hover{border-color:var(--primary)}
.sc-dl dt{font-weight:600}

/* Supply Catalog (sc-page) Pill Buttons & Action Controls */
.sc-action-col{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:180px}
.sc-table .cm-acts{display:flex;flex-wrap:nowrap;gap:4px;align-items:center}
.sc-action-col .sc-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:0}
.sc-name small{max-width:280px}
.sc-name small[title],.sc-type-text[title]{cursor:help}
.sc-upc-copy{all:unset;cursor:pointer;display:inline-flex;align-items:center;padding:1px;border-radius:6px;transition:all .15s ease}
.sc-upc-copy code{font-family:var(--font-mono,monospace);font-size:12px;color:var(--text);background:var(--surface-subtle);padding:2px 7px;border-radius:6px;border:1px solid var(--border);transition:all .15s ease;display:inline-block;white-space:nowrap}
.sc-upc-copy:hover code{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card-bg));color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,0.06)}
.sc-upc-copy:active code{transform:translateY(0)}
.sc-upc-copy.is-copied code{border-color:#198754;background:color-mix(in srgb,#198754 14%,var(--card-bg));color:#198754;font-weight:700}
.sc-badge-used{cursor:help;transition:all .15s ease}
.sc-badge-used:hover{border-color:var(--primary);color:var(--primary);background:var(--surface-subtle);transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,0.06)}

/* Row Action Buttons (Details 📋, Prep Listed, Print UPC 🖨️, Edit ✏️, Delete 🗑️) */
.sc-table .cm-acts .s2d-act,
.sc-table .cm-acts a.s2d-act,
.sc-table .cm-acts .sc-badge,
.sc-table .cm-acts .sc-pill-act{display:inline-flex;align-items:center;justify-content:center;gap:3px;height:25px;line-height:1;padding:2px 7px;min-width:26px;border-radius:999px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,0.03);transition:all .15s ease}
.sc-table .cm-acts .s2d-act:hover,
.sc-table .cm-acts a.s2d-act:hover,
.sc-table .cm-acts .sc-pill-act:hover{background:var(--surface-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,0.08)}
.sc-table .cm-acts .s2d-act:active,
.sc-table .cm-acts a.s2d-act:active,
.sc-table .cm-acts .sc-badge:active,
.sc-table .cm-acts .sc-pill-act:active{transform:translateY(0)}
.sc-table .cm-acts .s2d-act:focus-visible,
.sc-table .cm-acts a.s2d-act:focus-visible,
.sc-table .cm-acts .sc-badge:focus-visible,
.sc-table .cm-acts .sc-pill-act:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* Prep Listed Toggle Pill Button (Text pill badge) */
.sc-table .cm-acts .sc-badge{padding:2px 10px;min-width:auto;font-size:11.5px;line-height:1.35}
.sc-table .cm-acts .sc-prep{background:color-mix(in srgb,#0aa2c0 16%,var(--card-bg));color:#0a7d94;border-color:#0aa2c055}
.sc-table .cm-acts .sc-prep:hover{background:color-mix(in srgb,#0aa2c0 26%,var(--card-bg));border-color:#0aa2c0;color:#065b6c;transform:translateY(-1px);box-shadow:0 2px 6px rgba(10,162,192,0.18)}
.sc-table .cm-acts .sc-off{background:var(--surface-subtle);color:var(--text-muted);border-color:var(--border)}
.sc-table .cm-acts .sc-off:hover{background:var(--card-bg);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-table .cm-acts .sc-prep{background:rgba(14,165,233,0.16);border-color:rgba(56,189,248,0.4);color:#38bdf8}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-table .cm-acts .sc-prep:hover{background:rgba(14,165,233,0.28);border-color:#38bdf8;color:#7dd3fc}

/* Delete Action Pill Button */
.sc-table .cm-acts .s2d-act.cr-danger,
.sc-table .cm-acts .sc-pill-act.cr-danger{color:#dc2626;border-color:#fca5a5;background:color-mix(in srgb,#ef4444 8%,var(--card-bg));padding:2px 7px}
.sc-table .cm-acts .s2d-act.cr-danger:hover,
.sc-table .cm-acts .sc-pill-act.cr-danger:hover{background:#fee2e2;border-color:#ef4444;color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 6px rgba(239,68,68,0.15)}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-table .cm-acts .s2d-act.cr-danger,
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-table .cm-acts .sc-pill-act.cr-danger{background:rgba(239,68,68,0.12);border-color:rgba(239,68,68,0.35);color:#f87171}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-table .cm-acts .s2d-act.cr-danger:hover,
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-table .cm-acts .sc-pill-act.cr-danger:hover{background:rgba(239,68,68,0.25);border-color:#ef4444;color:#fca5a5}

/* Header Toolbar Action Buttons (Pill Style) */
.sc-page .su-toolbar .s2d-act,
.sc-page .su-toolbar .s2d-btn-ok{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 16px;border-radius:999px;font:inherit;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.04)}
.sc-page .su-toolbar .s2d-act{border:1px solid var(--border);background:var(--card-bg);color:var(--text)}
.sc-page .su-toolbar .s2d-act:hover{background:var(--surface-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,0.08)}
.sc-page .su-toolbar .s2d-btn-ok{border:0;background:var(--primary,#0284c7);color:#fff;font-weight:700;box-shadow:0 2px 6px rgba(2,132,199,0.3)}
.sc-page .su-toolbar .s2d-btn-ok:hover:not(:disabled){background:color-mix(in srgb,var(--primary,#0284c7) 85%,#000);transform:translateY(-1px);box-shadow:0 4px 12px rgba(2,132,199,0.4)}
.sc-page .su-toolbar .s2d-btn-ok:active,.sc-page .su-toolbar .s2d-act:active{transform:translateY(0)}
.sc-page .su-toolbar .s2d-btn-ok:focus-visible,.sc-page .su-toolbar .s2d-act:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* Filter Bar Pill Buttons (Low Stock, Prep Listed, Reset) */
.sc-page .kf-bar .s2d-clear,
.sc-page .kf-bar .sc-pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.sc-page .kf-bar .s2d-clear:hover,.sc-page .kf-bar .sc-pill-btn:hover{background:var(--surface-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,0.06)}
.sc-page .kf-bar .s2d-clear:active,.sc-page .kf-bar .sc-pill-btn:active{transform:translateY(0)}
.sc-page .kf-bar .s2d-clear:focus-visible,.sc-page .kf-bar .sc-pill-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* Prep Listed Filter Pill (Active State - matching .sc-prep badge) */
.sc-page #scPrep[aria-pressed="true"]{background:color-mix(in srgb,#0aa2c0 20%,var(--card-bg));border-color:#0aa2c0;color:#08677a;font-weight:700;box-shadow:0 2px 8px rgba(10,162,192,0.22)}
.sc-page #scPrep[aria-pressed="true"]:hover{background:color-mix(in srgb,#0aa2c0 28%,var(--card-bg));border-color:#08677a}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-page #scPrep[aria-pressed="true"]{background:rgba(14,165,233,0.22);border-color:#38bdf8;color:#7dd3fc}

/* Low Stock Filter Pill (Active State - alert badge) */
.sc-page #scLow[aria-pressed="true"]{background:color-mix(in srgb,#ef4444 18%,var(--card-bg));border-color:#ef4444;color:#dc2626;font-weight:700;box-shadow:0 2px 8px rgba(239,68,68,0.22)}
.sc-page #scLow[aria-pressed="true"]:hover{background:color-mix(in srgb,#ef4444 26%,var(--card-bg));border-color:#b91c1c}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-page #scLow[aria-pressed="true"]{background:rgba(239,68,68,0.22);border-color:#f87171;color:#fca5a5}

/* Reset Filter Pill (Hover State) */
.sc-page #scReset:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}
:root[data-theme]:not([data-theme="light"]):not([data-theme="bailey"]) .sc-page #scReset:hover{background:#3f1219;border-color:#991b1b;color:#f87171}

/* Pagination Controls (Pill buttons) */
.sc-page .su-pager button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.sc-page .su-pager button:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,0.08)}
.sc-page .su-pager button:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important;border-color:var(--border);background:var(--card-bg);color:var(--text-muted)}

/* Inline Cell Controls */
.sc-table .sc-in{width:58px;padding:3px 5px}.sc-table .sc-cell{gap:4px}.sc-table .sc-bell,.sc-table .sc-auto{padding:2px 7px}
.sc-page .cm-qty-ok{border:0;background:#198754;color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease}
.sc-page .cm-qty-ok:hover{background:#157347;transform:translateY(-1px)}

/* Modal Dialog Buttons (Pill styling) */
.sc-page .dialog-form-actions button{border-radius:999px;padding:7px 20px;font-weight:700;font-size:12.5px;transition:all .15s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.sc-page .dialog-form-actions button:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,0.12)}
.sc-page .dialog-form-actions button:active{transform:translateY(0)}
.sc-page .cm-inline .s2d-act{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.03)}
.sc-page .cm-inline .s2d-act:hover{background:var(--surface-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,0.06)}

.sc-table .sc-type{text-align:left;white-space:nowrap;font-size:12.5px}

/* Restored 2026-10-07: avatar frames + Settings favorites pager (dropped by the dock/System Health CSS rewrite). */
/* Fixed square avatar frames: independent of uploaded image proportions. */
.settings-card .settings-avatar.user-avatar-circle{display:grid;width:64px;height:64px;min-width:64px;min-height:64px;aspect-ratio:1;overflow:hidden;border-radius:50%;background:var(--surface-subtle);color:var(--text);flex:none}
.settings-card .settings-avatar.user-avatar-circle>img{display:block;width:64px;height:64px;max-width:none;max-height:none;object-fit:cover;object-position:center;border-radius:50%}
.account-menu .account-menu-profile{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--border)}
.account-menu .account-menu-profile-info{flex:1;min-width:0}
.account-menu .account-menu-profile-info .signed-in{border:0;margin:0;padding-bottom:0}
.account-menu .account-menu-avatar.user-avatar-circle{display:grid;width:56px;height:56px;min-width:56px;min-height:56px;aspect-ratio:1;overflow:hidden;flex:none;border-radius:50%;font-size:24px;background:var(--surface-subtle);color:var(--text)}
.account-menu .account-menu-avatar.user-avatar-circle>img{display:block;width:56px;height:56px;max-width:none;max-height:none;object-fit:cover;object-position:center;border-radius:50%}
.account-toggle .user-avatar-circle{aspect-ratio:1;overflow:hidden}
.account-toggle .user-avatar-circle>img{display:block;width:24px;height:24px;max-width:none;max-height:none;object-fit:cover;object-position:center;border-radius:50%}

.settings-options .favorite-setting[hidden],.settings-favorites-pager[hidden]{display:none}
.settings-favorites-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 20px}
.settings-favorites-pager span{color:var(--text-muted);font-size:12px}
.settings-favorites-pager button:disabled,.favorite-setting button:disabled{opacity:.45;cursor:default}

/* Quick Links / Quick Operations menus open downward over the sticky .admin-topbar (z-index 1030). The toolbar that
   holds them must sit on a higher layer, at every width: ≤1400px it is in normal flow (position:relative, not static,
   so its z-index still applies). Fixed 2026-10-08; reproduced with elementFromPoint at 1200–1700px. */
.master-toolbar{z-index:1040}
@media(max-width:1400px){.master-toolbar{position:relative}}
