
    /* ===================================================================== */
    /* 2026 REFRESH — screen only. Spec sheets, cards and printing are left  */
    /* exactly as they were (nothing here applies to @media print).          */
    /* ===================================================================== */
    @media screen {
      :root {
        --bg-app: #f7f6f3;
        --bg-panel: #ffffff;
        --bg-sub: #fafaf8;
        --bg-input: #ffffff;
        --text-main: #1c1917;
        --text-muted: #6b6560;
        --border-main: #e7e5e0;
        --ae-soft: #f2efe9;
        --ae-primary: #1c1917;
        --ae-primary-hover: #3a3532;
        --ae-on-primary: #ffffff;
        --ae-accent: #d97706;
        --ae-accent-text: #b45309;
        --ae-ring: rgba(217, 119, 6, 0.35);
      }
      html.dark {
        --bg-app: #121110;
        --bg-panel: #1a1917;
        --bg-sub: #201e1c;
        --bg-input: #161513;
        --text-main: #f5f4f1;
        --text-muted: #a8a29e;
        --border-main: #2e2b28;
        --ae-soft: #2a2724;
        --ae-primary: #f5f4f1;
        --ae-primary-hover: #dcd8d2;
        --ae-on-primary: #1c1917;
        --ae-accent: #f59e0b;
        --ae-accent-text: #fbbf24;
        --ae-ring: rgba(245, 158, 11, 0.35);
      }
      body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

      /* Headings: Fraunces instead of Cinzel (sheets & concept branding keep theirs) */
      .font-cinzel:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *, [class*="brand-card"] *, [class*="brand-card"]) {
        font-family: 'Source Serif 4', 'Fraunces', Georgia, serif !important;
        letter-spacing: -0.01em !important;
      }
      h2.font-cinzel:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *),
      h3.font-cinzel.text-amber-600:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *) {
        color: var(--text-main) !important;
        font-weight: 600 !important;
      }
      h2.font-cinzel.text-xl:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *) { font-size: 1.6rem !important; line-height: 1.2 !important; }

      /* Editor section titles ("1. Specifications & Actions") become quiet labels */
      span.font-cinzel.text-xs.tracking-wide:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *) {
        font-family: 'Inter', system-ui, sans-serif !important;
        font-size: 11.5px !important;
        font-weight: 600 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase;
        color: var(--text-muted) !important;
      }

      /* Header */
      body > header.theme-panel { box-shadow: none !important; border-color: var(--border-main) !important; }
      body > header .bg-gradient-to-br.from-amber-500 {
        background-image: none !important;
        background-color: var(--ae-primary) !important;
        color: var(--ae-on-primary) !important;
        font-family: 'Source Serif 4', 'Fraunces', Georgia, serif !important;
        box-shadow: none !important;
        border-radius: 9px !important;
      }
      body > header h1.font-cinzel { letter-spacing: 0.02em !important; font-weight: 600 !important; }

      /* Main navigation: quiet tabs, soft pill for the active one */
      body > header [id^="wsBtn"] { border-radius: 8px !important; font-size: 12.5px !important; padding: 6px 9px !important; color: var(--text-muted); }
      body > header .md\:max-w-3xl { max-width: 54rem !important; }
      body > header [id^="wsBtn"]:hover { color: var(--text-main) !important; background-color: var(--ae-soft); }
      body > header [id^="wsBtn"].bg-amber-500 {
        background-color: var(--ae-soft) !important;
        color: var(--text-main) !important;
        box-shadow: none !important;
        font-weight: 600 !important;
      }
      body > header .theme-sub.border.rounded-lg.overflow-x-auto { background: transparent !important; border-color: transparent !important; }

      /* Primary buttons: charcoal instead of amber (selected toggles follow) */
      :is(button, a, label).bg-amber-500:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *, body > header *) {
        background-color: var(--ae-primary) !important;
        color: var(--ae-on-primary) !important;
        border-color: var(--ae-primary) !important;
        box-shadow: none !important;
      }
      :is(button, a, label).bg-amber-500:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *, body > header *):hover {
        background-color: var(--ae-primary-hover) !important;
      }
      :is(button, a, label).bg-amber-500:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *) :is(.text-black, .text-stone-900) { color: inherit !important; }

      button.bg-gradient-to-r.from-amber-500:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *) {
        background-image: none !important;
        background-color: var(--ae-primary) !important;
        color: var(--ae-on-primary) !important;
        box-shadow: none !important;
      }
      button.bg-gradient-to-r.from-amber-500:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *):hover { background-color: var(--ae-primary-hover) !important; }

      /* Softer cards and controls */
      .theme-panel:not(.sheet-85x11, .card-5x7, .mobile-phone-card, .sheet-85x11 *, .card-5x7 *, .mobile-phone-card *).shadow-sm,
      .theme-panel:not(.sheet-85x11, .card-5x7, .mobile-phone-card, .sheet-85x11 *, .card-5x7 *, .mobile-phone-card *).shadow { box-shadow: none !important; }
      .theme-panel.rounded-xl:not(.sheet-85x11, .card-5x7, .mobile-phone-card) { border-radius: 14px; }
      :is(input, select, textarea).theme-input:focus,
      :is(input, select, textarea).theme-sub:focus {
        outline: none !important;
        border-color: var(--ae-accent) !important;
        box-shadow: 0 0 0 3px var(--ae-ring) !important;
      }
      button:focus-visible, a:focus-visible { outline: 2px solid var(--ae-accent); outline-offset: 2px; }

      /* Scrollbars */
      .custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(120, 113, 108, 0.35); }
    }

    /* ---- Refresh components (used by new markup; screen and print-safe) ---- */
    .ae-btn-primary, .ae-btn-secondary {
      display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 16px;
      border-radius: 10px; font-size: 13.5px; font-weight: 600; white-space: nowrap; cursor: pointer;
      transition: background-color .15s, border-color .15s;
    }
    .ae-btn-primary { background: var(--ae-primary, #1c1917); color: var(--ae-on-primary, #fff); border: 0; }
    .ae-btn-primary:hover { background: var(--ae-primary-hover, #3a3532); }
    .ae-btn-secondary { background: var(--bg-panel); color: var(--text-main); border: 1px solid var(--border-main); height: 38px; padding: 0 13px; font-size: 13px; }
    .ae-btn-secondary:hover { border-color: var(--text-muted); }
    .ae-btn-secondary.hidden, .ae-btn-primary.hidden { display: none !important; }

    .ae-side-label { font-size: 11.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted); padding: 0 12px 8px; }
    .ae-side-list { display: flex; flex-direction: column; gap: 2px; }
    .ae-side-item {
      display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; border-radius: 10px;
      font-size: 14px; font-weight: 500; color: var(--text-main); text-align: left; cursor: pointer;
      border: 1px solid transparent; background: transparent; transition: background-color .12s;
    }
    .ae-side-item:hover { background: var(--ae-soft, #f2efe9); }
    .ae-side-item.is-active { background: var(--bg-panel); border-color: var(--border-main); font-weight: 600; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
    .ae-side-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .ae-side-count { font-size: 12px; color: var(--text-muted); font-variant-numeric: tabular-nums; }
    .ae-side-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
    .ae-side-add { display: flex; align-items: center; gap: 8px; padding: 8px 12px; font-size: 13px; font-weight: 500; color: var(--text-muted); border-radius: 10px; cursor: pointer; white-space: nowrap; }
    .ae-side-add:hover { color: var(--text-main); background: var(--ae-soft, #f2efe9); }
    @media (max-width: 767px) {
      .ae-side-list { flex-direction: row; overflow-x: auto; gap: 6px; padding-bottom: 2px; }
      .ae-side-item, .ae-side-add { width: auto; flex-shrink: 0; border-color: var(--border-main); background: var(--bg-panel); padding: 8px 12px; }
      .ae-side-item.is-active { background: var(--ae-primary, #1c1917); color: var(--ae-on-primary, #fff); border-color: transparent; }
      .ae-side-item.is-active .ae-side-count { color: inherit; opacity: .7; }
      .ae-side-label { padding-left: 2px; }
    }

    .ae-dir-select { height: 44px; padding: 0 12px; border-radius: 12px; font-size: 13.5px; }
    .ae-open-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-radius: 14px; }
    .ae-jumpbar { color: var(--text-main); }

    .ae-card { border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; position: relative; transition: border-color .15s, box-shadow .15s; }
    .ae-card:hover { border-color: #d6d1c8; box-shadow: 0 6px 20px rgba(28,25,23,.07); }
    html.dark .ae-card:hover { border-color: #4a4540; box-shadow: none; }
    .ae-card.is-checked { border-color: var(--ae-accent, #d97706) !important; box-shadow: 0 0 0 3px var(--ae-ring, rgba(217,119,6,.3)); }
    .ae-card-photo { height: 172px; position: relative; overflow: hidden; cursor: pointer; background: #e9e4dc; }
    html.dark .ae-card-photo { background: #262320; }
    .ae-card-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
    .ae-card:hover .ae-card-photo img { transform: scale(1.03); }
    .ae-card-check { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; border-radius: 8px; background: rgba(255,255,255,.92); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
    .ae-card-text .ae-card-check { position: static; background: var(--bg-sub); box-shadow: none; border: 1px solid var(--border-main); flex-shrink: 0; }
    .ae-card-check input { width: 16px; height: 16px; cursor: pointer; accent-color: #1c1917; }
    .ae-card-body { padding: 14px 16px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; cursor: pointer; }
    .ae-card-kicker { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ae-accent-text, #b45309); }
    .ae-card-title { font-size: 16px; font-weight: 600; line-height: 1.3; margin-top: 2px; color: var(--text-main); }
    .ae-card-meta { font-size: 13px; color: var(--text-muted); }
    .ae-chip-allergen { font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 999px; background: #fdecea; color: #9f2d20; }
    html.dark .ae-chip-allergen { background: rgba(239,68,68,.15); color: #fca5a5; }
    .ae-chip-more { font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 999px; background: var(--ae-soft, #f2efe9); color: var(--text-muted); }
    .ae-chip-ok { font-size: 11px; font-weight: 500; color: #2f6b45; }
    html.dark .ae-chip-ok { color: #6ee7a0; }
    .ae-card-foot { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; border-top: 1px solid var(--border-main); font-size: 12.5px; }
    .ae-card-cost { font-weight: 600; font-variant-numeric: tabular-nums; }
    .ae-link { color: var(--text-muted); font-weight: 500; cursor: pointer; }
    .ae-link:hover { color: var(--text-main); text-decoration: underline; }
    .ae-link-danger:hover { color: #b91c1c; }
    .ae-letter { border-bottom: 1px solid var(--border-main); }
    .ae-accent-text { color: var(--ae-accent-text, #b45309); }
    .ae-hairline { border-color: var(--border-main) !important; }
    .ae-tile { display: flex; flex-direction: column; gap: 14px; padding: 18px; border-radius: 14px; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
    .ae-tile:hover { border-color: #d6d1c8; box-shadow: 0 6px 18px rgba(28,25,23,.06); }
    html.dark .ae-tile:hover { border-color: #4a4540; box-shadow: none; }
    .ae-tile-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
    .ae-tone-amber { background: #fef3e2; color: #b45309; }
    .ae-tone-green { background: #eaf2ec; color: #2f6b45; }
    .ae-tone-blue { background: #e9eff7; color: #2d5a8c; }
    .ae-tone-violet { background: #f1ecf8; color: #6d28d9; }
    html.dark .ae-tone-amber { background: rgba(245,158,11,.15); color: #fbbf24; }
    html.dark .ae-tone-green { background: rgba(34,197,94,.13); color: #86efac; }
    html.dark .ae-tone-blue { background: rgba(59,130,246,.15); color: #93c5fd; }
    html.dark .ae-tone-violet { background: rgba(139,92,246,.16); color: #c4b5fd; }
    .ae-recent-row { display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 20px; border-bottom: 1px solid var(--border-main); cursor: pointer; transition: background-color .12s; }
    .ae-recent-row:last-child { border-bottom: 0; }
    .ae-recent-row:hover { background: var(--bg-sub); }
    .ae-recent-thumb { width: 44px; height: 44px; border-radius: 10px; overflow: hidden; flex-shrink: 0; background: var(--ae-soft, #f2efe9); display: flex; align-items: center; justify-content: center; }
    .ae-pill { align-items: center; font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--ae-soft, #f2efe9); color: var(--text-muted); white-space: nowrap; }
    .ae-draft-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 10px 12px; border-radius: 10px; background: #f7f5fb; font-size: 14px; font-weight: 500; cursor: pointer; text-align: left; }
    .ae-draft-row:hover { background: #efeaf7; }
    html.dark .ae-draft-row { background: rgba(139,92,246,.1); }
    /* Editor ingredient rows */
    .ae-ing-row { padding: 10px 2px; border-bottom: 1px solid var(--border-main); }
    .ae-ing-row:last-child { border-bottom: 0; }
    .ae-ing-gap { padding: 6px 2px; }
    .ae-gap-line { height: 1px; background: var(--border-main); }
    .ae-drag { color: #a8a29e; font-size: 13px; letter-spacing: -2px; width: 16px; text-align: center; }
    .ae-drag:hover { color: var(--text-main); }
    .ae-ing-name, .ae-ing-desc { height: 36px; }
    .ae-ing-small { height: 32px; }
    .ae-ing-linked { background: #fef8ee !important; border-color: #f3d9b5 !important; color: #92400e !important; font-weight: 600 !important; }
    html.dark .ae-ing-linked { background: rgba(245,158,11,.1) !important; border-color: rgba(245,158,11,.35) !important; color: #fcd34d !important; }
    .ae-ing-x { width: 28px; height: 28px; border-radius: 7px; color: #a8a29e; font-size: 12px; flex-shrink: 0; cursor: pointer; }
    .ae-ing-x:hover { color: #b91c1c; background: rgba(185,28,28,.07); }
    .ae-ing-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
    .ae-ing-badge-cost { background: #eaf2ec; color: #2f6b45; }
    .ae-ing-badge-rec { background: #fef3e2; color: #92400e; }
    .ae-ing-badge-none { background: var(--ae-soft, #f2efe9); color: var(--text-muted); }
    html.dark .ae-ing-badge-cost { background: rgba(34,197,94,.13); color: #86efac; }
    html.dark .ae-ing-badge-rec { background: rgba(245,158,11,.14); color: #fcd34d; }
    #ingredientInputsContainer { gap: 0 !important; }
    #ingredientInputsContainer > * + * { margin-top: 0 !important; }

    /* Spec toolbar */
    @media screen {
      #studioSubNavBar { box-shadow: none !important; padding-top: 9px !important; padding-bottom: 9px !important; border-color: var(--border-main) !important; }
      #studioSubNavBar button:not(.hidden) { min-height: 34px; border-radius: 9px !important; font-size: 12.5px !important; }
      #studioSubNavBar button[onclick="returnToCurrentDirectory()"],
      #studioSubNavBar button[onclick="switchWorkspace('nutrition')"],
      #studioSubNavBar #manualSaveCloudBtn {
        background: var(--bg-panel) !important; color: var(--text-main) !important; border: 1px solid var(--border-main) !important; font-weight: 600 !important;
      }
      #studioSubNavBar #manualSaveCloudBtn { color: #2f6b45 !important; }
      html.dark #studioSubNavBar #manualSaveCloudBtn { color: #86efac !important; }
      #studioSubNavBar [id^="viewBtn"] { border-radius: 7px !important; }
      #studioSubNavBar [id^="viewBtn"].bg-amber-500 {
        background: var(--bg-panel) !important; color: var(--text-main) !important; border-color: transparent !important;
        box-shadow: 0 1px 2px rgba(0,0,0,.1) !important; font-weight: 600 !important;
      }
      #studioSubNavBar .shadow-inner { box-shadow: none !important; background: var(--ae-soft, #efece6) !important; border-color: transparent !important; padding: 3px !important; }
    }
    .ae-step-num { width: 22px; height: 22px; margin-top: 4px; border-radius: 999px; background: var(--ae-soft, #f2efe9); color: var(--text-main); font-size: 11.5px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
    .ae-mini-btn { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 8px; border: 1px solid var(--border-main); background: var(--bg-panel); color: var(--text-main); font-size: 11.5px; font-weight: 600; }
    .ae-mini-btn:hover { border-color: var(--text-muted); }

    /* Company logo (white-on-black artwork used as a mask, so it takes the text colour) */
    .ae-logo {
      display: inline-block; aspect-ratio: 423 / 101; height: 34px; background-color: var(--ae-brand-ink, #2179bf);
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 12 423 101'%3E%3Cpath d='M247.96,57c.93,2.32,2.43,4.24,4.47,5.69,2.03,1.45,4.46,2.15,7.21,2.06,1.96-.1,3.76-.59,5.32-1.46,1.57-.87,2.95-2.04,4.08-3.47l.27-.34,4.14,5.01h5.94v-.06l-2.23-1.32-5.48-6.58.09-.2c.59-1.32,1.03-2.73,1.3-4.19l.04-.2.09-.03,6.2-2.14v-.5l-6.86-.09c-.11,2.25-.49,4.33-1.12,6.19l-.2.59-14.41-17.24c-1.41-1.8-1.92-3.53-1.51-5.17.4-1.61,1.33-2.89,2.76-3.79,1.43-.9,2.98-1.2,4.63-.9,1.66.31,3.04,1.48,4.09,3.49.42.77.89,1.17,1.38,1.18h.05c.46,0,.77-.19.98-.59.2-.41.06-.93-.42-1.56-1.1-1.25-2.35-2.05-3.7-2.38-1.21-.29-2.53-.44-3.93-.44-.2,0-.4,0-.61,0-2.21.07-4.17.66-5.83,1.77-1.64,1.1-2.69,2.5-3.12,4.17-.43,1.64.06,3.37,1.44,5.14l1.23,1.51-.31.22c-.24.17-.49.35-.75.55-.27.2-.51.38-.71.54-.21.17-.35.27-.4.31-2.46,2.06-4.01,4.39-4.6,6.91-.58,2.53-.41,4.99.52,7.31ZM252.42,43.46h.02c.07-.07.2-.17.41-.34.22-.18.48-.38.77-.6.29-.22.54-.42.78-.6l.28-.22.22.26,14.06,17.1-.16.22c-1.07,1.46-2.38,2.5-3.89,3.12-.98.36-1.96.54-2.92.54-1.34,0-2.67-.34-3.96-1.02-2.2-1.15-4.06-2.86-5.55-5.09-1.49-2.23-2.33-4.59-2.5-7.01-.18-2.47.65-4.61,2.45-6.35Z'/%3E%3Cpath d='M13.94,45.86c.68-.48,1.54-.72,2.56-.72h12.97c1.04,0,1.91.24,2.58.72.65.46,1.17,1.02,1.56,1.66.38.61.67,1.19.87,1.72l3.82,10.73c.2.53.35,1.13.46,1.77.11.7,0,1.34-.34,1.89-.32.53-.97.83-1.94.88v.24h13.32v-.24c-.95-.05-1.75-.31-2.37-.79-.67-.51-1.2-1.11-1.57-1.77-.37-.64-.64-1.24-.82-1.77L28.21,12.72h-8.85c-2.38,0-4.84.32-7.3.96-2.43.63-4.49,1.8-6.13,3.46-.75.92-.98,1.73-.67,2.37.31.66.88.95,1.63.96.79-.01,1.55-.61,2.24-1.77.73-1.26,1.86-2.34,3.35-3.2,1.47-.85,2.99-1.41,4.52-1.67,1.56-.27,2.83-.14,3.76.39,1.02.57,1.28,1.68.79,3.28L6.51,60.19c-.18.52-.45,1.12-.81,1.76-.38.66-.91,1.26-1.57,1.77-.62.48-1.42.75-2.37.79v.24h7.81v-.24c-.97-.05-1.62-.35-1.94-.88-.33-.55-.45-1.19-.34-1.89.1-.64.25-1.24.46-1.77l3.78-10.72c.18-.53.46-1.11.84-1.73.39-.64.92-1.19,1.58-1.66ZM14.83,39.81l8.13-23.13,8.17,23.13c.2.53.33,1.12.38,1.73.05.66-.09,1.25-.44,1.75-.37.54-1.08.8-2.16.8h-11.83c-1.1,0-1.82-.26-2.19-.8-.35-.5-.49-1.09-.42-1.76.06-.61.19-1.19.37-1.72Z'/%3E%3Cpath d='M79.23,61.49l.45-.37.08.57c.11.83.48,1.55,1.1,2.14.61.59,1.69.88,3.21.88h5.37v-.24c-1.03-.05-1.8-.37-2.28-.95-.5-.61-.81-1.3-.92-2.05-.1-.72-.14-1.32-.11-1.81v-25.44c0-.78-.09-1.57-.27-2.33-.17-.72-.56-1.34-1.18-1.85-.61-.5-1.64-.75-3.05-.75h-5.34v.28c1.03.05,1.8.37,2.28.95.5.61.81,1.29.92,2.03.1.7.14,1.31.11,1.79v19.82c0,2.87-.86,5.12-2.55,6.69-1.68,1.55-3.94,2.41-6.72,2.56-2.41.18-4.55-.5-6.34-2.01s-2.81-4.11-3.03-7.74v-19.46c0-.78-.09-1.56-.27-2.33-.17-.73-.56-1.33-1.19-1.84-.62-.5-1.64-.75-3.03-.75h-5.37v.28c1.06.05,1.83.37,2.3.96.49.61.79,1.29.89,2.03.1.7.14,1.3.11,1.78v18.8c0,2.32.61,4.32,1.81,5.94,1.21,1.64,2.79,2.94,4.7,3.87,1.91.93,4.02,1.51,6.26,1.71,2.24.2,4.45.04,6.56-.49,2.1-.53,3.95-1.43,5.5-2.69Z'/%3E%3Cpath d='M112.38,63.91c-1.77,0-3.1-.27-4.04-.79-1.01-.56-1.69-1.29-2.02-2.17-.32-.84-.48-1.64-.48-2.39v-28.58h6.54v-.75h-6.54v-4.9c-1.05,1.51-2.36,2.67-3.92,3.47-1.77.9-3.76,1.38-5.9,1.43v.28c1.24.05,2.07.36,2.56.96.5.62.75,1.53.75,2.7v25.43c-.05,2.82,1.09,4.59,3.48,5.45,2.39.85,5.61.95,9.58.31v-.43Z'/%3E%3Cpath d='M141.56,30.82c1.82.41,3.38,1.4,4.66,2.94,1.27,1.54,2.01,3.77,2.19,6.62v19.71c.03.5-.03,1.1-.17,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.2.78-2.15.83v.24h13.17v-.24c-.96-.05-1.68-.33-2.15-.83-.51-.53-.84-1.15-.98-1.85-.14-.66-.2-1.26-.17-1.77v-19.16c-.1-3.02-1.08-5.47-2.93-7.26-1.87-1.81-4.21-3.06-6.96-3.72-2.76-.66-5.53-.77-8.23-.33-2.68.44-4.89,1.4-6.55,2.85l-.53.47v-15.48c0-.75-.09-1.53-.27-2.32-.17-.74-.55-1.35-1.18-1.86-.61-.5-1.63-.75-3.01-.75h-5.37v.28c1.03.05,1.8.37,2.28.95.5.61.81,1.29.92,2.03.1.7.14,1.31.11,1.79v42.53c.03.5-.03,1.09-.17,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.2.78-2.15.83v.24h13.13v-.24c-.93-.04-1.61-.25-2.09-.66-.52-.43-.86-.96-1.01-1.58-.14-.57-.21-1.13-.21-1.64v-22.38c0-1.77.63-3.31,1.87-4.58,1.22-1.25,2.74-2.15,4.53-2.67,1.78-.52,3.6-.59,5.4-.19Z'/%3E%3Cpath d='M201.51,47.3c0-4.86-1.25-8.8-3.73-11.7-2.48-2.91-5.62-4.87-9.33-5.83-1.84-.47-3.69-.71-5.54-.71s-3.79.25-5.67.75c-3.7.98-6.83,2.96-9.3,5.88-2.46,2.91-3.64,6.79-3.53,11.52.12,4.74,1.43,8.54,3.91,11.29,2.48,2.77,5.57,4.64,9.17,5.56,3.62.92,7.28.92,10.9-.02,3.61-.93,6.69-2.82,9.15-5.6,2.46-2.77,3.79-6.52,3.96-11.15ZM191.09,59.54c-2.34,2.73-5.09,4.12-8.17,4.12h-.09c-3.12-.03-5.91-1.42-8.3-4.15-2.38-2.72-3.64-6.61-3.75-11.58-.11-4.95.66-8.85,2.29-11.58,1.63-2.75,3.71-4.6,6.17-5.52,2.47-.92,4.96-.9,7.43.04,2.46.94,4.52,2.83,6.13,5.61,1.6,2.77,2.38,6.54,2.3,11.21-.32,5.13-1.67,9.11-4.01,11.85Z'/%3E%3Cpath d='M236.9,33.17c.14-.72-.28-1.47-1.27-2.21-1.85-1.2-4.13-1.82-6.75-1.85-2.12,0-3.99.38-5.55,1.13-1.55.74-2.72,1.71-3.47,2.88l-.5.77-.1-.91c-.07-.64-.24-1.25-.5-1.8-.26-.53-.67-.95-1.28-1.29-.61-.34-1.5-.51-2.64-.51h-5.37v.25c1.03.05,1.8.37,2.28.95.5.61.81,1.3.92,2.05.1.72.14,1.33.11,1.81v25.66c.02.54-.03,1.14-.17,1.78-.15.68-.48,1.3-.98,1.83-.47.5-1.2.78-2.15.83v.24h13.13v-.24c-.93-.05-1.64-.33-2.12-.83-.5-.53-.83-1.14-.98-1.82-.14-.64-.21-1.24-.21-1.78v-16.9c-.03-1.55.16-3.35.54-5.35.39-2.03,1.27-3.81,2.61-5.3,1.37-1.51,3.53-2.23,6.37-2.13,1.35.13,2.72,1.1,4.21,2.95.92.96,1.78,1.37,2.54,1.18.76-.19,1.19-.64,1.34-1.37Z'/%3E%3Cpath d='M331.86,19.61h.25v-6.89h-39.11v.25c.95.05,1.68.33,2.15.83.5.53.83,1.15.98,1.83.14.65.2,1.25.17,1.79v42.68c.03.5-.03,1.1-.17,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.2.78-2.15.83v.24h39.11v-6.89h-.25c-.05.81-.24,1.65-.54,2.49-.35.97-.98,1.81-1.85,2.5-.89.69-2.18,1.04-3.83,1.04h-19.14c-1.12,0-1.95-.3-2.48-.88-.5-.55-.83-1.2-.98-1.91-.14-.69-.2-1.31-.17-1.84v-15.56c-.03-.52.03-1.13.17-1.78.14-.68.48-1.29.98-1.83.52-.55,1.36-.83,2.47-.83h11.8c1.65,0,2.94.33,3.83.98.88.65,1.51,1.45,1.86,2.39.3.81.48,1.64.54,2.47h.25v-12.73h-.25c-.05.81-.24,1.63-.54,2.45-.35.95-.98,1.76-1.86,2.41-.88.65-2.17.98-3.83.98h-11.8c-1.12,0-1.95-.28-2.48-.84-.5-.53-.84-1.15-.98-1.85-.14-.66-.2-1.26-.17-1.77v-15.78c-.03-.5.03-1.09.17-1.76.15-.69.48-1.31.98-1.83.52-.54,1.34-.82,2.43-.85h19.19c1.66,0,2.95.35,3.83,1.04.88.68,1.5,1.52,1.85,2.5.3.84.48,1.69.54,2.52Z'/%3E%3Cpath d='M343.25,37.43c-1.72,2.67-2.57,6.07-2.52,10.13.24,4.68,1.9,8.59,4.95,11.61,3.06,3.02,6.77,4.85,11.04,5.44,4.26.58,8.39-.46,12.27-3.09l.42-.28.08.5c.13.81.51,1.51,1.12,2.1.6.58,1.67.87,3.2.87h5.37v-.24c-1.06-.05-1.83-.38-2.3-.98-.49-.62-.79-1.31-.89-2.05-.1-.71-.14-1.3-.12-1.78V17.36c0-.75-.09-1.53-.27-2.32-.17-.74-.55-1.35-1.18-1.86-.61-.5-1.64-.75-3.05-.75h-5.37v.28c1.06.05,1.83.37,2.31.95.5.61.81,1.29.92,2.03.1.72.14,1.31.11,1.79v.17s0,13.4,0,13.4l-.44-.16c-2.9-1.09-5.94-1.64-9.04-1.64-.19,0-.38,0-.58,0-3.29.07-6.39.79-9.22,2.14-2.81,1.34-5.11,3.37-6.83,6.04ZM358.39,30.49c2.72-.45,5.17-.16,7.29.87,2.15,1.05,3.38,2.6,3.67,4.62v18.82c0,1.98-.55,3.67-1.65,5.03-1.09,1.35-2.48,2.34-4.15,2.93-1.12.4-2.29.6-3.5.6-.59,0-1.19-.05-1.8-.14-1.86-.29-3.63-1.08-5.25-2.34-1.63-1.26-2.95-3.1-3.94-5.48-.98-2.36-1.45-5.36-1.4-8.91.22-5.13,1.39-9,3.47-11.52,2.09-2.52,4.53-4.03,7.27-4.48Z'/%3E%3Cpath d='M393.9,17.64c-.9,0-1.65.31-2.29.95-.64.64-.95,1.39-.95,2.29s.31,1.68.95,2.32c.64.64,1.39.95,2.29.95s1.68-.31,2.32-.95c.64-.64.95-1.4.95-2.33s-.31-1.65-.95-2.29c-.64-.64-1.4-.95-2.32-.95Z'/%3E%3Cpath d='M387.36,64.76h13.13v-.24c-.96-.05-1.68-.33-2.15-.83-.5-.53-.84-1.15-.98-1.84-.14-.66-.2-1.25-.17-1.77v-25.81c0-.76-.09-1.54-.27-2.32-.17-.74-.55-1.34-1.17-1.84-.61-.49-1.64-.74-3.05-.74h-5.33v.25c1.03.05,1.8.37,2.28.95.5.61.81,1.3.92,2.05.1.71.14,1.31.11,1.77v.17s0,25.53,0,25.53c0,.51-.07,1.1-.21,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.18.77-2.11.83v.24Z'/%3E%3Cpath d='M423.25,63.91c-1.77,0-3.1-.27-4.04-.79-1.01-.56-1.69-1.29-2.02-2.17-.32-.84-.48-1.64-.48-2.39v-28.58h6.54v-.75h-6.54v-4.9c-1.05,1.51-2.36,2.67-3.92,3.47-1.77.9-3.76,1.38-5.9,1.43v.28c1.23.05,2.07.36,2.56.96.5.62.75,1.53.75,2.7v25.43c-.05,2.81,1.09,4.59,3.48,5.45,2.39.85,5.61.95,9.58.31v-.43Z'/%3E%3Cpath d='M4.98,83.2c0-.46.21-.67.67-.67h2.02c.42,0,.63.21.63.67v12.56h16.6v-12.56c0-.46.21-.67.63-.67h2.02c.46,0,.67.21.67.67v28.15c0,.46-.21.67-.67.67h-2.02c-.42,0-.63-.21-.63-.67v-12.64H8.31v12.64c0,.46-.21.67-.63.67h-2.02c-.46,0-.67-.21-.67-.67v-28.15Z'/%3E%3Cpath d='M64.53,112.57c-4.17,0-7.71-1.52-10.66-4.51-2.95-2.99-4.42-6.62-4.42-10.79s1.47-7.8,4.42-10.79c2.95-2.99,6.49-4.51,10.66-4.51s7.71,1.52,10.66,4.51c2.95,2.99,4.42,6.61,4.42,10.79s-1.47,7.79-4.42,10.79c-2.95,2.99-6.49,4.51-10.66,4.51ZM72.83,105.87c2.28-2.48,3.41-5.35,3.41-8.6s-1.14-6.11-3.41-8.6-5.06-3.75-8.3-3.75-5.98,1.26-8.3,3.75c-2.28,2.49-3.41,5.35-3.41,8.6s1.14,6.11,3.41,8.6c2.32,2.49,5.06,3.75,8.3,3.75s6.03-1.26,8.3-3.75Z'/%3E%3Cpath d='M99.64,106.97c.17-.29.34-.42.51-.42.13,0,.25.04.46.17,2.74,1.9,5.86,2.82,9.35,2.82,1.43,0,2.7-.17,3.79-.46,2.23-.63,4.13-2.44,4.13-5.18,0-3.33-2.65-4.55-8.68-5.39-2.7-.38-4.51-.84-6.66-1.89-2.06-1.14-3.29-3.08-3.29-5.73,0-3.24,2.49-8.81,10.62-8.81,2.02,0,3.79.25,5.35.8,1.56.5,3.2,1.31,5.01,2.4.29.17.38.46.21.93l-.8,1.31c-.17.3-.34.46-.55.46-.13,0-.25-.04-.38-.17-2.74-1.86-5.56-2.78-8.43-2.78-6.41,0-7.8,3.58-7.8,5.77,0,1.1.42,1.98,1.26,2.7,1.69,1.39,3.71,1.77,7.29,2.23,6.28.84,10.07,2.87,10.07,8.05,0,2.4-.93,4.47-2.82,6.2-1.85,1.68-4.51,2.53-7.92,2.53-4.51,0-8.3-1.1-11.38-3.24-.34-.21-.38-.51-.17-.93l.8-1.35Z'/%3E%3Cpath d='M142.34,83.2c0-.55.17-.67.67-.67h9.9c5.18,0,10.37,2.02,10.37,8.81,0,3.16-1.01,5.48-2.99,6.95-1.98,1.48-4.47,2.19-7.37,2.19h-7.25v10.87c0,.5-.13.67-.67.67h-1.98c-.55,0-.67-.17-.67-.67v-28.15ZM145.67,85.4v12.22h7.04c4.89,0,7.33-2.11,7.33-6.28s-2.44-5.94-7.33-5.94h-7.04Z'/%3E%3Cpath d='M184.07,112.03c-.46,0-.68-.21-.68-.67v-28.15c0-.46.21-.67.68-.67h2.02c.42,0,.63.21.63.67v28.15c0,.46-.21.67-.63.67h-2.02Z'/%3E%3Cpath d='M216.98,85.56h-10.07c-.55,0-.68-.17-.68-.68v-1.68c0-.46.21-.67.68-.67h23.51c.51,0,.63.17.63.67v1.68c0,.46-.21.68-.63.68h-10.11v25.79c0,.46-.21.67-.63.67h-2.02c-.55,0-.67-.17-.67-.67v-25.79Z'/%3E%3Cpath d='M257.78,82.4c.25-.38.42-.59.55-.59h.13c.13,0,.29.21.51.59l13.78,28.95c.21.46.04.67-.42.67h-2.44c-.34,0-.63-.21-.84-.67l-3.29-7.16h-14.71l-3.29,7.16c-.21.46-.5.67-.88.67h-2.44c-.46,0-.59-.21-.38-.67l13.74-28.95ZM252.18,101.32h12.43l-6.2-13.74h-.04l-6.19,13.74Z'/%3E%3Cpath d='M292.26,83.2c0-.46.21-.67.68-.67h1.98c.46,0,.67.21.67.67v25.91h14.49c.42,0,.63.21.63.67v1.56c0,.46-.21.67-.63.67h-17.15c-.46,0-.68-.21-.68-.67v-28.15Z'/%3E%3Cpath d='M331.88,112.03c-.46,0-.67-.21-.67-.67v-28.15c0-.46.21-.67.67-.67h2.02c.42,0,.63.21.63.67v28.15c0,.46-.21.67-.63.67h-2.02Z'/%3E%3Cpath d='M364.8,85.56h-10.07c-.55,0-.68-.17-.68-.68v-1.68c0-.46.21-.67.68-.67h23.51c.51,0,.63.17.63.67v1.68c0,.46-.21.68-.63.68h-10.11v25.79c0,.46-.21.67-.63.67h-2.02c-.55,0-.67-.17-.67-.67v-25.79Z'/%3E%3Cpath d='M405.64,100.48l-11.04-17.28c-.25-.46-.17-.67.3-.67h2.4c.38,0,.68.21.89.67l9.1,14.16,9.06-14.16c.29-.46.59-.67.93-.67h2.32c.46,0,.55.21.3.67l-11,17.28v10.87c0,.46-.21.67-.68.67h-1.9c-.46,0-.67-.21-.67-.67v-10.87Z'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 12 423 101'%3E%3Cpath d='M247.96,57c.93,2.32,2.43,4.24,4.47,5.69,2.03,1.45,4.46,2.15,7.21,2.06,1.96-.1,3.76-.59,5.32-1.46,1.57-.87,2.95-2.04,4.08-3.47l.27-.34,4.14,5.01h5.94v-.06l-2.23-1.32-5.48-6.58.09-.2c.59-1.32,1.03-2.73,1.3-4.19l.04-.2.09-.03,6.2-2.14v-.5l-6.86-.09c-.11,2.25-.49,4.33-1.12,6.19l-.2.59-14.41-17.24c-1.41-1.8-1.92-3.53-1.51-5.17.4-1.61,1.33-2.89,2.76-3.79,1.43-.9,2.98-1.2,4.63-.9,1.66.31,3.04,1.48,4.09,3.49.42.77.89,1.17,1.38,1.18h.05c.46,0,.77-.19.98-.59.2-.41.06-.93-.42-1.56-1.1-1.25-2.35-2.05-3.7-2.38-1.21-.29-2.53-.44-3.93-.44-.2,0-.4,0-.61,0-2.21.07-4.17.66-5.83,1.77-1.64,1.1-2.69,2.5-3.12,4.17-.43,1.64.06,3.37,1.44,5.14l1.23,1.51-.31.22c-.24.17-.49.35-.75.55-.27.2-.51.38-.71.54-.21.17-.35.27-.4.31-2.46,2.06-4.01,4.39-4.6,6.91-.58,2.53-.41,4.99.52,7.31ZM252.42,43.46h.02c.07-.07.2-.17.41-.34.22-.18.48-.38.77-.6.29-.22.54-.42.78-.6l.28-.22.22.26,14.06,17.1-.16.22c-1.07,1.46-2.38,2.5-3.89,3.12-.98.36-1.96.54-2.92.54-1.34,0-2.67-.34-3.96-1.02-2.2-1.15-4.06-2.86-5.55-5.09-1.49-2.23-2.33-4.59-2.5-7.01-.18-2.47.65-4.61,2.45-6.35Z'/%3E%3Cpath d='M13.94,45.86c.68-.48,1.54-.72,2.56-.72h12.97c1.04,0,1.91.24,2.58.72.65.46,1.17,1.02,1.56,1.66.38.61.67,1.19.87,1.72l3.82,10.73c.2.53.35,1.13.46,1.77.11.7,0,1.34-.34,1.89-.32.53-.97.83-1.94.88v.24h13.32v-.24c-.95-.05-1.75-.31-2.37-.79-.67-.51-1.2-1.11-1.57-1.77-.37-.64-.64-1.24-.82-1.77L28.21,12.72h-8.85c-2.38,0-4.84.32-7.3.96-2.43.63-4.49,1.8-6.13,3.46-.75.92-.98,1.73-.67,2.37.31.66.88.95,1.63.96.79-.01,1.55-.61,2.24-1.77.73-1.26,1.86-2.34,3.35-3.2,1.47-.85,2.99-1.41,4.52-1.67,1.56-.27,2.83-.14,3.76.39,1.02.57,1.28,1.68.79,3.28L6.51,60.19c-.18.52-.45,1.12-.81,1.76-.38.66-.91,1.26-1.57,1.77-.62.48-1.42.75-2.37.79v.24h7.81v-.24c-.97-.05-1.62-.35-1.94-.88-.33-.55-.45-1.19-.34-1.89.1-.64.25-1.24.46-1.77l3.78-10.72c.18-.53.46-1.11.84-1.73.39-.64.92-1.19,1.58-1.66ZM14.83,39.81l8.13-23.13,8.17,23.13c.2.53.33,1.12.38,1.73.05.66-.09,1.25-.44,1.75-.37.54-1.08.8-2.16.8h-11.83c-1.1,0-1.82-.26-2.19-.8-.35-.5-.49-1.09-.42-1.76.06-.61.19-1.19.37-1.72Z'/%3E%3Cpath d='M79.23,61.49l.45-.37.08.57c.11.83.48,1.55,1.1,2.14.61.59,1.69.88,3.21.88h5.37v-.24c-1.03-.05-1.8-.37-2.28-.95-.5-.61-.81-1.3-.92-2.05-.1-.72-.14-1.32-.11-1.81v-25.44c0-.78-.09-1.57-.27-2.33-.17-.72-.56-1.34-1.18-1.85-.61-.5-1.64-.75-3.05-.75h-5.34v.28c1.03.05,1.8.37,2.28.95.5.61.81,1.29.92,2.03.1.7.14,1.31.11,1.79v19.82c0,2.87-.86,5.12-2.55,6.69-1.68,1.55-3.94,2.41-6.72,2.56-2.41.18-4.55-.5-6.34-2.01s-2.81-4.11-3.03-7.74v-19.46c0-.78-.09-1.56-.27-2.33-.17-.73-.56-1.33-1.19-1.84-.62-.5-1.64-.75-3.03-.75h-5.37v.28c1.06.05,1.83.37,2.3.96.49.61.79,1.29.89,2.03.1.7.14,1.3.11,1.78v18.8c0,2.32.61,4.32,1.81,5.94,1.21,1.64,2.79,2.94,4.7,3.87,1.91.93,4.02,1.51,6.26,1.71,2.24.2,4.45.04,6.56-.49,2.1-.53,3.95-1.43,5.5-2.69Z'/%3E%3Cpath d='M112.38,63.91c-1.77,0-3.1-.27-4.04-.79-1.01-.56-1.69-1.29-2.02-2.17-.32-.84-.48-1.64-.48-2.39v-28.58h6.54v-.75h-6.54v-4.9c-1.05,1.51-2.36,2.67-3.92,3.47-1.77.9-3.76,1.38-5.9,1.43v.28c1.24.05,2.07.36,2.56.96.5.62.75,1.53.75,2.7v25.43c-.05,2.82,1.09,4.59,3.48,5.45,2.39.85,5.61.95,9.58.31v-.43Z'/%3E%3Cpath d='M141.56,30.82c1.82.41,3.38,1.4,4.66,2.94,1.27,1.54,2.01,3.77,2.19,6.62v19.71c.03.5-.03,1.1-.17,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.2.78-2.15.83v.24h13.17v-.24c-.96-.05-1.68-.33-2.15-.83-.51-.53-.84-1.15-.98-1.85-.14-.66-.2-1.26-.17-1.77v-19.16c-.1-3.02-1.08-5.47-2.93-7.26-1.87-1.81-4.21-3.06-6.96-3.72-2.76-.66-5.53-.77-8.23-.33-2.68.44-4.89,1.4-6.55,2.85l-.53.47v-15.48c0-.75-.09-1.53-.27-2.32-.17-.74-.55-1.35-1.18-1.86-.61-.5-1.63-.75-3.01-.75h-5.37v.28c1.03.05,1.8.37,2.28.95.5.61.81,1.29.92,2.03.1.7.14,1.31.11,1.79v42.53c.03.5-.03,1.09-.17,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.2.78-2.15.83v.24h13.13v-.24c-.93-.04-1.61-.25-2.09-.66-.52-.43-.86-.96-1.01-1.58-.14-.57-.21-1.13-.21-1.64v-22.38c0-1.77.63-3.31,1.87-4.58,1.22-1.25,2.74-2.15,4.53-2.67,1.78-.52,3.6-.59,5.4-.19Z'/%3E%3Cpath d='M201.51,47.3c0-4.86-1.25-8.8-3.73-11.7-2.48-2.91-5.62-4.87-9.33-5.83-1.84-.47-3.69-.71-5.54-.71s-3.79.25-5.67.75c-3.7.98-6.83,2.96-9.3,5.88-2.46,2.91-3.64,6.79-3.53,11.52.12,4.74,1.43,8.54,3.91,11.29,2.48,2.77,5.57,4.64,9.17,5.56,3.62.92,7.28.92,10.9-.02,3.61-.93,6.69-2.82,9.15-5.6,2.46-2.77,3.79-6.52,3.96-11.15ZM191.09,59.54c-2.34,2.73-5.09,4.12-8.17,4.12h-.09c-3.12-.03-5.91-1.42-8.3-4.15-2.38-2.72-3.64-6.61-3.75-11.58-.11-4.95.66-8.85,2.29-11.58,1.63-2.75,3.71-4.6,6.17-5.52,2.47-.92,4.96-.9,7.43.04,2.46.94,4.52,2.83,6.13,5.61,1.6,2.77,2.38,6.54,2.3,11.21-.32,5.13-1.67,9.11-4.01,11.85Z'/%3E%3Cpath d='M236.9,33.17c.14-.72-.28-1.47-1.27-2.21-1.85-1.2-4.13-1.82-6.75-1.85-2.12,0-3.99.38-5.55,1.13-1.55.74-2.72,1.71-3.47,2.88l-.5.77-.1-.91c-.07-.64-.24-1.25-.5-1.8-.26-.53-.67-.95-1.28-1.29-.61-.34-1.5-.51-2.64-.51h-5.37v.25c1.03.05,1.8.37,2.28.95.5.61.81,1.3.92,2.05.1.72.14,1.33.11,1.81v25.66c.02.54-.03,1.14-.17,1.78-.15.68-.48,1.3-.98,1.83-.47.5-1.2.78-2.15.83v.24h13.13v-.24c-.93-.05-1.64-.33-2.12-.83-.5-.53-.83-1.14-.98-1.82-.14-.64-.21-1.24-.21-1.78v-16.9c-.03-1.55.16-3.35.54-5.35.39-2.03,1.27-3.81,2.61-5.3,1.37-1.51,3.53-2.23,6.37-2.13,1.35.13,2.72,1.1,4.21,2.95.92.96,1.78,1.37,2.54,1.18.76-.19,1.19-.64,1.34-1.37Z'/%3E%3Cpath d='M331.86,19.61h.25v-6.89h-39.11v.25c.95.05,1.68.33,2.15.83.5.53.83,1.15.98,1.83.14.65.2,1.25.17,1.79v42.68c.03.5-.03,1.1-.17,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.2.78-2.15.83v.24h39.11v-6.89h-.25c-.05.81-.24,1.65-.54,2.49-.35.97-.98,1.81-1.85,2.5-.89.69-2.18,1.04-3.83,1.04h-19.14c-1.12,0-1.95-.3-2.48-.88-.5-.55-.83-1.2-.98-1.91-.14-.69-.2-1.31-.17-1.84v-15.56c-.03-.52.03-1.13.17-1.78.14-.68.48-1.29.98-1.83.52-.55,1.36-.83,2.47-.83h11.8c1.65,0,2.94.33,3.83.98.88.65,1.51,1.45,1.86,2.39.3.81.48,1.64.54,2.47h.25v-12.73h-.25c-.05.81-.24,1.63-.54,2.45-.35.95-.98,1.76-1.86,2.41-.88.65-2.17.98-3.83.98h-11.8c-1.12,0-1.95-.28-2.48-.84-.5-.53-.84-1.15-.98-1.85-.14-.66-.2-1.26-.17-1.77v-15.78c-.03-.5.03-1.09.17-1.76.15-.69.48-1.31.98-1.83.52-.54,1.34-.82,2.43-.85h19.19c1.66,0,2.95.35,3.83,1.04.88.68,1.5,1.52,1.85,2.5.3.84.48,1.69.54,2.52Z'/%3E%3Cpath d='M343.25,37.43c-1.72,2.67-2.57,6.07-2.52,10.13.24,4.68,1.9,8.59,4.95,11.61,3.06,3.02,6.77,4.85,11.04,5.44,4.26.58,8.39-.46,12.27-3.09l.42-.28.08.5c.13.81.51,1.51,1.12,2.1.6.58,1.67.87,3.2.87h5.37v-.24c-1.06-.05-1.83-.38-2.3-.98-.49-.62-.79-1.31-.89-2.05-.1-.71-.14-1.3-.12-1.78V17.36c0-.75-.09-1.53-.27-2.32-.17-.74-.55-1.35-1.18-1.86-.61-.5-1.64-.75-3.05-.75h-5.37v.28c1.06.05,1.83.37,2.31.95.5.61.81,1.29.92,2.03.1.72.14,1.31.11,1.79v.17s0,13.4,0,13.4l-.44-.16c-2.9-1.09-5.94-1.64-9.04-1.64-.19,0-.38,0-.58,0-3.29.07-6.39.79-9.22,2.14-2.81,1.34-5.11,3.37-6.83,6.04ZM358.39,30.49c2.72-.45,5.17-.16,7.29.87,2.15,1.05,3.38,2.6,3.67,4.62v18.82c0,1.98-.55,3.67-1.65,5.03-1.09,1.35-2.48,2.34-4.15,2.93-1.12.4-2.29.6-3.5.6-.59,0-1.19-.05-1.8-.14-1.86-.29-3.63-1.08-5.25-2.34-1.63-1.26-2.95-3.1-3.94-5.48-.98-2.36-1.45-5.36-1.4-8.91.22-5.13,1.39-9,3.47-11.52,2.09-2.52,4.53-4.03,7.27-4.48Z'/%3E%3Cpath d='M393.9,17.64c-.9,0-1.65.31-2.29.95-.64.64-.95,1.39-.95,2.29s.31,1.68.95,2.32c.64.64,1.39.95,2.29.95s1.68-.31,2.32-.95c.64-.64.95-1.4.95-2.33s-.31-1.65-.95-2.29c-.64-.64-1.4-.95-2.32-.95Z'/%3E%3Cpath d='M387.36,64.76h13.13v-.24c-.96-.05-1.68-.33-2.15-.83-.5-.53-.84-1.15-.98-1.84-.14-.66-.2-1.25-.17-1.77v-25.81c0-.76-.09-1.54-.27-2.32-.17-.74-.55-1.34-1.17-1.84-.61-.49-1.64-.74-3.05-.74h-5.33v.25c1.03.05,1.8.37,2.28.95.5.61.81,1.3.92,2.05.1.71.14,1.31.11,1.77v.17s0,25.53,0,25.53c0,.51-.07,1.1-.21,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.18.77-2.11.83v.24Z'/%3E%3Cpath d='M423.25,63.91c-1.77,0-3.1-.27-4.04-.79-1.01-.56-1.69-1.29-2.02-2.17-.32-.84-.48-1.64-.48-2.39v-28.58h6.54v-.75h-6.54v-4.9c-1.05,1.51-2.36,2.67-3.92,3.47-1.77.9-3.76,1.38-5.9,1.43v.28c1.23.05,2.07.36,2.56.96.5.62.75,1.53.75,2.7v25.43c-.05,2.81,1.09,4.59,3.48,5.45,2.39.85,5.61.95,9.58.31v-.43Z'/%3E%3Cpath d='M4.98,83.2c0-.46.21-.67.67-.67h2.02c.42,0,.63.21.63.67v12.56h16.6v-12.56c0-.46.21-.67.63-.67h2.02c.46,0,.67.21.67.67v28.15c0,.46-.21.67-.67.67h-2.02c-.42,0-.63-.21-.63-.67v-12.64H8.31v12.64c0,.46-.21.67-.63.67h-2.02c-.46,0-.67-.21-.67-.67v-28.15Z'/%3E%3Cpath d='M64.53,112.57c-4.17,0-7.71-1.52-10.66-4.51-2.95-2.99-4.42-6.62-4.42-10.79s1.47-7.8,4.42-10.79c2.95-2.99,6.49-4.51,10.66-4.51s7.71,1.52,10.66,4.51c2.95,2.99,4.42,6.61,4.42,10.79s-1.47,7.79-4.42,10.79c-2.95,2.99-6.49,4.51-10.66,4.51ZM72.83,105.87c2.28-2.48,3.41-5.35,3.41-8.6s-1.14-6.11-3.41-8.6-5.06-3.75-8.3-3.75-5.98,1.26-8.3,3.75c-2.28,2.49-3.41,5.35-3.41,8.6s1.14,6.11,3.41,8.6c2.32,2.49,5.06,3.75,8.3,3.75s6.03-1.26,8.3-3.75Z'/%3E%3Cpath d='M99.64,106.97c.17-.29.34-.42.51-.42.13,0,.25.04.46.17,2.74,1.9,5.86,2.82,9.35,2.82,1.43,0,2.7-.17,3.79-.46,2.23-.63,4.13-2.44,4.13-5.18,0-3.33-2.65-4.55-8.68-5.39-2.7-.38-4.51-.84-6.66-1.89-2.06-1.14-3.29-3.08-3.29-5.73,0-3.24,2.49-8.81,10.62-8.81,2.02,0,3.79.25,5.35.8,1.56.5,3.2,1.31,5.01,2.4.29.17.38.46.21.93l-.8,1.31c-.17.3-.34.46-.55.46-.13,0-.25-.04-.38-.17-2.74-1.86-5.56-2.78-8.43-2.78-6.41,0-7.8,3.58-7.8,5.77,0,1.1.42,1.98,1.26,2.7,1.69,1.39,3.71,1.77,7.29,2.23,6.28.84,10.07,2.87,10.07,8.05,0,2.4-.93,4.47-2.82,6.2-1.85,1.68-4.51,2.53-7.92,2.53-4.51,0-8.3-1.1-11.38-3.24-.34-.21-.38-.51-.17-.93l.8-1.35Z'/%3E%3Cpath d='M142.34,83.2c0-.55.17-.67.67-.67h9.9c5.18,0,10.37,2.02,10.37,8.81,0,3.16-1.01,5.48-2.99,6.95-1.98,1.48-4.47,2.19-7.37,2.19h-7.25v10.87c0,.5-.13.67-.67.67h-1.98c-.55,0-.67-.17-.67-.67v-28.15ZM145.67,85.4v12.22h7.04c4.89,0,7.33-2.11,7.33-6.28s-2.44-5.94-7.33-5.94h-7.04Z'/%3E%3Cpath d='M184.07,112.03c-.46,0-.68-.21-.68-.67v-28.15c0-.46.21-.67.68-.67h2.02c.42,0,.63.21.63.67v28.15c0,.46-.21.67-.63.67h-2.02Z'/%3E%3Cpath d='M216.98,85.56h-10.07c-.55,0-.68-.17-.68-.68v-1.68c0-.46.21-.67.68-.67h23.51c.51,0,.63.17.63.67v1.68c0,.46-.21.68-.63.68h-10.11v25.79c0,.46-.21.67-.63.67h-2.02c-.55,0-.67-.17-.67-.67v-25.79Z'/%3E%3Cpath d='M257.78,82.4c.25-.38.42-.59.55-.59h.13c.13,0,.29.21.51.59l13.78,28.95c.21.46.04.67-.42.67h-2.44c-.34,0-.63-.21-.84-.67l-3.29-7.16h-14.71l-3.29,7.16c-.21.46-.5.67-.88.67h-2.44c-.46,0-.59-.21-.38-.67l13.74-28.95ZM252.18,101.32h12.43l-6.2-13.74h-.04l-6.19,13.74Z'/%3E%3Cpath d='M292.26,83.2c0-.46.21-.67.68-.67h1.98c.46,0,.67.21.67.67v25.91h14.49c.42,0,.63.21.63.67v1.56c0,.46-.21.67-.63.67h-17.15c-.46,0-.68-.21-.68-.67v-28.15Z'/%3E%3Cpath d='M331.88,112.03c-.46,0-.67-.21-.67-.67v-28.15c0-.46.21-.67.67-.67h2.02c.42,0,.63.21.63.67v28.15c0,.46-.21.67-.63.67h-2.02Z'/%3E%3Cpath d='M364.8,85.56h-10.07c-.55,0-.68-.17-.68-.68v-1.68c0-.46.21-.67.68-.67h23.51c.51,0,.63.17.63.67v1.68c0,.46-.21.68-.63.68h-10.11v25.79c0,.46-.21.67-.63.67h-2.02c-.55,0-.67-.17-.67-.67v-25.79Z'/%3E%3Cpath d='M405.64,100.48l-11.04-17.28c-.25-.46-.17-.67.3-.67h2.4c.38,0,.68.21.89.67l9.1,14.16,9.06-14.16c.29-.46.59-.67.93-.67h2.32c.46,0,.55.21.3.67l-11,17.28v10.87c0,.46-.21.67-.68.67h-1.9c-.46,0-.67-.21-.67-.67v-10.87Z'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    /* Menu bar: no counters or status dot */
    #unusedIngHeaderBadge, #archiveCountBadge { display: none !important; }

    .ae-mono {
      display: inline-block; aspect-ratio: 128 / 53; height: 22px; background-color: var(--ae-brand-ink, #2179bf); flex-shrink: 0;
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 12 128 53'%3E%3Cpath transform='translate(-1.8 0)' d='M13.94,45.86c.68-.48,1.54-.72,2.56-.72h12.97c1.04,0,1.91.24,2.58.72.65.46,1.17,1.02,1.56,1.66.38.61.67,1.19.87,1.72l3.82,10.73c.2.53.35,1.13.46,1.77.11.7,0,1.34-.34,1.89-.32.53-.97.83-1.94.88v.24h13.32v-.24c-.95-.05-1.75-.31-2.37-.79-.67-.51-1.2-1.11-1.57-1.77-.37-.64-.64-1.24-.82-1.77L28.21,12.72h-8.85c-2.38,0-4.84.32-7.3.96-2.43.63-4.49,1.8-6.13,3.46-.75.92-.98,1.73-.67,2.37.31.66.88.95,1.63.96.79-.01,1.55-.61,2.24-1.77.73-1.26,1.86-2.34,3.35-3.2,1.47-.85,2.99-1.41,4.52-1.67,1.56-.27,2.83-.14,3.76.39,1.02.57,1.28,1.68.79,3.28L6.51,60.19c-.18.52-.45,1.12-.81,1.76-.38.66-.91,1.26-1.57,1.77-.62.48-1.42.75-2.37.79v.24h7.81v-.24c-.97-.05-1.62-.35-1.94-.88-.33-.55-.45-1.19-.34-1.89.1-.64.25-1.24.46-1.77l3.78-10.72c.18-.53.46-1.11.84-1.73.39-.64.92-1.19,1.58-1.66ZM14.83,39.81l8.13-23.13,8.17,23.13c.2.53.33,1.12.38,1.73.05.66-.09,1.25-.44,1.75-.37.54-1.08.8-2.16.8h-11.83c-1.1,0-1.82-.26-2.19-.8-.35-.5-.49-1.09-.42-1.76.06-.61.19-1.19.37-1.72Z'/%3E%3Cpath transform='translate(-193.6 0)' d='M247.96,57c.93,2.32,2.43,4.24,4.47,5.69,2.03,1.45,4.46,2.15,7.21,2.06,1.96-.1,3.76-.59,5.32-1.46,1.57-.87,2.95-2.04,4.08-3.47l.27-.34,4.14,5.01h5.94v-.06l-2.23-1.32-5.48-6.58.09-.2c.59-1.32,1.03-2.73,1.3-4.19l.04-.2.09-.03,6.2-2.14v-.5l-6.86-.09c-.11,2.25-.49,4.33-1.12,6.19l-.2.59-14.41-17.24c-1.41-1.8-1.92-3.53-1.51-5.17.4-1.61,1.33-2.89,2.76-3.79,1.43-.9,2.98-1.2,4.63-.9,1.66.31,3.04,1.48,4.09,3.49.42.77.89,1.17,1.38,1.18h.05c.46,0,.77-.19.98-.59.2-.41.06-.93-.42-1.56-1.1-1.25-2.35-2.05-3.7-2.38-1.21-.29-2.53-.44-3.93-.44-.2,0-.4,0-.61,0-2.21.07-4.17.66-5.83,1.77-1.64,1.1-2.69,2.5-3.12,4.17-.43,1.64.06,3.37,1.44,5.14l1.23,1.51-.31.22c-.24.17-.49.35-.75.55-.27.2-.51.38-.71.54-.21.17-.35.27-.4.31-2.46,2.06-4.01,4.39-4.6,6.91-.58,2.53-.41,4.99.52,7.31ZM252.42,43.46h.02c.07-.07.2-.17.41-.34.22-.18.48-.38.77-.6.29-.22.54-.42.78-.6l.28-.22.22.26,14.06,17.1-.16.22c-1.07,1.46-2.38,2.5-3.89,3.12-.98.36-1.96.54-2.92.54-1.34,0-2.67-.34-3.96-1.02-2.2-1.15-4.06-2.86-5.55-5.09-1.49-2.23-2.33-4.59-2.5-7.01-.18-2.47.65-4.61,2.45-6.35Z'/%3E%3Cpath transform='translate(-204.3 0)' d='M331.86,19.61h.25v-6.89h-39.11v.25c.95.05,1.68.33,2.15.83.5.53.83,1.15.98,1.83.14.65.2,1.25.17,1.79v42.68c.03.5-.03,1.1-.17,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.2.78-2.15.83v.24h39.11v-6.89h-.25c-.05.81-.24,1.65-.54,2.49-.35.97-.98,1.81-1.85,2.5-.89.69-2.18,1.04-3.83,1.04h-19.14c-1.12,0-1.95-.3-2.48-.88-.5-.55-.83-1.2-.98-1.91-.14-.69-.2-1.31-.17-1.84v-15.56c-.03-.52.03-1.13.17-1.78.14-.68.48-1.29.98-1.83.52-.55,1.36-.83,2.47-.83h11.8c1.65,0,2.94.33,3.83.98.88.65,1.51,1.45,1.86,2.39.3.81.48,1.64.54,2.47h.25v-12.73h-.25c-.05.81-.24,1.63-.54,2.45-.35.95-.98,1.76-1.86,2.41-.88.65-2.17.98-3.83.98h-11.8c-1.12,0-1.95-.28-2.48-.84-.5-.53-.84-1.15-.98-1.85-.14-.66-.2-1.26-.17-1.77v-15.78c-.03-.5.03-1.09.17-1.76.15-.69.48-1.31.98-1.83.52-.54,1.34-.82,2.43-.85h19.19c1.66,0,2.95.35,3.83,1.04.88.68,1.5,1.52,1.85,2.5.3.84.48,1.69.54,2.52Z'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 12 128 53'%3E%3Cpath transform='translate(-1.8 0)' d='M13.94,45.86c.68-.48,1.54-.72,2.56-.72h12.97c1.04,0,1.91.24,2.58.72.65.46,1.17,1.02,1.56,1.66.38.61.67,1.19.87,1.72l3.82,10.73c.2.53.35,1.13.46,1.77.11.7,0,1.34-.34,1.89-.32.53-.97.83-1.94.88v.24h13.32v-.24c-.95-.05-1.75-.31-2.37-.79-.67-.51-1.2-1.11-1.57-1.77-.37-.64-.64-1.24-.82-1.77L28.21,12.72h-8.85c-2.38,0-4.84.32-7.3.96-2.43.63-4.49,1.8-6.13,3.46-.75.92-.98,1.73-.67,2.37.31.66.88.95,1.63.96.79-.01,1.55-.61,2.24-1.77.73-1.26,1.86-2.34,3.35-3.2,1.47-.85,2.99-1.41,4.52-1.67,1.56-.27,2.83-.14,3.76.39,1.02.57,1.28,1.68.79,3.28L6.51,60.19c-.18.52-.45,1.12-.81,1.76-.38.66-.91,1.26-1.57,1.77-.62.48-1.42.75-2.37.79v.24h7.81v-.24c-.97-.05-1.62-.35-1.94-.88-.33-.55-.45-1.19-.34-1.89.1-.64.25-1.24.46-1.77l3.78-10.72c.18-.53.46-1.11.84-1.73.39-.64.92-1.19,1.58-1.66ZM14.83,39.81l8.13-23.13,8.17,23.13c.2.53.33,1.12.38,1.73.05.66-.09,1.25-.44,1.75-.37.54-1.08.8-2.16.8h-11.83c-1.1,0-1.82-.26-2.19-.8-.35-.5-.49-1.09-.42-1.76.06-.61.19-1.19.37-1.72Z'/%3E%3Cpath transform='translate(-193.6 0)' d='M247.96,57c.93,2.32,2.43,4.24,4.47,5.69,2.03,1.45,4.46,2.15,7.21,2.06,1.96-.1,3.76-.59,5.32-1.46,1.57-.87,2.95-2.04,4.08-3.47l.27-.34,4.14,5.01h5.94v-.06l-2.23-1.32-5.48-6.58.09-.2c.59-1.32,1.03-2.73,1.3-4.19l.04-.2.09-.03,6.2-2.14v-.5l-6.86-.09c-.11,2.25-.49,4.33-1.12,6.19l-.2.59-14.41-17.24c-1.41-1.8-1.92-3.53-1.51-5.17.4-1.61,1.33-2.89,2.76-3.79,1.43-.9,2.98-1.2,4.63-.9,1.66.31,3.04,1.48,4.09,3.49.42.77.89,1.17,1.38,1.18h.05c.46,0,.77-.19.98-.59.2-.41.06-.93-.42-1.56-1.1-1.25-2.35-2.05-3.7-2.38-1.21-.29-2.53-.44-3.93-.44-.2,0-.4,0-.61,0-2.21.07-4.17.66-5.83,1.77-1.64,1.1-2.69,2.5-3.12,4.17-.43,1.64.06,3.37,1.44,5.14l1.23,1.51-.31.22c-.24.17-.49.35-.75.55-.27.2-.51.38-.71.54-.21.17-.35.27-.4.31-2.46,2.06-4.01,4.39-4.6,6.91-.58,2.53-.41,4.99.52,7.31ZM252.42,43.46h.02c.07-.07.2-.17.41-.34.22-.18.48-.38.77-.6.29-.22.54-.42.78-.6l.28-.22.22.26,14.06,17.1-.16.22c-1.07,1.46-2.38,2.5-3.89,3.12-.98.36-1.96.54-2.92.54-1.34,0-2.67-.34-3.96-1.02-2.2-1.15-4.06-2.86-5.55-5.09-1.49-2.23-2.33-4.59-2.5-7.01-.18-2.47.65-4.61,2.45-6.35Z'/%3E%3Cpath transform='translate(-204.3 0)' d='M331.86,19.61h.25v-6.89h-39.11v.25c.95.05,1.68.33,2.15.83.5.53.83,1.15.98,1.83.14.65.2,1.25.17,1.79v42.68c.03.5-.03,1.1-.17,1.76-.15.69-.48,1.31-.98,1.85-.47.5-1.2.78-2.15.83v.24h39.11v-6.89h-.25c-.05.81-.24,1.65-.54,2.49-.35.97-.98,1.81-1.85,2.5-.89.69-2.18,1.04-3.83,1.04h-19.14c-1.12,0-1.95-.3-2.48-.88-.5-.55-.83-1.2-.98-1.91-.14-.69-.2-1.31-.17-1.84v-15.56c-.03-.52.03-1.13.17-1.78.14-.68.48-1.29.98-1.83.52-.55,1.36-.83,2.47-.83h11.8c1.65,0,2.94.33,3.83.98.88.65,1.51,1.45,1.86,2.39.3.81.48,1.64.54,2.47h.25v-12.73h-.25c-.05.81-.24,1.63-.54,2.45-.35.95-.98,1.76-1.86,2.41-.88.65-2.17.98-3.83.98h-11.8c-1.12,0-1.95-.28-2.48-.84-.5-.53-.84-1.15-.98-1.85-.14-.66-.2-1.26-.17-1.77v-15.78c-.03-.5.03-1.09.17-1.76.15-.69.48-1.31.98-1.83.52-.54,1.34-.82,2.43-.85h19.19c1.66,0,2.95.35,3.83,1.04.88.68,1.5,1.52,1.85,2.5.3.84.48,1.69.54,2.52Z'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    /* brand blue on light backgrounds, white on dark */
    html.dark .ae-logo, html.dark .ae-mono, .text-white .ae-logo, .text-white .ae-mono, .ae-st-mono, .ae-on-dark .ae-logo, .ae-on-dark .ae-mono { background-color: #fff; }
    .ae-brand-rule { display: inline-block; width: 1px; height: 26px; background: currentColor; opacity: .25; flex-shrink: 0; }
    .ae-md-only { display: none !important; }
    @media (min-width: 1280px) { .ae-md-only { display: inline-block !important; } }
    .ae-ing-badge-warn { background: #fdecea; color: #9f2d20; }
    html.dark .ae-ing-badge-warn { background: rgba(239,68,68,.15); color: #fca5a5; }
    .ae-choice { min-height: 168px; justify-content: flex-start; }
    .ae-choice:hover { border-color: var(--text-muted) !important; }
    .ae-seg { display: inline-flex; padding: 4px; border-radius: 12px; background: var(--ae-soft, #efece6); gap: 2px; }
    .ae-seg-btn { height: 36px; padding: 0 14px; border-radius: 9px; font-size: 13px; font-weight: 500; color: var(--text-muted); cursor: pointer; white-space: nowrap; }
    .ae-seg-btn:hover { color: var(--text-main); }
    .ae-seg-btn.is-on { background: var(--bg-panel); color: var(--text-main); font-weight: 600; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
    .ae-seg-n { font-size: 11.5px; color: var(--text-muted); font-weight: 500; margin-left: 2px; }
    /* emoji → line icons */
    .ae-ico { display: inline-block; width: 1.05em; height: 1.05em; vertical-align: -0.16em; flex-shrink: 0; }
    .ae-ico svg { width: 100%; height: 100%; display: block; }
    .ae-ico-big { margin: 0 auto; }
    .ae-ico-big svg { width: 20px; height: 20px; }
    .ae-dropzone { border: 1.5px dashed #d6d1c8; border-radius: 14px; background: var(--bg-sub); transition: border-color .15s, background-color .15s; }
    .ae-dropzone:hover, .ae-dropzone.border-amber-500 { border-color: var(--ae-accent, #d97706) !important; background: var(--bg-panel); }
    html.dark .ae-dropzone { border-color: #4a4540; }
    @media screen {
      /* section titles inside panels & pop-ups: dark text like the rest of the site */
      :is(h3, h4, h5, div, span, p).font-cinzel:is(.text-amber-600, .text-amber-500):not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *, [class*="brand-card"] *) {
        color: var(--text-main) !important;
      }
    }
    @media screen {
      button[onclick="syncAllInvoiceHistoryToIngredientsDatabase()"] { background: var(--bg-panel) !important; color: var(--text-main) !important; border: 1px solid var(--border-main) !important; box-shadow: none !important; }
      button[onclick="syncAllInvoiceHistoryToIngredientsDatabase()"]:hover { border-color: var(--text-muted) !important; }
    }
    /* ---- Round 50: change sign-off, Spanish switch, station mode, offline ---- */
    @media print { #aeStation, #aeOfflineBanner, #aeChangeStrip, .ae-leave-toast { display: none !important; } }
    @media screen {
      .ae-btn-sm { height: 32px !important; padding: 0 12px !important; font-size: 13px !important; }
      .ae-chg-dot { width: 9px; height: 9px; border-radius: 999px; background: #2563eb; flex-shrink: 0; }
      .ae-chg-dot-amber, .ae-chg-pending .ae-chg-dot { background: #d97706; }
      .ae-chg-strip { display: flex; align-items: center; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--border-main); }
      .ae-chg-new { background: rgba(37, 99, 235, .07); }
      .ae-chg-pending { background: rgba(217, 119, 6, .08); }
      .ae-chg-list { margin: 6px 0 0; padding-left: 18px; list-style: disc; font-size: 13.5px; line-height: 1.5; }
      .ae-chg-row { display: flex; align-items: flex-start; gap: 14px; padding: 14px 20px; border-bottom: 1px solid var(--border-main); }
      .ae-chg-row:last-child { border-bottom: 0; }
      button.ae-chg-row:hover { background: var(--bg-sub); }
      .ae-chg-entry { border: 1px solid var(--border-main); border-radius: 14px; padding: 14px 16px; }
      .ae-chg-who { margin-top: 10px; font-size: 13px; }
      .ae-chg-who summary { cursor: pointer; color: var(--text-muted); }
      .ae-chg-bar { height: 5px; border-radius: 9px; background: var(--ae-soft); margin-top: 6px; overflow: hidden; }
      .ae-chg-bar span { display: block; height: 100%; background: #16a34a; border-radius: 9px; }
      .ae-count-dot { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 6px; border-radius: 999px; background: #2563eb; color: #fff; font-size: 11px; font-weight: 700; }
      .ae-tool-btn { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--border-main); background: var(--bg-panel); font-size: 12px; font-weight: 600; white-space: nowrap; cursor: pointer; }
      .ae-tool-btn:hover { border-color: var(--text-muted); }
      .ae-tool-btn.hidden { display: none; }
      .ae-lang { display: inline-flex; padding: 2px; border-radius: 9px; background: var(--ae-soft); gap: 2px; }
      .ae-lang button { height: 26px; min-width: 34px; padding: 0 8px; border-radius: 7px; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--text-muted); cursor: pointer; }
      .ae-lang button.is-on { background: var(--bg-panel); color: var(--text-main); box-shadow: 0 1px 2px rgba(0,0,0,.1); }
      .ae-lang-note { font-size: 11.5px; color: var(--text-muted); white-space: nowrap; }
      .ae-tr-missing { border-color: #d97706 !important; }
      .ae-offline-banner { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 140; display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 32px); padding: 10px 16px; border-radius: 12px; background: #1c1917; color: #f5f4f1; font-size: 13px; box-shadow: 0 10px 30px rgba(0,0,0,.3); }
      html.ae-st-lock, html.ae-st-lock body { overflow: hidden !important; }

      /* station mode: dark, high contrast, big touch targets */
      #aeStation { --ae-st-scale: 1; position: fixed; inset: 0; z-index: 125; display: flex; flex-direction: column; background: #0f0e0d; color: #f5f4f1; font-size: calc(17px * var(--ae-st-scale)); }
      #aeStation.hidden { display: none; }
      #aeStation button { cursor: pointer; }
      .ae-st-head { flex-shrink: 0; padding: 10px 16px; background: #171614; border-bottom: 1px solid #2e2b28; display: flex; flex-direction: column; gap: 10px; padding-top: max(10px, env(safe-area-inset-top)); }
      .ae-st-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
      .ae-st-mono { height: 22px; color: #f5f4f1; }
      .ae-st-concept { font-weight: 700; font-size: 17px; }
      .ae-st-sel select { height: 44px; padding: 0 36px 0 14px; border-radius: 12px; background: #24221f; color: #f5f4f1; border: 1px solid #3a3632; font-size: 16px; font-weight: 600; }
      .ae-st-seg { display: inline-flex; padding: 3px; border-radius: 12px; background: #24221f; gap: 2px; }
      .ae-st-seg button { height: 40px; padding: 0 14px; border-radius: 9px; font-size: 15px; font-weight: 600; color: #a8a29e; }
      .ae-st-seg button.is-on { background: #f5f4f1; color: #1c1917; }
      .ae-st-pill { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 999px; font-size: 13px; color: #a8a29e; background: #24221f; }
      .ae-st-awake.is-on { color: #fbbf24; }
      .ae-st-off { color: #fca5a5; }
      .ae-st-size { display: inline-flex; gap: 2px; padding: 3px; border-radius: 12px; background: #24221f; }
      .ae-st-size button { height: 40px; min-width: 44px; border-radius: 9px; font-weight: 700; font-size: 15px; color: #f5f4f1; }
      .ae-st-size button:active { background: #3a3632; }
      #aeStation .ae-lang { background: #24221f; padding: 3px; border-radius: 12px; }
      #aeStation .ae-lang button { height: 40px; min-width: 48px; font-size: 15px; color: #a8a29e; border-radius: 9px; }
      #aeStation .ae-lang button.is-on { background: #f5f4f1; color: #1c1917; }
      .ae-st-exit { height: 44px; padding: 0 18px; border-radius: 12px; border: 1px solid #3a3632; font-weight: 600; font-size: 15px; color: #f5f4f1; }
      .ae-st-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
      .ae-st-chips::-webkit-scrollbar { display: none; }
      .ae-st-chip { flex-shrink: 0; height: 44px; padding: 0 18px; border-radius: 999px; background: #24221f; color: #d6d3d1; font-weight: 600; font-size: 15px; white-space: nowrap; }
      .ae-st-chip.is-on { background: #fbbf24; color: #1c1917; }
      .ae-st-search { display: flex; align-items: center; gap: 8px; flex-shrink: 0; height: 44px; padding: 0 14px; margin-left: auto; border-radius: 999px; background: #24221f; color: #a8a29e; min-width: 180px; }
      .ae-st-search input { background: transparent; border: 0; outline: none; color: #f5f4f1; font-size: 15px; width: 100%; }
      .ae-st-body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 18px 16px calc(28px + env(safe-area-inset-bottom)); }
      .ae-st-empty { padding: 80px 20px; text-align: center; color: #a8a29e; font-size: 1.1em; }
      .ae-st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(230px * var(--ae-st-scale)), 1fr)); gap: 14px; }
      .ae-st-card { display: flex; flex-direction: column; text-align: left; border-radius: 18px; overflow: hidden; background: #1c1b19; border: 1px solid #2e2b28; min-height: 92px; }
      .ae-st-card:active { transform: scale(.985); }
      .ae-st-card-photo { display: block; aspect-ratio: 16 / 10; background: #24221f; }
      .ae-st-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
      .ae-st-card-body { display: block; padding: 12px 14px 14px; position: relative; }
      .ae-st-card-kicker { display: block; font-size: .72em; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #fbbf24; }
      .ae-st-card-title { display: block; font-size: 1.08em; font-weight: 700; line-height: 1.25; margin-top: 4px; }
      .ae-st-badge { position: absolute; top: 10px; right: 10px; padding: 3px 9px; border-radius: 999px; background: #2563eb; color: #fff; font-size: .68em; font-weight: 700; }
      .ae-st-detail { max-width: 1280px; margin: 0 auto; }
      .ae-st-dnav { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
      .ae-st-back { height: 48px; padding: 0 18px; border-radius: 12px; background: #24221f; font-weight: 600; font-size: 16px; }
      .ae-st-arrow { width: 56px; height: 48px; border-radius: 12px; background: #24221f; font-size: 28px; line-height: 1; }
      .ae-st-pos { min-width: 64px; text-align: center; color: #a8a29e; font-size: 15px; }
      .ae-st-chg { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: rgba(37, 99, 235, .18); border: 1px solid rgba(96, 165, 250, .4); margin-bottom: 16px; font-size: .95em; }
      .ae-st-chg ul { margin: 6px 0 0; padding-left: 20px; list-style: disc; }
      .ae-st-chg button { flex-shrink: 0; height: 48px; padding: 0 20px; border-radius: 12px; background: #f5f4f1; color: #1c1917; font-weight: 700; font-size: 16px; }
      .ae-st-titlebar { margin-bottom: 18px; }
      .ae-st-kicker { font-size: .78em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fbbf24; }
      .ae-st-titlebar h2 { font-family: 'Source Serif 4', Georgia, serif; font-size: 2.1em; font-weight: 700; line-height: 1.12; margin-top: 4px; }
      .ae-st-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; color: #d6d3d1; font-size: 1em; }
      .ae-st-meta span { color: #57534e; }
      .ae-st-nospan { display: inline-block; margin-top: 8px; padding: 4px 10px; border-radius: 8px; background: #24221f; color: #fbbf24; font-size: .8em; }
      .ae-st-cols { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; align-items: start; }
      .ae-st-cols-1 { grid-template-columns: minmax(0, 1fr); }
      @media (max-width: 860px) { .ae-st-cols { grid-template-columns: minmax(0, 1fr); } }
      .ae-st-side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 0; }
      .ae-st-photo { border-radius: 18px; overflow: hidden; background: #24221f; aspect-ratio: 4 / 3; }
      .ae-st-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
      .ae-st-main { display: flex; flex-direction: column; gap: 22px; }
      .ae-st-h { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: .75em; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #a8a29e; margin-bottom: 8px; }
      .ae-st-comps { border-radius: 16px; background: #1c1b19; border: 1px solid #2e2b28; overflow: hidden; }
      .ae-st-comp { display: flex; align-items: baseline; gap: 16px; width: 100%; padding: 13px 16px; border-bottom: 1px solid #2a2724; text-align: left; font-size: 1.05em; line-height: 1.35; }
      .ae-st-comp:last-child { border-bottom: 0; }
      .ae-st-amt { flex-shrink: 0; width: 9.5em; font-weight: 800; color: #fbbf24; font-variant-numeric: tabular-nums; }
      .ae-st-name { flex: 1; font-weight: 600; }
      .ae-st-desc { font-weight: 400; color: #d6d3d1; }
      .ae-st-link:active { background: #24221f; }
      .ae-st-go { color: #fbbf24; font-size: 1.4em; line-height: 1; }
      .ae-st-gap { height: 8px; background: #141312; }
      .ae-st-steps { list-style: none; counter-reset: st; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
      .ae-st-steps li { counter-increment: st; display: flex; gap: 14px; padding: 14px 16px; border-radius: 14px; background: #1c1b19; border: 1px solid #2e2b28; font-size: 1.05em; line-height: 1.5; }
      .ae-st-steps li::before { content: counter(st); flex-shrink: 0; width: 1.8em; height: 1.8em; border-radius: 999px; background: #f5f4f1; color: #1c1917; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; font-size: .85em; margin-top: .1em; }
      .ae-st-steps li.is-note { background: rgba(251, 191, 36, .1); border-color: rgba(251, 191, 36, .35); }
      .ae-st-steps li.is-note::before { content: '!'; background: #fbbf24; }
      .ae-st-steps li.is-bold { font-weight: 700; }
      .ae-st-alg { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
      .ae-st-alg .ae-st-h { width: 100%; margin-bottom: 0; }
      .ae-st-alg span { padding: 6px 12px; border-radius: 999px; background: rgba(239, 68, 68, .16); color: #fca5a5; font-weight: 700; font-size: .85em; }
      .ae-st-alg em { color: #86efac; font-style: normal; font-size: .9em; }
      .ae-st-alg .ae-alg-tap { cursor: pointer; }
      .ae-st-alg .ae-alg-tap:focus-visible { outline: 2px solid #fca5a5; outline-offset: 2px; }
      .ae-alg-pop.is-st { background: #1c1a18; color: #f5f4f1; border-color: #3a3632; font-size: 16px; }
      .ae-alg-pop.is-st .ae-alg-src { background: rgba(239, 68, 68, .16); color: #fecaca; border-color: transparent; }
      .ae-alg-pop.is-st .ae-alg-pop-x, .ae-alg-pop.is-st .ae-alg-pop-l, .ae-alg-pop.is-st .ae-alg-pop-n { color: #a8a29e; }
      .ae-st-note { padding: 14px 16px; border-radius: 14px; background: #1c1b19; border: 1px solid #2e2b28; line-height: 1.5; }
      .ae-st-scale { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; text-transform: none; letter-spacing: 0; font-size: 15px; }
      .ae-st-scale span { margin-right: 4px; }
      .ae-st-scale button { height: 40px; min-width: 52px; border-radius: 10px; background: #24221f; color: #f5f4f1; font-weight: 700; font-size: 15px; }
      .ae-st-scale button.is-on { background: #fbbf24; color: #1c1917; }
    }
    /* ---- Round 51: Menu Guide ---- */
    @media screen {
      .ae-mg-mgrbar, .ae-mg-filters, .ae-mg-allergy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
      .ae-mg-mgrbar { padding: 10px 12px; border-radius: 14px; background: var(--ae-soft); }
      .ae-mg-chip { height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--border-main); background: var(--bg-panel); font-size: 13px; font-weight: 600; color: var(--text-muted); white-space: nowrap; cursor: pointer; }
      .ae-mg-chip span { margin-left: 4px; font-weight: 500; opacity: .75; }
      .ae-mg-chip.is-on { background: var(--ae-primary); color: var(--ae-on-primary); border-color: var(--ae-primary); }
      .ae-mg-search { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--border-main); background: var(--bg-panel); color: var(--text-muted); flex: 1; min-width: 220px; max-width: 420px; margin-left: auto; }
      .ae-mg-search input { border: 0; outline: none; background: transparent; width: 100%; font-size: 14px; color: var(--text-main); }
      .ae-mg-allergy-h { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); margin-right: 4px; }
      .ae-mg-algchip { height: 32px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--border-main); background: var(--bg-panel); font-size: 13px; font-weight: 600; cursor: pointer; }
      .ae-mg-algchip.is-on { background: #dc2626; border-color: #dc2626; color: #fff; }
      .ae-mg-warn { font-size: 13px; padding: 10px 14px; border-radius: 12px; background: rgba(220, 38, 38, .08); color: #b91c1c; }
      html.dark .ae-mg-warn { color: #fca5a5; }
      .ae-mg-sec { margin-top: 22px; }
      .ae-mg-sec h3 { font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); margin-bottom: 10px; }
      .ae-mg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
      .ae-mg-tile { display: flex; flex-direction: column; text-align: left; border-radius: 16px; overflow: hidden; cursor: pointer; transition: box-shadow .15s; }
      .ae-mg-tile:hover { box-shadow: 0 6px 20px rgba(0,0,0,.08); }
      .ae-mg-tile.is-unsafe { opacity: .55; }
      .ae-mg-photo { display: block; aspect-ratio: 16 / 9; background: var(--ae-soft); }
      .ae-mg-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
      .ae-mg-body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; }
      .ae-mg-name { font-weight: 700; font-size: 15.5px; line-height: 1.25; }
      .ae-mg-price { font-weight: 700; font-size: 14px; color: var(--text-muted); white-space: nowrap; }
      .ae-mg-desc { font-size: 13px; color: var(--text-muted); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
      .ae-mg-algs { display: flex; flex-wrap: wrap; gap: 4px; }
      .ae-mg-algs span { font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: rgba(220, 38, 38, .1); color: #b91c1c; }
      html.dark .ae-mg-algs span { color: #fca5a5; }
      .ae-mg-algs em { font-size: 12px; font-style: normal; color: #15803d; }
      .ae-mg-algs-lg span { font-size: 13.5px; padding: 5px 12px; }
      .ae-mg-safe { align-self: flex-start; font-size: 12.5px; font-weight: 700; padding: 4px 10px; border-radius: 8px; }
      .ae-mg-safe.ok { background: rgba(22, 163, 74, .12); color: #15803d; }
      .ae-mg-safe.no { background: rgba(220, 38, 38, .1); color: #b91c1c; }
      .ae-mg-status { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 700; color: var(--st); }
      .ae-mg-status span { width: 7px; height: 7px; border-radius: 99px; background: var(--st); }
      .ae-mg-empty { padding: 60px 20px; text-align: center; color: var(--text-muted); }
      .ae-mg-dphoto { border-radius: 14px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--ae-soft); }
      .ae-mg-dphoto img { width: 100%; height: 100%; object-fit: cover; display: block; }
      .ae-mg-kicker { font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--ae-accent-text); }
      .ae-mg-dprice { font-size: 20px; font-weight: 700; }
      .ae-mg-dsec h4 { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--text-muted); margin-bottom: 6px; }
      .ae-mg-drop { font-family: 'Source Serif 4', Georgia, serif; font-size: 18px; line-height: 1.45; padding: 12px 16px; border-left: 3px solid var(--ae-accent); background: var(--ae-soft); border-radius: 0 12px 12px 0; }
      .ae-mg-ul { list-style: disc; padding-left: 20px; font-size: 14.5px; line-height: 1.55; }
      .ae-mg-marks { display: flex; flex-wrap: wrap; gap: 8px; }
      .ae-mg-marks span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 10px; border: 1px solid var(--border-main); font-size: 13.5px; font-weight: 600; }
      .ae-mg-mods { border-radius: 12px; padding: 12px 14px; }
      .ae-mg-mods.ok { background: rgba(22, 163, 74, .08); }
      .ae-mg-mods.no { background: rgba(220, 38, 38, .07); }
      .ae-mg-mods-h { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
      .ae-mg-mods.ok .ae-mg-mods-h { color: #15803d; }
      .ae-mg-mods.no .ae-mg-mods-h { color: #b91c1c; }
      .ae-mg-mods ul { list-style: disc; padding-left: 18px; font-size: 14px; line-height: 1.55; }
      .ae-mg-free { font-size: 12px; font-weight: 700; color: #15803d; }
      .ae-mg-dbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: var(--ae-soft); }
      .ae-mg-check { padding: 12px 14px; border-radius: 12px; background: rgba(220, 38, 38, .08); font-size: 13.5px; }
      .ae-mg-check ul { list-style: disc; padding-left: 18px; margin-top: 4px; }
      .ae-mg-markpick { display: flex; flex-wrap: wrap; gap: 6px; }
      .ae-mg-markpick label, .ae-mg-comps label { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 9px; border: 1px solid var(--border-main); font-size: 13px; cursor: pointer; }
      .ae-mg-markpick input, .ae-mg-comps input { margin: 0; }
      .ae-mg-canrow { padding: 10px; border-radius: 12px; border: 1px solid var(--border-main); display: flex; flex-direction: column; gap: 8px; }
      .ae-mg-comps { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
      .ae-mg-comps > span { font-size: 12px; color: var(--text-muted); margin-right: 2px; }
      .ae-mg-comps label { padding: 4px 8px; font-size: 12px; }
      .ae-mg-freeinfo { font-size: 12.5px; font-weight: 600; color: #15803d; }
    }
    /* pre-shift sheet (printed) */
    .ae-preshift { padding: 0.5in 0.55in; font-family: 'Inter', Arial, sans-serif; color: #1c1917; font-size: 10.5pt; }
    .ae-ps-head { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid #1c1917; padding-bottom: 8px; margin-bottom: 10px; }
    .ae-ps-head h1 { font-family: 'Source Serif 4', Georgia, serif; font-size: 20pt; font-weight: 700; margin: 2px 0 0; }
    .ae-ps-kicker { font-size: 9pt; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #b45309; }
    .ae-ps-sub { font-size: 9pt; color: #57534e; }
    .ae-ps-dish { padding: 8px 0; border-bottom: 1px solid #d6d3d1; break-inside: avoid; page-break-inside: avoid; }
    .ae-ps-top { display: flex; justify-content: space-between; font-size: 12pt; }
    .ae-ps-drop { font-family: 'Source Serif 4', Georgia, serif; font-style: italic; font-size: 11pt; margin: 2px 0 3px; }
    .ae-ps-line { font-size: 9.5pt; line-height: 1.45; }
    @media screen {
      .ae-mg-qbar { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin: -4px -4px 4px; border-radius: 12px; background: var(--ae-primary); color: var(--ae-on-primary); position: sticky; top: -24px; z-index: 2; }
      .ae-mg-qbar .theme-muted { color: rgba(255,255,255,.7) !important; }
      .ae-mg-qbar .ae-btn-secondary { background: transparent; color: inherit; border-color: rgba(255,255,255,.35); }
      .ae-mg-qbar .ae-btn-primary { background: #fff; color: #1c1917; }
    }
    @media screen {
      .ae-mg-diets { display: flex; flex-wrap: wrap; gap: 4px; }
      .ae-mg-diet { display: inline-flex; align-items: center; font-size: 11px; font-weight: 800; letter-spacing: .04em; padding: 2px 7px; border-radius: 6px; background: rgba(22, 163, 74, .12); color: #15803d; vertical-align: middle; }
      .ae-mg-diet.is-lg { font-size: 13px; font-weight: 700; letter-spacing: 0; padding: 4px 10px; border-radius: 8px; }
      html.dark .ae-mg-diet { color: #86efac; }
      .ae-mg-dietchip.is-on { background: #16a34a; border-color: #16a34a; color: #fff; }
      .ae-mi-list { max-height: 52vh; overflow-y: auto; border: 1px solid var(--border-main); border-radius: 14px; }
      .ae-mi-row { display: grid; grid-template-columns: 22px minmax(0, 1.4fr) 140px minmax(0, 1.2fr); gap: 12px; align-items: start; padding: 11px 14px; border-bottom: 1px solid var(--border-main); }
      .ae-mi-row:last-child { border-bottom: 0; }
      .ae-mi-row.is-off { opacity: .55; }
      .ae-mi-row input[type=checkbox] { margin-top: 3px; }
      .ae-mi-price { font-size: 14px; }
      @media (max-width: 700px) { .ae-mi-row { grid-template-columns: 22px minmax(0, 1fr); } .ae-mi-row > :nth-child(3), .ae-mi-row > :nth-child(4) { grid-column: 2; } }
    }
    .ae-ps-diet { font-size: 8.5pt; font-weight: 700; color: #15803d; margin-left: 4px; }
    @media screen {
      .ae-mg-special { padding: 16px; border-radius: 18px; background: rgba(217, 119, 6, .07); border: 1.5px dashed rgba(217, 119, 6, .5); }
      .ae-mg-sp-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-bottom: 12px; }
      .ae-mg-special .ae-mg-sp-head h3 { margin: 0; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--text-main); font-weight: 700; }
      .ae-mg-sp-tag { display: inline-flex; align-items: center; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 6px; background: #d97706; color: #fff; }
      .ae-mg-sp-note { font-size: 12.5px; color: var(--text-muted); }
      .ae-mg-sp-pill { align-self: flex-start; font-size: 11.5px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: rgba(217, 119, 6, .14); color: #b45309; }
      html.dark .ae-mg-sp-pill { color: #fbbf24; }
      .ae-mg-sp-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; padding: 8px 12px; border-radius: 10px; background: rgba(217, 119, 6, .1); }
      .ae-mg-chip-sp.is-on { background: #d97706; border-color: #d97706; color: #fff; }
    }
    .ae-ps-group { margin-top: 10px; padding: 3px 0; font-size: 9pt; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #57534e; border-bottom: 1px solid #1c1917; }
    .ae-ps-group.is-sp { color: #b45309; border-color: #b45309; }
    @media screen { .ae-mg-allergy .ae-mg-allergy-h { min-width: 122px; } @media (max-width: 640px) { .ae-mg-allergy .ae-mg-allergy-h { min-width: 0; width: 100%; } } }
    /* ---- Menu Guide: tidier header + compact cards on phones ---- */
    @media screen {
      .ae-mg-top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 16px; }
      .ae-mg-actions { display: flex; align-items: center; gap: 8px; }
      .ae-mg-more { position: relative; }
      .ae-mg-more > summary { list-style: none; cursor: pointer; gap: 6px; }
      .ae-mg-more > summary::-webkit-details-marker { display: none; }
      .ae-mg-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; min-width: 210px; padding: 6px; border-radius: 12px; background: var(--bg-panel); border: 1px solid var(--border-main); box-shadow: 0 12px 30px rgba(0,0,0,.14); display: flex; flex-direction: column; }
      .ae-mg-menu button { text-align: left; padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer; }
      .ae-mg-menu button:hover { background: var(--ae-soft); }
      .ae-mg-strip { display: flex; align-items: center; gap: 8px; padding: 10px 12px 10px 16px; border-radius: 14px; background: var(--ae-soft); }
      .ae-mg-strip-text { flex: 1; min-width: 0; font-size: 13.5px; color: var(--text-muted); }
      .ae-mg-strip-text strong { color: var(--text-main); }
      .ae-mg-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
      .ae-mg-bar:empty { display: none; }
      .ae-mg-selwrap { flex: 0 1 auto; min-width: 0; }
      .ae-mg-select { height: 40px; max-width: 100%; padding: 0 34px 0 14px; border-radius: 12px; border: 1px solid var(--border-main); background: var(--bg-panel); color: var(--text-main); font-size: 14px; font-weight: 600; }
      .ae-mg-scroll { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; -webkit-overflow-scrolling: touch; }
      .ae-mg-scroll::-webkit-scrollbar { display: none; }
      .ae-mg-scroll > * { flex-shrink: 0; }
      .ae-mg-bar .ae-mg-search { margin-left: 0; max-width: none; flex: 1; min-width: 0; }
      .ae-mg-filtbtn { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--border-main); background: var(--bg-panel); font-size: 14px; font-weight: 600; cursor: pointer; flex-shrink: 0; }
      .ae-mg-filtbtn span { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #dc2626; color: #fff; font-size: 11.5px; display: inline-flex; align-items: center; justify-content: center; }
      .ae-mg-filtbtn.is-open { background: var(--ae-soft); }
      .ae-mg-filtpanel { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 14px; border: 1px solid var(--border-main); background: var(--bg-panel); }
      @media (max-width: 640px) {
        .ae-mg-top h2 { font-size: 26px; }
        .ae-mg-actions { width: 100%; }
        .ae-mg-actions .ae-mg-more { margin-left: auto; }
        .ae-mg-bar .ae-mg-selwrap { flex: 1 1 140px; }
        .ae-mg-bar .ae-mg-select { width: 100%; }
        .ae-mg-allergy .ae-mg-allergy-h { width: 100%; min-width: 0; }
        .ae-mg-grid { grid-template-columns: 1fr; gap: 8px; }
        /* cards become rows: small photo left, name / price / chips right */
        .ae-mg-tile { flex-direction: row; align-items: stretch; border-radius: 14px; }
        .ae-mg-tile .ae-mg-photo { width: 84px; flex-shrink: 0; aspect-ratio: auto; }
        .ae-mg-tile .ae-mg-body { padding: 10px 12px; gap: 4px; min-width: 0; flex: 1; }
        .ae-mg-tile .ae-mg-name { font-size: 15px; }
        .ae-mg-tile .ae-mg-desc { -webkit-line-clamp: 1; font-size: 12.5px; }
        .ae-mg-tile .ae-mg-status { font-size: 11px; }
        .ae-mg-tile .ae-mg-algs { flex-wrap: nowrap; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
        .ae-mg-tile .ae-mg-algs span { flex-shrink: 0; font-size: 11px; padding: 2px 7px; }
        .ae-mg-special { padding: 10px; }
      }
    }
    @media screen {
      .ae-mg-actbar { position: sticky; bottom: -24px; margin: 4px -24px -24px; padding: 12px 24px 16px; display: flex; align-items: center; gap: 8px; background: var(--bg-panel); border-top: 1px solid var(--border-main); border-radius: 0 0 16px 16px; z-index: 3; }
      .ae-mg-more-up .ae-mg-menu { top: auto; bottom: calc(100% + 6px); left: 0; right: auto; }
      @media (max-width: 640px) {
        #aeMgCardModal { padding: 0; align-items: flex-end; }
        #aeMgCardModal > div { border-radius: 20px 20px 0 0; max-height: 92vh; padding: 18px; }
        #aeMgCardModal .ae-mg-actbar { margin: 4px -18px -18px; padding: 12px 18px calc(14px + env(safe-area-inset-bottom)); bottom: -18px; border-radius: 0; }
        #aeMgCardModal .ae-mg-actbar .ae-btn-primary { flex: 1; justify-content: center; }
        #aeMgCardModal h3.font-cinzel { font-size: 24px; }
        #aeMgCardModal .ae-mg-dbar { font-size: 12.5px; padding: 8px 10px; gap: 6px; }
        .ae-mg-qbar { top: -18px; margin: -2px -2px 4px; }
      }
    }
    @media screen {
      .ae-ps-pick { max-height: 44vh; overflow-y: auto; border: 1px solid var(--border-main); border-radius: 12px; padding: 4px 0; }
      .ae-ps-pick-h { padding: 8px 14px 4px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
      .ae-ps-pick label { display: flex; align-items: center; gap: 10px; padding: 7px 14px; font-size: 14px; cursor: pointer; }
      .ae-ps-pick label:hover { background: var(--ae-soft); }
    }
    @media screen {
      .ae-cmp-wrap { overflow: auto; max-height: 64vh; border: 1px solid var(--border-main); border-radius: 14px; }
      .ae-cmp { width: 100%; border-collapse: collapse; font-size: 13.5px; }
      .ae-cmp th, .ae-cmp td { padding: 8px 12px; border-bottom: 1px solid var(--border-main); text-align: left; vertical-align: top; }
      .ae-cmp tbody th { width: 170px; min-width: 130px; font-weight: 600; }
      .ae-cmp td { min-width: 220px; }
      .ae-cmp thead th, .ae-cmp thead td { position: sticky; top: 0; z-index: 1; background: var(--bg-panel); border-bottom: 2px solid var(--border-main); }
      .ae-cmp-keep { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
      .ae-cmp-sec th { background: var(--ae-soft); font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted); padding: 6px 12px; }
      .ae-cmp tr.is-diff > th, .ae-cmp tr.is-diff > td { background: rgba(217, 119, 6, .1); }
      .ae-cmp-missing { color: #b91c1c; font-style: italic; }
      html.dark .ae-cmp-missing { color: #fca5a5; }
      .ae-cmp-steps { list-style: decimal; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; line-height: 1.45; }
      .ae-cmp-steps li.is-diff { background: rgba(217, 119, 6, .14); border-radius: 6px; padding: 2px 6px; margin-left: -6px; }
      .ae-cmp-swatch { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: rgba(217, 119, 6, .25); vertical-align: -1px; margin-right: 4px; }
    }
    @media screen { .ae-cmp.only-diff tbody tr.is-same { display: none; } }
    /* Top bar stays put while the page scrolls; search everything */
    @media screen {
      body > header { position: sticky; top: 0; z-index: 40; }
      html.ae-sx-open { overflow: hidden; }
      .ae-sx-btn { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 10px; border: 1px solid var(--border-main); border-radius: 9px; background: var(--bg-sub, transparent); color: var(--text-muted); font-size: 13px; cursor: pointer; transition: border-color .15s, color .15s; }
      .ae-sx-btn:hover { color: var(--text-main); border-color: var(--text-muted); }
      .ae-sx-btn-text { display: none; }
      .ae-sx-btn-kbd { display: none; font: 11px ui-monospace, monospace; border: 1px solid var(--border-main); border-radius: 4px; padding: 0 5px; line-height: 16px; }
      @media (min-width: 1440px) { .ae-sx-btn { min-width: 132px; } .ae-sx-btn-text { display: inline; flex: 1; text-align: left; } .ae-sx-btn-kbd { display: inline; } }
      @media (min-width: 1680px) { .ae-sx-btn { min-width: 260px; } }
      .ae-sx-overlay { position: fixed; inset: 0; z-index: 200; background: rgba(15, 15, 15, .45); display: flex; justify-content: center; align-items: flex-start; padding: 9vh 16px 16px; }
      .ae-sx-overlay.hidden { display: none; }
      .ae-sx-box { width: 100%; max-width: 680px; max-height: 78vh; display: flex; flex-direction: column; background: var(--bg-panel); color: var(--text-main); border: 1px solid var(--border-main); border-radius: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.28); overflow: hidden; }
      .ae-sx-inputrow { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--border-main); color: var(--text-muted); }
      .ae-sx-inputrow input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; font-size: 17px; color: var(--text-main); }
      .ae-sx-inputrow input::-webkit-search-cancel-button { display: none; }
      .ae-sx-esc { font: 11px ui-monospace, monospace; border: 1px solid var(--border-main); border-radius: 5px; padding: 2px 6px; color: var(--text-muted); }
      .ae-sx-results { overflow-y: auto; padding: 6px 6px 10px; overscroll-behavior: contain; }
      .ae-sx-hint { padding: 18px 14px; font-size: 13px; color: var(--text-muted); line-height: 1.5; }
      .ae-sx-hint kbd { font: 11px ui-monospace, monospace; border: 1px solid var(--border-main); border-radius: 4px; padding: 0 5px; }
      .ae-sx-hint .ae-link { color: var(--text-main); text-decoration: underline; }
      .ae-sx-group { margin-top: 6px; }
      .ae-sx-gh { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); padding: 6px 10px 4px; }
      .ae-sx-gh span { font-weight: 500; opacity: .8; }
      .ae-sx-item { display: flex; gap: 10px; width: 100%; text-align: left; padding: 8px 10px; border-radius: 9px; cursor: pointer; align-items: flex-start; }
      .ae-sx-item.is-sel { background: var(--ae-soft, rgba(0,0,0,.06)); }
      .ae-sx-ic { flex: none; margin-top: 2px; color: var(--text-muted); }
      .ae-sx-title { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; }
      .ae-sx-sub { display: block; font-size: 12px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
      .ae-sx-where { display: block; font-size: 12.5px; color: var(--text-muted); margin-top: 2px; line-height: 1.4; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
      .ae-sx-where b { color: var(--text-main); font-weight: 600; }
      .ae-sx-overlay mark { background: rgba(245, 158, 11, .35); color: inherit; border-radius: 3px; padding: 0 1px; }
      .ae-sx-more { font-size: 12.5px; font-weight: 600; color: var(--text-muted); padding: 4px 10px 6px 36px; }
      .ae-sx-more:hover { color: var(--text-main); text-decoration: underline; }
      @media (max-width: 640px) { .ae-sx-overlay { padding: 0; align-items: stretch; } .ae-sx-box { max-width: none; max-height: none; height: 100%; border-radius: 0; border: 0; } .ae-sx-btn { height: 32px; padding: 0 8px; } }
    }
    @media screen {
      #accountsManagementTableBody tr.ae-staff-grp td { background: var(--bg-panel); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); padding: 8px 12px; position: sticky; top: 0; z-index: 1; }
      #accountsManagementTableBody tr.ae-staff-grp td span { font-weight: 500; opacity: .8; margin-left: 4px; }
    }
    @media screen {
      .ae-acct-avatar { width: 48px; height: 48px; border-radius: 999px; background: var(--ae-soft, #efece6); color: var(--text-main); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; flex-shrink: 0; }
      .ae-acct-sec { border-top: 1px solid var(--border-main); padding-top: 14px; }
      .ae-acct-sec h4 { font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
      .ae-acct-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0; font-size: 14px; }
      .ae-acct-note { background: var(--ae-soft, #f2efe9); border-radius: 12px; padding: 10px 12px; font-size: 13.5px; }
      .ae-acct-ok { background: rgba(22, 163, 74, .1); }
      .ae-acct-err { color: #b91c1c; font-size: 13px; margin-top: 6px; }
      .ae-acct-req { margin-top: 6px; padding: 6px 8px; border-radius: 8px; background: rgba(217, 119, 6, .12); font-size: 11.5px; }
    }
    @media screen {
      .ae-ct-list { display: flex; flex-direction: column; gap: 8px; }
      .ae-ct-row { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--border-main); border-radius: 12px; }
      .ae-ct-dot { width: 22px; height: 22px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; }
      .ae-ct-dot.is-ok { background: rgba(22,163,74,.15); color: #15803d; }
      .ae-ct-dot.is-bad { background: rgba(220,38,38,.12); color: #b91c1c; }
    }
    @media screen {
      .ae-ct-tabs { margin: 2px 0 4px; }
      .ae-ct-table { border: 1px solid var(--border-main); border-radius: 12px; max-height: 52vh; overflow: auto; }
      .ae-ct-mrow { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(220px, 1.6fr) 150px; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--border-main); align-items: start; }
      .ae-ct-urow { display: grid; grid-template-columns: 22px minmax(140px, 1.3fr) minmax(160px, 1fr) 110px; gap: 10px; padding: 9px 12px; border-bottom: 1px solid var(--border-main); align-items: start; cursor: pointer; }
      .ae-ct-urow.is-quiet { opacity: .65; cursor: default; }
      .ae-ct-urow.is-big { background: rgba(217, 119, 6, .08); }
      @media (max-width: 640px) { .ae-ct-mrow, .ae-ct-urow { grid-template-columns: 1fr; } }
    }

.ae-ct-wait{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:10px;background:#fef3c7;color:#78350f;font-size:13px}
.dark .ae-ct-wait{background:#422006;color:#fde68a}
.ae-ct-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:10.5px;font-weight:600;background:#dbeafe;color:#1e40af;vertical-align:1px}
.dark .ae-ct-tag{background:#1e3a8a;color:#bfdbfe}

.ae-ct-arow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--ae-line,rgba(0,0,0,.08));cursor:pointer}
.ae-ct-arow:hover{background:rgba(33,121,191,.06)}

.ae-ct-hide{display:inline-block;margin-right:10px;padding:2px 8px;border-radius:999px;border:1px solid var(--ae-line,rgba(0,0,0,.15));font-size:11.5px;font-weight:600;color:inherit;opacity:.75;vertical-align:top}
.ae-ct-hide:hover{opacity:1;background:rgba(0,0,0,.05)}
.ae-ct-foot{position:sticky;bottom:-24px;z-index:2;margin:0 -24px -24px !important;padding:12px 24px 16px;background:var(--bg-panel);border-top:1px solid var(--border-main);border-radius:0 0 16px 16px}

.ae-ct-prog{padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe}
.dark .ae-ct-prog{background:#172554;border-color:#1e3a8a}
.ae-ct-track{height:10px;border-radius:999px;background:rgba(33,121,191,.15);overflow:hidden;margin-top:8px}
.ae-ct-fill{height:100%;border-radius:999px;background:#2179bf;transition:width .4s ease}
/* pop-up messages sit above every window and its blurred backdrop */
#toastContainer { z-index: 2147483000 !important; }

.ae-dd-group{border:1px solid var(--border-main);border-radius:12px;padding:10px 12px;opacity:.82}
.ae-dd-group.is-on{opacity:1;border-color:#2179bf;box-shadow:0 0 0 1px rgba(33,121,191,.25)}
.ae-dd-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 2px;cursor:pointer}
.ae-dd-tag{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px}
.ae-dd-sure{background:#dcfce7;color:#166534}.ae-dd-likely{background:#dbeafe;color:#1e40af}.ae-dd-maybe{background:#fef3c7;color:#92400e}
.dark .ae-dd-sure{background:#14532d;color:#bbf7d0}.dark .ae-dd-likely{background:#1e3a8a;color:#bfdbfe}.dark .ae-dd-maybe{background:#78350f;color:#fde68a}
.ae-dd-keep{font-size:11px;font-weight:700;color:#2179bf}

.ae-vn-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;min-height:60vh}
@media (max-width:760px){.ae-vn-wrap{grid-template-columns:1fr}.ae-vn-list{max-height:30vh}}
.ae-vn-left{border-right:1px solid var(--border-main);padding-right:14px}
@media (max-width:760px){.ae-vn-left{border-right:0;padding-right:0}}
.ae-vn-list{max-height:62vh;overflow:auto;display:flex;flex-direction:column;gap:2px}
.ae-vn-item{text-align:left;padding:8px 10px;border-radius:10px;width:100%}
.ae-vn-item:hover{background:rgba(33,121,191,.07)}
.ae-vn-item.is-on{background:rgba(33,121,191,.13)}
.ae-vn-day{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border-main);border-radius:999px;font-size:12.5px;cursor:pointer}
.ae-vn-day.is-on{border-color:#2179bf;background:rgba(33,121,191,.12);font-weight:600}
.ae-vn-day input{width:13px;height:13px}
.ae-vn-left{position:sticky;top:0;align-self:start}
@media (max-width:760px){.ae-vn-left{position:static}}
/* Ingredients table: clean name cell */
.ae-itbl-name{display:flex;align-items:flex-start;gap:7px;text-align:left;font-weight:600;font-size:13.5px;line-height:1.3;cursor:pointer;min-width:200px}
.ae-itbl-name:hover{color:#2179bf}
.ae-ing-chev{flex:none;width:7px;height:7px;margin-top:5px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.55;transition:transform .15s}
.ae-ing-chev.is-open{transform:rotate(45deg);margin-top:3px}
.ae-ing-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:6px 0 0 14px}
.ae-ing-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--border-main);font-size:11px;font-weight:500;white-space:nowrap;color:inherit;opacity:.85}
.ae-ing-chip.is-amber{border-color:rgba(245,158,11,.45);color:#b45309;opacity:1}
.dark .ae-ing-chip.is-amber{color:#fbbf24}
.ae-ing-chip.is-warn{border-color:rgba(220,38,38,.35);color:#b91c1c;opacity:1}
.dark .ae-ing-chip.is-warn{color:#fca5a5}
.ae-ing-chip.is-link{cursor:pointer}
.ae-ing-chip.is-link:hover{border-color:#2179bf;color:#2179bf;opacity:1}
select.ae-ing-cat{height:22px;padding:0 22px 0 8px;border-radius:999px;border:1px solid var(--border-main);background-color:var(--bg-panel);color:inherit;font-size:11px;font-weight:500;cursor:pointer;max-width:170px}
select.ae-ing-cat.is-locked{border-color:rgba(33,121,191,.6)}
.ae-ing-vendor{font-family:inherit;font-size:12.5px;color:var(--text-main);font-weight:500}
.ae-ing-alias{display:inline-block;padding:2px 8px;border-radius:6px;background:rgba(120,113,108,.12);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ae-itbl-name,.ae-ing-chip{min-height:0 !important;padding-top:0;padding-bottom:0}
.ae-itbl-name{height:auto !important;padding:0 !important}
.ae-ing-chip{height:22px !important}
.ae-ing-vendor{font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,sans-serif}
#workspaceIngredients td .ae-ing-vendor + div{font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,sans-serif}
/* prices and per-oz costs stay on one line */
#workspaceIngredients tbody td:nth-child(3) > div:first-child,#workspaceIngredients tbody td:nth-child(5){white-space:nowrap}
#workspaceIngredients tbody td:nth-child(3) button{white-space:nowrap}
#workspaceIngredients select.ae-ing-cat{height:22px !important;min-height:0 !important;padding:0 22px 0 8px !important;font-size:11px !important;border-radius:999px !important;line-height:20px}
.ae-dc-tabs{flex-wrap:wrap}
.ae-dc-n{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:10.5px;font-weight:700;line-height:16px;text-align:center}
.dark .ae-dc-n{background:#7f1d1d;color:#fecaca}
.ae-dc-tbl th{text-align:left;font-size:11.5px;font-weight:600;padding:8px 10px;color:var(--text-muted,#78716c);position:sticky;top:0;background:var(--bg-panel);z-index:1}
.ae-dc-tbl td{padding:8px 10px;border-top:1px solid var(--border-main);vertical-align:middle}
.ae-dc-tbl th.text-right,.ae-dc-tbl td.text-right{text-align:right}
.ae-dc-empty{display:flex;align-items:center;gap:8px;padding:18px;border:1px dashed var(--border-main);border-radius:12px;color:#15803d;font-weight:600}

      /* ============ Round 75: recipe + line build sheets match the app ============ */
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) { background: #ffffff !important; border-color: #e7e5e4 !important; font-family: 'Inter', system-ui, sans-serif; color: #1c1917; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .font-mono { font-family: 'Inter', system-ui, sans-serif !important; font-variant-numeric: tabular-nums; letter-spacing: 0 !important; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .font-cinzel { font-family: 'Inter', system-ui, sans-serif !important; font-weight: 700 !important; letter-spacing: 0.09em !important; color: #57534e; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .font-serif:not(h1):not(h2):not(h3) { font-family: 'Inter', system-ui, sans-serif !important; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) :is(h1, h2, h3).font-serif { font-family: 'Source Serif 4', Georgia, serif !important; letter-spacing: -0.01em; color: #1c1917; }
      /* header */
      :is(#sheetConceptText, #cardConceptText, #mobileConceptText) { color: var(--ae-accent-text, #b45309) !important; font-size: 11px !important; letter-spacing: 0.16em !important; }
      :is(#sheetTypeBadge, #cardTypeBadge, #mobileTypeBadge) { background: #f5f5f4 !important; border: 1px solid #e7e5e4; color: #57534e !important; border-radius: 999px !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: 0.06em !important; padding: 2px 9px !important; }
      :is(#sheetStationBadge, #cardStationBadge, #mobileStationBadge) { background: #1c1917 !important; color: #fff !important; border-radius: 999px !important; font-weight: 600 !important; font-size: 11px !important; padding: 3px 11px !important; box-shadow: none !important; }
      :is(#sheetPlateHeaderDisplay, #cardPlateHeaderDisplay, #mobilePlateDisplay, #cardBackStationDisplay) { color: #78716c !important; font-weight: 500 !important; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) :is(.border-b-2.border-stone-900, .border-b-2.border-stone-800) { border-bottom-width: 1px !important; border-color: #d6d3d1 !important; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) :is(.border-stone-200, .border-stone-300) { border-color: #ece9e6 !important; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .text-amber-900, :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .font-cinzel.text-amber-800 { color: #57534e !important; }
      /* photo frames */
      :is(#sheetPhotoBoxWrapper, #mobilePhotoWrapper, #cardFrontPhotoWrapper > div) { border-color: #ece9e6 !important; border-radius: 12px !important; background: #f5f5f4 !important; }
      #cardFrontPrepSummaryWrapper { background: #fafaf9 !important; border-color: #ece9e6 !important; border-radius: 12px !important; }
      /* ingredient amounts */
      :is(#sheetIngredientsList, #mobileIngredientsList, #cardBackIngredientsList, #cardFrontPrepIngSummary) .font-mono:not(button):not(input) { color: #44403c !important; font-weight: 500; }
      :is(#sheetIngredientsList, #mobileIngredientsList, #cardBackIngredientsList) > div:not(.h-2):not(.h-1) { padding-top: 3px !important; padding-bottom: 3px !important; }
      
      #cardBackIngredientsList > div { padding-top: 1px !important; padding-bottom: 1px !important; }
      .ae-sublink { text-decoration-color: #a8a29e !important; }
      button:hover > .ae-sublink { color: var(--ae-accent-text, #b45309) !important; text-decoration-color: var(--ae-accent, #d97706) !important; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) [data-chev] { color: #a8a29e !important; }
      .ae-subdrop { border-left-color: #e7e5e4 !important; }
      .ae-subdrop > button { color: var(--ae-accent-text, #b45309) !important; }
      /* scale bar + on-hand amount boxes (prep recipes) */
      .ae-scalebar { background: #fafaf9 !important; border-color: #e7e5e4 !important; border-radius: 10px !important; padding: 5px 8px !important; }
      .ae-scalebar .font-cinzel { color: #57534e !important; }
      .ae-scale-btn { border-radius: 999px !important; padding: 1px 10px !important; font-weight: 600 !important; background: #fff !important; color: #44403c !important; border: 1px solid #e7e5e4 !important; box-shadow: none !important; }
      .ae-scale-btn.is-on { background: #1c1917 !important; color: #fff !important; border-color: #1c1917 !important; }
      .ae-scalebar > div > div { border-radius: 999px !important; border-color: #e7e5e4 !important; }
      .ae-qty-in { background: #fafaf9 !important; border: 1px solid #e7e5e4 !important; color: #1c1917 !important; border-radius: 6px !important; font-weight: 600 !important; padding: 1px 6px !important; }
      .ae-qty-in:hover { border-color: #d6d3d1 !important; background: #fff !important; }
      .ae-qty-in:focus { background: #fff !important; border-color: var(--ae-accent, #d97706) !important; box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.18); }
      /* procedure */
      .ae-stepnum { display: inline-flex; align-items: center; justify-content: center; min-width: 1.75em; height: 1.75em; padding: 0 0.3em; border-radius: 999px; background: #f5f5f4; border: 1px solid #e7e5e4; color: #44403c !important; font-size: 0.88em !important; font-weight: 700; line-height: 1; margin-top: -0.05em !important; margin-right: 0.35em; }
      .ae-procnote { background: #fffbeb !important; border-left-color: var(--ae-accent, #d97706) !important; border-radius: 0 8px 8px 0 !important; }
      /* allergen bar + chef note */
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .bg-stone-100.border-stone-300, :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .bg-stone-100 { background: #fafaf9 !important; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .bg-red-100.text-red-900 { background: #fef2f2 !important; color: #991b1b !important; border-color: #fecaca !important; border-radius: 999px !important; font-weight: 600 !important; }
      :is(#sheetChefNoteContainer, #cardBackChefNoteContainer, #mobileChefNoteContainer) { background: #fffbeb !important; border-color: #fde68a !important; border-radius: 10px !important; }
      /* yield + shelf life */
      .ae-yield-line { display: inline-flex; flex-wrap: wrap; align-items: baseline; column-gap: 14px; row-gap: 2px; }
      .ae-yield-line strong, .ae-shelf strong { color: #1c1917; font-weight: 600; }
      .ae-yield-line .ae-shelf:not(.hidden) { display: inline; }
      .ae-yield-line .ae-shelf::before { content: ''; display: inline-block; width: 1px; height: 0.9em; background: #d6d3d1; margin-right: 12px; vertical-align: -1px; }
      :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .text-stone-600, :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .text-stone-500 { color: #78716c !important; }
      /* Recipes and line builds in dark mode (on screen only; printing stays light).
         The card is drawn in its light colors and then flipped, so every part of every spec
         stays readable; photos and videos are flipped back to their real colors. The light
         tones set here are the ones that flip into the app's dark palette:
         #DDE2E0 -> #1A1F1D (card), #D4DBD9 -> #202725 (boxes), #C7CFCB -> #2C3430 (lines). */
      @media screen {
        html.dark :is(.sheet-85x11, .card-5x7, .mobile-phone-card) {
          filter: invert(1) hue-rotate(180deg);
          background: #DDE2E0 !important; border-color: #C7CFCB !important; box-shadow: none !important;
          --bg-app: #F8F5EF; --bg-panel: #FFFFFF; --bg-sub: #FBF9F5; --bg-input: #FFFFFF;
          --text-main: #22302B; --text-muted: #5F6B66; --border-main: #E8E1D5; --ae-soft: #EFEAE1;
          --ae-primary: #2F5D50; --ae-primary-hover: #24493F; --ae-on-primary: #F7F3EC;
          --ae-accent: #2F5D50; --ae-accent-text: #2F5D50; --ae-ring: rgba(47, 93, 80, .3);
        }
        html.dark :is(.sheet-85x11, .card-5x7, .mobile-phone-card) :is(img, video, canvas, iframe, [style*="background-image"]) { filter: invert(1) hue-rotate(180deg); }
        html.dark :is(.sheet-85x11, .card-5x7, .mobile-phone-card) :is(#sheetPhotoBoxWrapper, #mobilePhotoWrapper, #cardFrontPhotoWrapper > div, #cardFrontPrepSummaryWrapper, .ae-scalebar, .ae-stepnum, .ae-qty-in, .ae-scale-btn:not(.is-on), .bg-stone-100, .bg-stone-50, [id$="TypeBadge"]) { background: #D4DBD9 !important; }
        html.dark :is(.sheet-85x11, .card-5x7, .mobile-phone-card) :is(.border, .border-b, .border-t, .border-l, .border-r, .border-y, .border-b-2, .border-t-2, hr, .ae-scalebar, .ae-qty-in, .ae-scale-btn, .ae-stepnum, [id$="TypeBadge"], #sheetPhotoBoxWrapper, #mobilePhotoWrapper, #cardFrontPhotoWrapper > div, #cardFrontPrepSummaryWrapper):not(.bg-red-100):not(.is-on):not([id$="StationBadge"]) { border-color: #C7CFCB !important; }
        html.dark :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .ae-subdrop { border-left-color: #C7CFCB !important; }
        html.dark :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .ae-yield-line .ae-shelf::before { background: #C7CFCB; }
        html.dark :is(.sheet-85x11, .card-5x7, .mobile-phone-card) :is(#sheetChefNoteContainer, #cardBackChefNoteContainer, #mobileChefNoteContainer, .ae-procnote) { background: #DCD0B6 !important; border-color: #C6B486 !important; }
        html.dark :is(.sheet-85x11, .card-5x7, .mobile-phone-card) .bg-red-100.text-red-900 { background: #F2D4D4 !important; border-color: #F8B8B8 !important; }
      }

      /* ============ Round 75: recipe editor ============ */
      #authoringFormContainer #inputDishTitle { font-family: 'Inter', system-ui, sans-serif !important; font-weight: 600; font-size: 15px; }
      #authoringFormContainer .font-mono, #studioSubNavBar .font-mono, #liveCostingPillBar, #liveCostingPillBar * { font-family: 'Inter', system-ui, sans-serif !important; font-variant-numeric: tabular-nums; letter-spacing: 0 !important; }
      #liveBatchCostDisplay { color: #1c1917 !important; font-weight: 600; }
      .dark #liveBatchCostDisplay { color: #f5f4f1 !important; }
      #authoringFormContainer .ae-field-lbl { font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
      #authoringFormContainer :is(#inputShelfLife, #inputChefNote):focus { border-color: var(--ae-accent, #d97706) !important; box-shadow: 0 0 0 3px var(--ae-ring, rgba(217,119,6,.35)); }
      /* the sheet sits at the top of the preview area instead of floating in the middle of a tall page */
      main:has(> #cardStageContainer) { align-items: flex-start !important; }
      #cardStageContainer { margin-top: 0 !important; }
      /* Round 76: add dish photos */
      .ae-ph-list { display: grid; gap: 8px; }
      .ae-ph-row { display: grid; grid-template-columns: auto 72px minmax(0, 1fr); gap: 12px; align-items: center; padding: 8px 10px; border: 1px solid var(--border-main); border-radius: 12px; opacity: .8; }
      .ae-ph-row.is-on { opacity: 1; border-color: #2179bf; box-shadow: 0 0 0 1px rgba(33,121,191,.2); }
      .ae-ph-thumb { width: 72px; height: 54px; object-fit: cover; border-radius: 8px; background: var(--bg-panel); border: 1px solid var(--border-main); }
      .ae-ph-note { display: block; font-size: 12px; margin-top: 3px; color: var(--text-muted, #78716c); }
      .ae-ph-note.is-ok { color: #15803d; }
      .ae-ph-note.is-warn { color: #b45309; }
      /* Round 78: the cost pill keeps to one line; when the bar runs out of room it moves to its own row */
      @media (min-width: 1280px) {
        #studioSubNavBar { flex-wrap: wrap !important; row-gap: 8px !important; }
        #studioSubNavBar > div:first-child { flex: 0 1 auto; max-width: 100%; }
        #liveCostingPillBar { flex: 0 0 auto; margin-left: auto; flex-wrap: nowrap !important; white-space: nowrap; width: auto !important; max-width: 100%; }
        #liveCostingPillBar > * { white-space: nowrap; }
      }
      /* Round 79: cards and rows off screen are skipped until you scroll to them (faster big lists) */
      #directoryCardsGrid > div:not(.col-span-full) { content-visibility: auto; contain-intrinsic-size: auto 240px; }
      #ingredientsTableBody > tr, #archiveLineBuildsTableBody > tr, #archiveRecipesTableBody > tr { content-visibility: auto; contain-intrinsic-size: auto 64px; }
      /* Round 81: Undo / Redo */
      .ae-undo-group { border: 1px solid var(--border-main); border-radius: 9px; overflow: hidden; background: var(--bg-panel); }
      #studioSubNavBar .ae-undo-btn { display: inline-flex; align-items: center; gap: 5px; padding: 0 11px; min-height: 34px; border-radius: 0 !important; font-size: 12.5px !important; font-weight: 600; color: var(--text-main); background: transparent; cursor: pointer; }
      #studioSubNavBar .ae-undo-btn + .ae-undo-btn { border-left: 1px solid var(--border-main); padding: 0 9px; }
      #studioSubNavBar .ae-undo-btn:hover:not(:disabled) { background: var(--ae-soft, #f2efe9); }
      #studioSubNavBar .ae-undo-btn:disabled { opacity: .38; cursor: default; }
      /* ===== Round 82 ===== */
      /* spec toolbar stays under the menu bar */
      #workspaceStudio { overflow: clip !important; }
      #studioSubNavBar { position: sticky; top: var(--ae-head-h, 56px); z-index: 40; background: var(--bg-panel); }
      /* suggestions list */
      .ae-ac { padding: 0; }
      .ae-ac-head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 6px 6px 12px; font-size: 11px; font-weight: 600; color: var(--text-muted, #78716c); background: var(--bg-panel); border-bottom: 1px solid var(--border-main); }
      .ae-ac-x { width: 26px; height: 26px; border-radius: 7px; color: #a8a29e; cursor: pointer; }
      .ae-ac-x:hover { color: #b91c1c; background: rgba(185,28,28,.07); }
      .ae-ac-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 12px; font-size: 12.5px; cursor: pointer; border-bottom: 1px solid var(--border-main); }
      .ae-ac-item:hover { background: var(--ae-soft, #f2efe9); }
      .ae-ac-item.is-muted { opacity: .62; }
      .ae-ac-sub { font-size: 11px; color: var(--text-muted, #78716c); margin-left: 4px; }
      .ae-ac-price { font-size: 11.5px; font-weight: 600; color: #15803d; white-space: nowrap; font-variant-numeric: tabular-nums; }
      .ae-ac-tag { display: inline-block; font-size: 9.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 1px 6px; border-radius: 999px; background: rgba(217,119,6,.14); color: var(--ae-accent-text, #b45309); margin-right: 6px; vertical-align: 1px; }
      .ae-ac-concept { display: inline-block; font-size: 10.5px; font-weight: 600; padding: 1px 7px; border-radius: 999px; border: 1px solid var(--border-main); color: var(--text-muted, #78716c); margin-left: 4px; white-space: nowrap; }
      .ae-ac-concept.is-mine { border-color: rgba(33,121,191,.45); color: #2179bf; background: rgba(33,121,191,.07); }
      .ae-ac-sep { padding: 6px 12px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); background: var(--ae-soft, #f2efe9); border-bottom: 1px solid var(--border-main); }
      /* cost / link pill: smaller so it fits on the amount line */
      #ingredientInputsContainer .ae-ing-row > div:nth-child(2) { flex-wrap: nowrap !important; }
      #ingredientInputsContainer .ae-ing-row > div:nth-child(2) > input[aria-label="Unit"] { width: 5.5rem !important; }
      #ingredientInputsContainer .ae-ing-row > div:nth-child(2) > .ml-auto { min-width: 0; display: flex; justify-content: flex-end; }
      #ingredientInputsContainer .ae-ing-badge { font-size: 10.5px !important; padding: 2px 7px !important; line-height: 1.35 !important; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; gap: 3px; }
      #ingredientInputsContainer .ae-ing-badge svg { width: 10px; height: 10px; flex-shrink: 0; }
      input.ae-g-auto { background: var(--ae-soft, #f2efe9) !important; color: var(--text-muted, #78716c) !important; }
      /* named gaps */
      .ae-gap-label.has-label { color: var(--text-main); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: 11px; }
      .ae-gap-name-btn { font-size: 10.5px; font-weight: 600; color: var(--text-muted, #78716c); padding: 1px 7px; border: 1px solid var(--border-main); border-radius: 999px; cursor: pointer; background: var(--bg-panel); }
      .ae-gap-name-btn:hover { color: var(--text-main); border-color: var(--text-muted); }
      .ae-gap-input { min-width: 200px; }
      .ae-gap-head { display: flex; align-items: center; gap: 8px; padding: 6px 0 2px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #57534e; }
      .ae-gap-head::after { content: ''; flex: 1; border-bottom: 1px dashed #d6d3d1; }
      .ae-gap-head.is-sm { padding: 3px 0 1px; font-size: .82em; }
      /* sheet rows evenly spaced, linked recipe or not */
      :is(#sheetIngredientsList, #mobileIngredientsList) > div:not(.h-2):not(.ae-gap-head) { min-height: 1.9em; }
      :is(#sheetIngredientsList, #mobileIngredientsList) button[aria-label="Open recipe page"] { height: 1.25em !important; width: 1.25em !important; margin-top: 0 !important; }
      :is(#sheetIngredientsList, #mobileIngredientsList) > div > .flex > .flex.items-center, :is(#sheetIngredientsList, #mobileIngredientsList) > div.flex > .flex.items-center { margin-top: 0 !important; align-self: flex-start; }
      :is(#sheetIngredientsList, #mobileIngredientsList) .no-print-in-card.ml-1\.5.w-5 { height: 1.25em; }
      /* dragging */
      #ingredientInputsContainer .ae-ing-row, #procedureInputsContainer .ae-step-row { transition: transform .16s ease; }
      .ae-dragging { opacity: .35; }
      /* allergens */
      #allergenTogglesContainer .ae-alg-cell { display: flex; align-items: center; gap: 4px; padding: 5px 6px; border: 1px solid var(--border-main); border-radius: 8px; font-size: 11px; min-width: 0; background: var(--bg-panel); }
      #allergenTogglesContainer .ae-alg-cell.is-on { background: rgba(239,68,68,.1); border-color: rgba(239,68,68,.45); color: #b91c1c; font-weight: 600; }
      #allergenTogglesContainer .ae-alg-cell.is-cc { background: rgba(217,119,6,.1); border-color: rgba(217,119,6,.5); color: #b45309; font-weight: 600; }
      #allergenTogglesContainer .ae-alg-cell.is-auto .ae-alg-main { cursor: pointer; }
      .ae-alg-main { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; cursor: pointer; }
      .ae-alg-tag { font-size: 9.5px; font-weight: 700; padding: 1px 6px; border-radius: 999px; white-space: nowrap; }
      .ae-alg-tag.is-auto { background: rgba(217,119,6,.16); color: #b45309; cursor: pointer; }
      .ae-alg-tag.is-auto:hover { background: rgba(217,119,6,.28); }
      .ae-alg-tag.is-sug { background: rgba(14,165,233,.15); color: #0369a1; }
      .ae-alg-tag.is-cc { background: rgba(217,119,6,.16); color: #b45309; }
      .ae-alg-ccbtn { width: 22px; height: 22px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; color: #a8a29e; cursor: pointer; flex-shrink: 0; }
      .ae-alg-ccbtn:hover { color: #b45309; background: rgba(217,119,6,.1); }
      .ae-alg-ccbtn.is-on { color: #b45309; }
      .ae-alg-why { font-size: 12px; padding: 8px 10px; border-radius: 10px; border: 1px solid rgba(217,119,6,.4); background: rgba(217,119,6,.07); }
      .ae-alg-src { display: inline-block; font-weight: 600; padding: 1px 8px; margin: 2px 2px 0 0; border-radius: 999px; background: var(--bg-panel); border: 1px solid var(--border-main); }
      .ae-alg-legend { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 10.5px; color: var(--text-muted, #78716c); padding-top: 2px; }
      .ae-alg-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 999px; margin-right: 4px; vertical-align: 0; }
      .ae-alg-legend i.is-red { background: #dc2626; } .ae-alg-legend i.is-amber { background: #d97706; }
      .ae-alg-cc { background: #fffbeb !important; color: #92400e !important; border: 1px solid #fcd34d !important; border-radius: 999px !important; }
      /* also used by */
      .ae-sh { position: relative; }
      .ae-sh-sum { list-style: none; display: flex; align-items: center; gap: 6px; padding: 6px 8px 6px 10px; cursor: pointer; min-height: 36px; }
      .ae-sh-sum::-webkit-details-marker { display: none; }
      .ae-sh-pills { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; min-width: 0; font-size: 12.5px; }
      .ae-sh-pill { padding: 1px 8px; border-radius: 999px; background: rgba(33,121,191,.1); color: #1d6aa8; font-weight: 600; font-size: 11.5px; }
      .ae-sh-chev { color: var(--text-muted, #78716c); flex-shrink: 0; transition: transform .15s; }
      .ae-sh[open] .ae-sh-chev { transform: rotate(180deg); }
      .ae-sh-menu { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 60; padding-bottom: 4px; max-height: 280px; overflow-y: auto; }
      .ae-sh-opt { display: flex; align-items: center; gap: 8px; padding: 7px 12px; font-size: 13px; cursor: pointer; }
      .ae-sh-opt:hover { background: var(--ae-soft, #f2efe9); }
      /* ===== Round 83 ===== */
      /* amounts in straight columns: amount | unit | grams */
      .ae-amt { display: inline-grid; grid-template-columns: var(--aq, 3em) var(--au, 4em) var(--ag, 0px); column-gap: .45em; align-items: baseline; font-variant-numeric: tabular-nums; }
      .ae-amt .ae-q { text-align: right; white-space: nowrap; color: #1c1917; font-weight: 600; }
      .ae-amt .ae-u { text-align: left; color: #44403c; overflow-wrap: anywhere; }
      .ae-amt .ae-g { text-align: right; white-space: nowrap; color: #a8a29e; }
      .ae-amt .ae-g:empty { visibility: hidden; }
      :is(#sheetIngredientsList, #mobileIngredientsList) .ae-amt { font-size: 10.5px; }
      #cardBackIngredientsList .ae-amt { font-size: .92em; }
      .ae-amt .ae-qty-in { margin-right: 0 !important; width: 100% !important; }
      /* the ▸ after a linked recipe sits at the end of its name */
      .ae-chev::before { content: '\00a0\25B8'; font-size: .8em; color: #a8a29e; }
      button[aria-expanded="true"] .ae-chev::before { content: '\00a0\25BE'; }
      @media print { .ae-chev { display: none !important; } }
      /* a named gap reads as a heading: a bit more room above it */
      .ae-gap-head { padding-top: 13px !important; }
      .ae-gap-head.is-sm { padding-top: 7px !important; }
      /* the spec toolbar wraps onto a second line instead of pushing Print off the screen */
      #studioSubNavBar > div:first-child { flex-wrap: wrap !important; overflow: visible !important; row-gap: 6px; }
      #studioSubNavBar > div:first-child > div { flex-wrap: wrap; row-gap: 6px; column-gap: 6px; }
      #studioSubNavBar > div:first-child > div > * { margin-left: 0 !important; margin-right: 0 !important; }
      :is(#sheetIngredientsList, #mobileIngredientsList) .no-print-in-card.ml-1\.5.w-5 { width: 1.25em !important; height: 1.25em; }
      :is(#sheetIngredientsList, #mobileIngredientsList) button[aria-label="Open recipe page"] { border: 0 !important; padding: 0 !important; box-sizing: border-box; flex-shrink: 0; }
      :is(#sheetIngredientsList, #mobileIngredientsList) .no-print-in-card.ml-1\.5.w-5 { flex-shrink: 0; }
      :is(#sheetIngredientsList, #mobileIngredientsList) button[aria-label="Open recipe page"], :is(#sheetIngredientsList, #mobileIngredientsList) .no-print-in-card.ml-1\.5.w-5 { width: 14px !important; min-width: 14px; height: 14px !important; margin-left: 6px !important; }
      /* Round 84: CrunchTime "this market buys it as…" */
      .ae-ct-sugbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(33,121,191,.35); background: rgba(33,121,191,.06); font-size: 13px; }
      .ae-ct-urow.is-sug { background: rgba(33,121,191,.04); }
      /* ===== Round 87: the Ingredients table always fits the window ===== */
      #ingredientsTableBody > tr > td:nth-child(2) select { width: 100%; max-width: 200px; text-overflow: ellipsis; }
      #ingredientsTableBody > tr > td:nth-child(2) .ae-ing-vendor { max-width: 200px; overflow-wrap: anywhere; }
      #ingredientsTableBody > tr > td:nth-child(2) { min-width: 0; }
      /* an opened vendor panel scrolls inside itself instead of stretching the whole table */
      #ingredientsTableBody > tr > td[colspan] > div { width: 0; min-width: 100%; box-sizing: border-box; }
      #ingredientsTableBody > tr > td[colspan] .overflow-x-auto { max-width: 100%; }
      #ingredientsTableBody .ae-ing-cat { max-width: 150px; }
      #ingredientsTableBody > tr > td:nth-child(3) button { white-space: normal; flex-wrap: wrap; text-align: left; }
      #ingredientsTableBody > tr > td:nth-child(3) > div { white-space: normal; overflow-wrap: anywhere; }
      #ingredientsTableBody > tr > td:first-child .ae-itbl-name { overflow-wrap: anywhere; }
      #ingredientsTableBody > tr > td:first-child .ae-ing-meta { flex-wrap: wrap; }
      /* Round 89: weight yield hint */
      .ae-wy-hint { grid-column: 1 / -1; font-size: 11px; color: var(--text-muted, #78716c); margin-top: 4px; line-height: 1.35; }
      .ae-wy-use { font-weight: 600; color: #2179bf; text-decoration: underline; cursor: pointer; }
/* Round 90: name cleanup */
.ae-nc-list{border:1px solid var(--border-main);border-radius:12px;overflow:hidden}
.ae-nc-row{display:grid;grid-template-columns:20px minmax(0,1fr) 18px minmax(0,1.15fr) auto auto auto;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--border-main)}
.ae-nc-row:first-child{border-top:0}
.ae-nc-row.is-tick{background:rgba(14,165,233,.06)}
.ae-nc-row.is-clash{background:rgba(239,68,68,.07)}
.ae-nc-old{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ae-nc-arrow{color:var(--text-muted,#888);text-align:center}
.ae-nc-warn{font-size:11.5px;color:#dc2626;margin-top:3px;line-height:1.3}
.ae-nc-tag{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;border:1px solid var(--border-main)}
.ae-nc-ai{color:#7c3aed;border-color:rgba(124,58,237,.4)}
.ae-nc-you{color:#047857;border-color:rgba(4,120,87,.4)}
.ae-nc-rules{color:#0369a1;border-color:rgba(3,105,161,.35)}
.ae-nc-del{font-size:12px;color:#dc2626;background:none;border:0;cursor:pointer;padding:2px 4px}
.ae-nc-del:hover{text-decoration:underline}
.ae-ct-gone{display:block;font-size:11.5px;color:#b45309;margin-top:1px}
.ae-ct-gone.is-back{color:#047857}
@media (max-width:700px){.ae-nc-row{grid-template-columns:20px minmax(0,1fr) auto;}.ae-nc-arrow{display:none}.ae-nc-row>div:nth-of-type(2){grid-column:2/4}}
.ae-nc-keep{font-size:12px;color:#0369a1;background:none;border:0;cursor:pointer;padding:2px 4px;white-space:nowrap}.ae-nc-keep:hover{text-decoration:underline}
/* No cost (water, ice) */
.ae-nocost { display:flex; align-items:flex-start; gap:8px; font-size:12.5px; line-height:1.35; padding:6px 8px; border:1px solid var(--ae-line, rgba(127,127,127,.25)); border-radius:8px; cursor:pointer; }
.ae-nocost input { margin-top:2px; }
#ingModalPackCost:disabled { opacity:.6; cursor:not-allowed; }
.ae-ing-chip.is-free { background: rgba(14,165,233,.12); color:#0369a1; border-color: rgba(14,165,233,.35); }
.dark .ae-ing-chip.is-free { color:#7dd3fc; }
/* Fit to page: long ingredient lists on the 5x7 card and binder page (screen and print) */
:is(#sheetIngredientsList, #cardBackIngredientsList, #sheetProceduresList, #cardBackProceduresList).ae-fitl.ae-fitl > div:not(.ae-scalebar) { padding-top: var(--ae-fp) !important; padding-bottom: var(--ae-fp) !important; min-height: 0 !important; margin-bottom: 0 !important; }
:is(#sheetIngredientsList, #cardBackIngredientsList, #sheetProceduresList, #cardBackProceduresList).ae-fitl.ae-fitl > * + * { margin-top: var(--ae-fg) !important; }
:is(#sheetIngredientsList, #cardBackIngredientsList, #sheetProceduresList, #cardBackProceduresList).ae-fitl.ae-fitl,
:is(#sheetIngredientsList, #cardBackIngredientsList, #sheetProceduresList, #cardBackProceduresList).ae-fitl.ae-fitl * { line-height: var(--ae-flh) !important; }
.ae-fit-host { position: fixed; left: -30000px; top: 0; visibility: hidden; pointer-events: none; }
.ae-fit-host .print-card-page { width: 7in !important; height: 4.88in !important; min-width: 7in !important; min-height: 4.88in !important; max-width: 7in !important; max-height: 4.88in !important; padding: 0.24in !important; box-sizing: border-box !important; overflow: hidden !important; border: none !important; }
.ae-fit-host .print-sheet-page { width: 8.5in !important; height: 10.82in !important; min-width: 8.5in !important; min-height: 10.82in !important; max-width: 8.5in !important; max-height: 10.82in !important; padding: 0.4in !important; box-sizing: border-box !important; overflow: hidden !important; border: none !important; }
.ae-fit-host .no-print-in-card { display: none !important; }
/* Line breaks typed in a step or note (screen and print) */
.ae-ptext { white-space: pre-line; }
/* Drag to reorder: the row stays solid and follows the pointer; the others slide */
@media screen {
  #ingredientInputsContainer .ae-ing-row, #procedureInputsContainer .ae-step-row { transition: transform .2s cubic-bezier(.2,.8,.2,1); }
  #ingredientInputsContainer .ae-ing-row.ae-lifted, #procedureInputsContainer .ae-step-row.ae-lifted { position: relative; z-index: 40; transition: none !important; background: var(--bg-panel, #fff); border-radius: 12px; box-shadow: 0 14px 32px -8px rgba(0,0,0,.30), 0 0 0 1.5px rgba(245,158,11,.6); cursor: grabbing; }
  #ingredientInputsContainer .ae-ing-row.ae-lifted.ae-settle, #procedureInputsContainer .ae-step-row.ae-lifted.ae-settle { transition: transform .16s cubic-bezier(.2,.8,.2,1), box-shadow .16s ease !important; box-shadow: none; }
  body.ae-pdragging, body.ae-pdragging * { cursor: grabbing !important; user-select: none !important; -webkit-user-select: none !important; }
  #ingredientInputsContainer .ae-drag, #procedureInputsContainer .ae-drag, #ingredientInputsContainer .ae-ing-gap { touch-action: none; }
  .ae-new-flash { animation: aeNewFlash 1.2s ease; }
  @keyframes aeNewFlash { 0%, 25% { box-shadow: 0 0 0 2px rgba(245,158,11,.7); background-color: rgba(245,158,11,.12); } 100% { box-shadow: 0 0 0 2px rgba(245,158,11,0); } }
}
/* Editor pane: drag its right edge to resize */
@media screen {
  .ae-sb-grip { position: absolute; top: 0; bottom: 0; right: -5px; width: 10px; z-index: 35; cursor: col-resize; touch-action: none; }
  .ae-sb-grip::after { content: ''; position: absolute; top: 0; bottom: 0; left: 4px; width: 2px; background: transparent; transition: background .15s ease; }
  .ae-sb-grip:hover::after, .ae-sb-grip:focus-visible::after, body.ae-sb-resizing .ae-sb-grip::after { background: var(--ae-accent, #d97706); }
  .ae-sb-grip:focus-visible { outline: none; }
  body.ae-sb-resizing, body.ae-sb-resizing * { cursor: col-resize !important; user-select: none !important; -webkit-user-select: none !important; }
  body.ae-sb-resizing #cardStageContainer { pointer-events: none; }
  #sidebarDrawer { max-width: calc(100% - 320px); }
}
@media screen and (max-width: 767px) { .ae-sb-grip { display: none; } #sidebarDrawer { max-width: 100%; width: 100% !important; } }
/* Spec toolbar: when the buttons do need two lines, the second group sits to the right */
@media screen { #studioSubNavBar > div:first-child > div:last-child { margin-left: auto; justify-content: flex-end; } }
/* Selected items bar: centered, and wraps into centered rows */
@media screen {
  #bulkActionBar { left: 16px !important; right: 16px !important; transform: none !important; --tw-translate-x: 0 !important; margin: 0 auto; width: fit-content; max-width: calc(100vw - 32px); justify-content: center; text-align: center; }
}
@media screen and (min-width: 1280px) { #studioSubNavBar > div:first-child { flex: 1 1 auto !important; } }
/* Save button: every label shares one spot, so the button never changes size; labels fade */
.ae-sv-btn { justify-content: center; }
.ae-sv { display: inline-grid; align-items: center; justify-items: center; }
.ae-sv-l { grid-area: 1 / 1; display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; opacity: 0; transform: translateY(3px) scale(.96); transition: opacity .22s ease, transform .22s ease; pointer-events: none; }
.ae-sv-btn[data-state="save"] .ae-sv-l[data-s="save"],
.ae-sv-btn[data-state="saving"] .ae-sv-l[data-s="saving"],
.ae-sv-btn[data-state="saved"] .ae-sv-l[data-s="saved"],
.ae-sv-btn[data-state="err"] .ae-sv-l[data-s="err"] { opacity: 1; transform: none; }
.ae-sv-i { width: 14px; height: 14px; flex-shrink: 0; }
.ae-sv-i.is-spin { animation: aeSvSpin .9s linear infinite; }
@keyframes aeSvSpin { to { transform: rotate(360deg); } }
#studioSubNavBar #manualSaveCloudBtn.ae-sv-btn[data-state="err"], .ae-sv-btn[data-state="err"] { color: #b91c1c !important; }
@media (prefers-reduced-motion: reduce) { .ae-sv-l { transition: none; } .ae-sv-i.is-spin { animation: none; } }
/* ===== Round 100: phones ===== */
/* Pop-up windows never get stuck: the backdrop scrolls when a window is taller than the screen */
.fixed.inset-0.items-center.justify-center:not(.flex-col) { overflow-y: auto; overscroll-behavior: contain; align-items: flex-start !important; }
.fixed.inset-0.items-center.justify-center:not(.flex-col) > * { margin-top: auto; margin-bottom: auto; flex-shrink: 0; }
@media screen and (max-width: 767px) {
  .fixed.inset-0.items-center.justify-center:not(.flex-col) { padding: 10px !important; }
  .fixed.inset-0.items-center.justify-center:not(.flex-col) > .theme-panel { padding: 16px !important; max-height: none; }
  .fixed.inset-0.items-center.justify-center:not(.flex-col) > .theme-panel.max-h-\[90vh\] { max-height: calc(100dvh - 20px) !important; }
  /* the ingredient window: full screen, title and buttons always on screen */
  #ingredientModal { padding: 0 !important; background: var(--bg-panel, #fff) !important; }
  #ingredientModal > div { max-width: none !important; width: 100% !important; min-height: 100dvh; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 16px !important; margin: 0 !important; }
  #ingredientModal > div > div:first-child { position: sticky; top: 0; z-index: 5; background: var(--bg-panel, #fff); padding-top: 14px; margin: 0 -16px; padding-left: 16px; padding-right: 16px; }
  #ingredientModal > div > div:first-child button { min-width: 44px; min-height: 44px; font-size: 18px; }
  #ingredientModal > div > div:last-child { position: sticky; bottom: 0; z-index: 5; background: var(--bg-panel, #fff); margin: 0 -16px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)) 16px; }
  #ingredientModal > div > div:last-child button { min-height: 44px; font-size: 14px !important; }
  #ingredientModal input, #ingredientModal select, #ingredientModal textarea { font-size: 16px !important; }  /* stops the phone zooming in when you tap a box */

  /* the spec toolbar wraps instead of running off the screen */
  #studioSubNavBar > div:first-child > div { flex-shrink: 1 !important; min-width: 0; max-width: 100%; }
  #studioSubNavBar > div:first-child > div:last-child { justify-content: flex-start; margin-left: 0; }

  /* Ingredients page: each ingredient is a card, Edit is always in reach */
  #ingredientsTableBody, #ingredientsTableBody > tr, #ingredientsTableBody > tr > td { display: block; }
  #ingredientsTableBody { border: 0; }
  #ingredientsTableBody ~ thead, table:has(> #ingredientsTableBody) > thead { display: none; }
  table:has(> #ingredientsTableBody) { display: block; }
  #ingredientsTableBody > tr.ae-ing-tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 6px; padding: 14px 12px; border-top: 1px solid var(--border-main); }
  #ingredientsTableBody > tr.ae-ing-tr > td { padding: 0 !important; min-width: 0; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(1) { grid-column: 1 / -1; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(2) { grid-column: 1; grid-row: 2; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(5) { grid-column: 2; grid-row: 2; text-align: right; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(3) { grid-column: 1; grid-row: 3; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(4) { grid-column: 2; grid-row: 3; text-align: right; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(6), #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(7) { grid-column: 1 / -1; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(8) { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; text-align: left; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(8) > button { margin: 0 !important; min-height: 40px; padding: 0 16px; border: 1px solid var(--border-main); border-radius: 10px; font-size: 14px; text-decoration: none !important; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(4)::before { content: 'Yield '; color: var(--text-muted, #78716c); font-family: Inter, system-ui, sans-serif; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(5)::before { content: 'EP '; color: var(--text-muted, #78716c); font-weight: 400; font-family: Inter, system-ui, sans-serif; }
  #ingredientsTableBody > tr.ae-ing-tr > td:nth-child(6)::before { content: 'Allergens: '; color: var(--text-muted, #78716c); }
  #ingredientsTableBody > tr.ae-ing-tr .ae-itbl-name { font-size: 15px; }
  #ingredientsTableBody > tr:not(.ae-ing-tr) > td { padding: 10px 12px !important; }
}
@media screen and (max-width: 767px) {
  #ingredientModal .grid.grid-cols-3:has(#ingModalPackCost) { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  #ingredientModal .ae-nocost { grid-column: 1 / -1; }
}
@media screen and (max-width: 767px) {
  input[type="checkbox"]:not(.sr-only):not(.hidden) { min-width: 18px; min-height: 18px; }
  #workspaceTraining button[onclick*="switchWorkspace('home')"] { min-height: 36px; }
}
/* Editor edge: a small pill with three lines shows it can be dragged */
@media screen {
  .ae-sb-pill { position: absolute; top: 50%; left: 1px; width: 14px; height: 46px; border-radius: 999px; background: var(--bg-panel, #fff); border: 1px solid var(--border-main, #d6d3d1); box-shadow: 0 2px 6px rgba(0,0,0,.10); display: flex; align-items: center; justify-content: center; gap: 2px; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; pointer-events: none; }
  .ae-sb-pill i { display: block; width: 1.5px; height: 16px; border-radius: 1px; background: var(--text-muted, #8a847c); transition: background .15s ease; }
  .ae-sb-grip:hover .ae-sb-pill, .ae-sb-grip:focus-visible .ae-sb-pill, body.ae-sb-resizing .ae-sb-pill { border-color: var(--ae-accent, #d97706); box-shadow: 0 2px 10px rgba(217,119,6,.25); }
  .ae-sb-grip:hover .ae-sb-pill i, .ae-sb-grip:focus-visible .ae-sb-pill i, body.ae-sb-resizing .ae-sb-pill i { background: var(--ae-accent, #d97706); }
  .ae-sb-grip { right: -8px; width: 16px; display: block; }
  .ae-sb-grip::after { left: 7px; }
}
/* ===== Round 103: spec toolbar picks a tidy layout for its width ===== */
@media screen {
  #studioSubNavBar.ae-tb { display: grid !important; column-gap: 8px; row-gap: 8px; align-items: center; }
  #studioSubNavBar.ae-tb > div:first-child, #studioSubNavBar.ae-tb > div:first-child > div:last-child { display: contents !important; }
  #studioSubNavBar.ae-tb #aeTbNav { grid-area: nav; display: flex; align-items: center; flex-wrap: nowrap !important; gap: 6px; min-width: 0; }
  #studioSubNavBar.ae-tb #aeTbDisp { grid-area: disp; display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; justify-self: start; }
  #studioSubNavBar.ae-tb #aeTbAct { grid-area: act; display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; justify-self: end; }
  #studioSubNavBar.ae-tb #aeTbNav > *, #studioSubNavBar.ae-tb #aeTbDisp > *, #studioSubNavBar.ae-tb #aeTbAct > * { margin: 0 !important; flex-shrink: 0; }
  #studioSubNavBar.ae-tb #liveCostingPillBar { grid-area: pill; width: auto !important; max-width: 100%; margin: 0 !important; flex-wrap: nowrap !important; white-space: nowrap; justify-self: end; }
  /* while measuring: every group in one line at its natural size */
  #studioSubNavBar.ae-tb.ae-tb-measure { display: flex !important; flex-wrap: nowrap !important; overflow: hidden; }
  #studioSubNavBar.ae-tb.ae-tb-measure :is(#aeTbNav, #aeTbDisp, #aeTbAct, #liveCostingPillBar) { flex: 0 0 auto !important; }
  #studioSubNavBar.ae-tb-one   { grid-template-columns: auto minmax(8px, 1fr) auto auto auto; grid-template-areas: "nav . disp act pill"; }
  #studioSubNavBar.ae-tb-two   { grid-template-columns: auto minmax(8px, 1fr) auto auto; grid-template-areas: "nav . disp act" "pill pill pill pill"; }
  #studioSubNavBar.ae-tb-split { grid-template-columns: auto minmax(8px, 1fr) auto; grid-template-areas: "nav . act" "disp . pill"; }
  #studioSubNavBar.ae-tb-three { grid-template-columns: auto minmax(8px, 1fr) auto; grid-template-areas: "nav . act" "disp disp disp" "pill pill pill"; }
  #studioSubNavBar.ae-tb-three #liveCostingPillBar { justify-self: start; }
  #studioSubNavBar.ae-tb-phone { grid-template-columns: minmax(0, 1fr); grid-template-areas: "nav" "disp" "act" "pill"; }
  #studioSubNavBar.ae-tb-phone :is(#aeTbNav, #aeTbDisp) { flex-wrap: wrap !important; row-gap: 6px; }
  #studioSubNavBar.ae-tb-phone #aeTbAct { justify-self: start; }
  #studioSubNavBar.ae-tb-phone #liveCostingPillBar { justify-self: stretch; white-space: normal; flex-wrap: wrap !important; }
}
/* ===== Round 104: Chef Tools — Station Maps (screen and paper) ===== */
.ae-chef-kicker { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ae-accent, #b45309); }
.ae-chef-title { font-family: Georgia, 'Times New Roman', serif; font-size: 30px; font-weight: 700; line-height: 1.15; margin-top: 2px; }
.ae-chef-sub { font-size: 13.5px; color: var(--text-muted, #6b6560); margin-top: 4px; }
.ae-sm-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 10px; padding: 10px 12px; border: 1px solid var(--border-main, #e7e5e4); border-radius: 14px; background: var(--bg-panel, #fff); }
.ae-sm-sel { display: flex; flex-direction: column; gap: 3px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-sm-sel select { min-width: 150px; font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--text-main, #1c1917); background: var(--bg-input, #fff); border: 1px solid var(--border-main, #d6d3d1); border-radius: 9px; padding: 6px 10px; }
.ae-sm-saved { font-size: 12px; align-self: center; }
.ae-sm-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; align-items: start; }
.ae-sm-canvaswrap { position: relative; min-width: 0; }
.ae-sm-canvas { overflow: auto; height: calc(100vh - 290px); min-height: 420px; border: 1px solid var(--border-main, #e7e5e4); border-radius: 14px;
  background-color: var(--bg-sub, #fafaf8); background-image: radial-gradient(circle, rgba(120,113,108,.22) 1px, transparent 1.2px); background-size: 18px 18px; }
.ae-sm-canvasin { position: relative; }
.ae-sm-zoom { position: absolute; right: 12px; bottom: 12px; display: flex; align-items: center; gap: 2px; background: var(--bg-panel, #fff); border: 1px solid var(--border-main, #e7e5e4); border-radius: 10px; padding: 2px; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.ae-sm-zoom button { width: 30px; height: 28px; border-radius: 8px; font-size: 16px; font-weight: 700; }
.ae-sm-zoom button:hover { background: var(--ae-soft, #f2efe9); }
.ae-sm-zoom span { font-size: 12px; min-width: 42px; text-align: center; font-variant-numeric: tabular-nums; }
.ae-sm-blank { position: absolute; left: 40px; top: 40px; max-width: 420px; padding: 18px 20px; border: 1.5px dashed var(--border-main, #d6d3d1); border-radius: 14px; font-size: 13.5px; line-height: 1.5; background: var(--bg-panel, #fff); }
.ae-sm-eq { position: absolute; background: #fff; border: 1.5px solid #57534e; border-radius: 10px; padding: 0 6px 6px; box-shadow: 0 2px 6px rgba(0,0,0,.08); color: #1c1917; }
.ae-sm-eq.is-moving { box-shadow: 0 14px 30px -8px rgba(0,0,0,.35), 0 0 0 2px rgba(217,119,6,.6); z-index: 20; }
.ae-sm-eqhead { display: flex; align-items: center; gap: 4px; height: 34px; }
.ae-sm-eqhead.is-ro { justify-content: center; }
.ae-sm-eqtitle { font-weight: 700; font-size: 13px; }
.ae-sm-grab { cursor: grab; color: #a8a29e; font-size: 13px; padding: 4px 3px; touch-action: none; user-select: none; letter-spacing: -2px; }
.ae-sm-eqname { flex: 1; min-width: 60px; font-weight: 700; font-size: 13px; border: 1px solid transparent; border-radius: 7px; padding: 3px 6px; background: transparent; color: #1c1917; }
.ae-sm-eqname:hover, .ae-sm-eqname:focus { border-color: #d6d3d1; background: #fff; outline: none; }
.ae-sm-eqhead button { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 7px; color: #78716c; flex-shrink: 0; }
.ae-sm-eqhead button:hover { background: #f5f5f4; color: #1c1917; }
.ae-sm-bays { display: flex; gap: 4px; align-items: stretch; }
.ae-sm-bays.is-col { flex-direction: column; }
.ae-sm-bay { position: relative; background: #e7e5e4; border-radius: 5px; padding: 3px; flex-shrink: 0; box-sizing: border-box; }
.ae-sm-stack { display: flex; flex-direction: column; gap: 3px; height: 100%; }
.ae-sm-stack.is-row { flex-direction: row; }
.ae-sm-third { display: flex; gap: 3px; }
.ae-sm-third.is-col { flex-direction: column; }
.ae-sm-cell { box-sizing: border-box; background: #dbe7f3; border: 1px solid #b7c9dc; border-radius: 4px; padding: 3px 4px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 1px; cursor: pointer; line-height: 1.15; user-select: none; }
.ae-sm-cell.is-full { background: #cfe0f1; }
.ae-sm-cell:hover { border-color: #64748b; }
.ae-sm-cell.is-sel { outline: 2.5px solid #d97706; outline-offset: -1px; border-color: #d97706; }
.ae-sm-ing { font-size: 11px; font-weight: 700; color: #1e293b; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; word-break: break-word; }
.ae-sm-tool { font-size: 9.5px; color: #475569; display: inline-flex; align-items: center; gap: 2px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ae-sm-tool svg { flex-shrink: 0; }
.ae-sm-note { font-size: 9px; color: #64748b; font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ae-sm-empty { color: #94a3b8; font-size: 15px; font-weight: 600; }
.ae-sm-baydel { position: absolute; top: -8px; right: -8px; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 1px solid #d6d3d1; color: #78716c; font-size: 13px; line-height: 1; display: none; align-items: center; justify-content: center; z-index: 2; }
.ae-sm-bay:hover .ae-sm-baydel { display: inline-flex; }
.ae-sm-baydel:hover { color: #b91c1c; border-color: #fca5a5; }
.ae-sm-addbay { min-width: 30px; min-height: 30px; flex: 0 0 30px; border: 1.5px dashed #a8a29e; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: #78716c; font-size: 18px; font-weight: 600; cursor: pointer; }
.ae-sm-addbay:hover { border-color: #d97706; color: #d97706; }
.ae-sm-hot { outline: 3px solid #d97706 !important; outline-offset: 1px; background-color: rgba(217,119,6,.12) !important; }
.ae-sm-ghost { position: fixed; z-index: 400; pointer-events: none; padding: 6px 10px; border-radius: 9px; background: #1c1917; color: #fff; font-size: 12.5px; font-weight: 600; box-shadow: 0 8px 20px rgba(0,0,0,.25); max-width: 240px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.ae-sm-dragging, body.ae-sm-dragging * { cursor: grabbing !important; user-select: none !important; }
.ae-sm-side { display: flex; flex-direction: column; gap: 12px; }
.ae-sm-card { border: 1px solid var(--border-main, #e7e5e4); border-radius: 14px; background: var(--bg-panel, #fff); padding: 12px; }
.ae-sm-sidehead { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; }
.ae-sm-sidehead .theme-muted, .ae-sm-sidehead .ae-link { font-weight: 500; letter-spacing: 0; text-transform: none; font-size: 12px; }
.ae-sm-palette { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.ae-sm-pal { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 2px 6px; border: 1px solid var(--border-main, #e7e5e4); border-radius: 10px; cursor: grab; touch-action: none; user-select: none; font-size: 12px; font-weight: 700; background: var(--bg-sub, #fafaf8); }
.ae-sm-pal:hover { border-color: #d97706; }
.ae-sm-pal svg { fill: #b7c9dc; stroke: #64748b; stroke-width: .8; }
.ae-sm-hint { font-size: 12px; color: var(--text-muted, #78716c); line-height: 1.45; margin-top: 8px; }
.ae-sm-field { display: flex; flex-direction: column; gap: 3px; font-size: 11px; font-weight: 600; color: var(--text-muted, #78716c); margin-bottom: 8px; }
.ae-sm-field input { font-size: 14px; font-weight: 500; color: var(--text-main, #1c1917); background: var(--bg-input, #fff); border: 1px solid var(--border-main, #d6d3d1); border-radius: 9px; padding: 7px 10px; }
.ae-sm-field input:focus { outline: none; border-color: #d97706; box-shadow: 0 0 0 3px rgba(217,119,6,.2); }
.ae-sm-q { width: 100%; font-size: 13px; border: 1px solid var(--border-main, #d6d3d1); border-radius: 9px; padding: 6px 10px; margin-bottom: 8px; background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-sm-items { display: flex; flex-direction: column; gap: 4px; max-height: 340px; overflow: auto; }
.ae-sm-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 9px; border-radius: 8px; border: 1px solid var(--border-main, #e7e5e4); font-size: 12.5px; background: var(--bg-sub, #fafaf8); }
.ae-sm-item[data-item] { cursor: grab; touch-action: none; user-select: none; }
.ae-sm-item[data-item]:hover { border-color: #d97706; }
.ae-sm-item.is-placed { opacity: .55; }
.ae-sm-itemname { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-sm-itemn { font-size: 11px; font-weight: 700; color: var(--text-muted, #78716c); flex-shrink: 0; display: inline-flex; }
.ae-sm-item.is-placed .ae-sm-itemn { color: #15803d; }
html.dark .ae-sm-canvas { background-image: radial-gradient(circle, rgba(214,211,209,.14) 1px, transparent 1.2px); }
@media (max-width: 1023px) {
  .ae-sm-wrap { grid-template-columns: minmax(0, 1fr); }
  .ae-sm-canvas { height: 62vh; min-height: 340px; }
  .ae-sm-side { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (max-width: 640px) {
  .ae-chef-title { font-size: 24px; }
  .ae-sm-sel select { min-width: 0; width: 100%; }
  .ae-sm-sel { flex: 1 1 45%; }
  .ae-sm-palette { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
/* paper */
.ae-sm-print { font-family: Inter, system-ui, sans-serif; color: #111; }
.ae-sm-print-h { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid #1c1917; padding-bottom: 6px; margin-bottom: 12px; }
.ae-sm-print-k { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #92400e; }
.ae-sm-print-t { font-family: Georgia, serif; font-size: 22px; font-weight: 700; }
.ae-sm-print-d { font-size: 11px; color: #57534e; }
.ae-sm-print-map { position: relative; overflow: hidden; }
.ae-sm-print-list { break-before: page; page-break-before: always; }
.ae-sm-print-list table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ae-sm-print-list th { text-align: left; font-size: 9.5px; text-transform: uppercase; letter-spacing: .08em; color: #57534e; border-bottom: 1.5px solid #1c1917; padding: 5px 6px; }
.ae-sm-print-list td { border-bottom: 1px solid #e7e5e4; padding: 5px 6px; vertical-align: top; }
@media print { .ae-sm-eq { box-shadow: none !important; } .ae-sm-cell.is-sel { outline: none !important; } }
/* the side column is as tall as the map, so the station's items sit beside it */
@media (min-width: 1024px) {
  .ae-sm-side { height: calc(100vh - 290px); min-height: 420px; position: sticky; top: 8px; overflow: auto; }
  .ae-sm-card-items { flex: 1 1 auto; min-height: 160px; display: flex; flex-direction: column; overflow: hidden; }
  .ae-sm-card-items .ae-sm-items { flex: 1 1 auto; max-height: none; min-height: 0; }
}

/* ===== Round 105: Chef Tools landing page; turn pan spaces; blank, resizable equipment; dishes list ===== */
#aeChefRoot .ae-chef-head > div { min-width: 0; }
.ae-chef-back { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ae-accent, #b45309); padding: 2px 6px 2px 2px; margin-left: -2px; border-radius: 6px; }
.ae-chef-back:hover { background: var(--ae-soft, #f2efe9); }
.ae-chef-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 340px)); gap: 16px; margin-top: 18px; }
.ae-chef-card { display: flex; flex-direction: column; text-align: left; border: 1px solid var(--border-main, #e7e5e4); border-radius: 16px; background: var(--bg-panel, #fff); overflow: hidden; transition: border-color .15s, box-shadow .15s, transform .15s; }
.ae-chef-card:hover { border-color: #d97706; box-shadow: 0 10px 24px -12px rgba(0,0,0,.25); transform: translateY(-1px); }
.ae-chef-card:focus-visible { outline: 3px solid rgba(217,119,6,.5); outline-offset: 2px; }
.ae-chef-art { display: block; height: 150px; padding: 10px 14px; background-color: var(--bg-sub, #fafaf8); background-image: radial-gradient(circle, rgba(120,113,108,.22) 1px, transparent 1.2px); background-size: 14px 14px; border-bottom: 1px solid var(--border-main, #e7e5e4); }
.ae-chef-cardbody { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
.ae-chef-cardtitle { font-family: Georgia, 'Times New Roman', serif; font-size: 19px; font-weight: 700; color: var(--text-main, #1c1917); }
.ae-chef-carddesc { font-size: 13px; line-height: 1.45; color: var(--text-muted, #6b6560); }
.ae-chef-cardmeta { font-size: 11.5px; font-weight: 600; color: var(--ae-accent, #b45309); margin-top: 4px; }
html.dark .ae-chef-art { background-image: radial-gradient(circle, rgba(214,211,209,.14) 1px, transparent 1.2px); }
.ae-sm-bayrot { position: absolute; top: -8px; left: -8px; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 1px solid #d6d3d1; color: #78716c; display: none; align-items: center; justify-content: center; z-index: 2; }
.ae-sm-bay:hover .ae-sm-bayrot { display: inline-flex; }
.ae-sm-bayrot:hover { color: #d97706; border-color: #d97706; }
.ae-sm-panacts { display: inline-flex; gap: 10px; }
.ae-sm-rs { position: absolute; z-index: 3; touch-action: none; }
.ae-sm-rs-e { top: 10px; bottom: 10px; right: -5px; width: 10px; cursor: ew-resize; }
.ae-sm-rs-s { left: 10px; right: 10px; bottom: -5px; height: 10px; cursor: ns-resize; }
.ae-sm-rs-se { right: -6px; bottom: -6px; width: 14px; height: 14px; cursor: nwse-resize; }
.ae-sm-rs-e::after, .ae-sm-rs-s::after { content: ''; position: absolute; border-radius: 3px; background: #a8a29e; opacity: 0; transition: opacity .15s; }
.ae-sm-rs-e::after { right: 3px; top: 50%; width: 4px; height: 28px; margin-top: -14px; }
.ae-sm-rs-s::after { bottom: 3px; left: 50%; height: 4px; width: 28px; margin-left: -14px; }
.ae-sm-rs-se::after { content: ''; position: absolute; right: 4px; bottom: 4px; width: 7px; height: 7px; border-right: 2px solid #a8a29e; border-bottom: 2px solid #a8a29e; opacity: 0; transition: opacity .15s; }
.ae-sm-eq:hover .ae-sm-rs::after, .ae-sm-rs:hover::after, .ae-sm-eq.is-moving .ae-sm-rs::after { opacity: 1; }
.ae-sm-rs:hover::after { background: #d97706; border-color: #d97706; }
.ae-sm-eq.is-blank { background: repeating-linear-gradient(135deg, #fff 0 10px, #f7f6f4 10px 20px); }
.ae-sm-eqblank { font-size: 11px; color: #a8a29e; padding: 6px 2px 0; }
.ae-sm-seg { display: flex; gap: 2px; padding: 2px; border-radius: 10px; background: var(--ae-soft, #f2efe9); margin-bottom: 8px; }
.ae-sm-seg button { flex: 1; font-size: 12px; font-weight: 600; padding: 5px 6px; border-radius: 8px; color: var(--text-muted, #78716c); }
.ae-sm-seg button.is-on { background: var(--bg-panel, #fff); color: var(--text-main, #1c1917); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.ae-sm-dish { border: 1px solid var(--border-main, #e7e5e4); border-radius: 9px; background: var(--bg-panel, #fff); flex-shrink: 0; }
.ae-sm-dish.is-open { border-color: #d6d3d1; }
.ae-sm-dishhead { display: flex; align-items: center; gap: 4px; padding-right: 5px; }
.ae-sm-dishbtn { flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px; padding: 7px 4px 7px 8px; font-size: 12.5px; font-weight: 600; text-align: left; color: var(--text-main, #1c1917); }
.ae-sm-chev { flex-shrink: 0; color: #a8a29e; transition: transform .15s; }
.ae-sm-dish.is-open .ae-sm-chev { transform: rotate(90deg); }
.ae-sm-dishname { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-sm-dishn { flex-shrink: 0; font-size: 11px; font-weight: 700; color: var(--text-muted, #78716c); font-variant-numeric: tabular-nums; }
.ae-sm-dishn.is-done { color: #15803d; }
.ae-sm-dishfill { flex-shrink: 0; font-size: 11px; font-weight: 700; color: #b45309; padding: 3px 7px; border-radius: 6px; border: 1px solid #fcd34d; background: #fffbeb; }
.ae-sm-dishfill:hover { background: #fef3c7; }
.ae-sm-dishitems { display: flex; flex-direction: column; gap: 3px; padding: 0 6px 6px 22px; }
.ae-sm-dishitems .ae-sm-item { padding: 4px 8px; font-size: 12px; }
.ae-sm-dishitems .ae-sm-itemn { font-weight: 500; max-width: 45%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-sm-eq { min-width: 220px; }
.ae-sm-eqname { width: 0; }
@media (min-width: 1024px) {
  .ae-sm-card-items { min-height: 340px; flex-shrink: 0; flex-grow: 1; }
  .ae-sm-card-items .ae-sm-items { min-height: 140px; }
}
/* a tighter side panel so the dishes list has room */
.ae-sm-side .ae-sm-card { padding: 10px 12px; }
.ae-sm-side .ae-sm-sidehead { margin-bottom: 6px; }
.ae-sm-side .ae-sm-pal { padding: 6px 2px 4px; }
.ae-sm-side .ae-sm-pal svg { width: 24px; height: 37px; }
.ae-sm-side .ae-sm-hint { margin-top: 6px; font-size: 11.5px; }
.ae-sm-side .ae-sm-field { flex-direction: row; align-items: center; gap: 8px; margin-bottom: 6px; }
.ae-sm-side .ae-sm-field > span { width: 46px; flex-shrink: 0; line-height: 1.15; }
.ae-sm-side .ae-sm-field input { flex: 1; min-width: 0; font-size: 13.5px; padding: 5px 9px; }
.ae-sm-side #aeSmPanel .ae-sm-field:last-child { margin-bottom: 0; }
@media (min-width: 1024px) {
  .ae-sm-card-items { min-height: 300px; }
}
/* ===== Round 105: Line Check ===== */
.ae-lc-day { display: flex; align-items: center; gap: 2px; }
.ae-lc-day > button { width: 30px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; color: var(--text-main, #1c1917); }
.ae-lc-day > button:hover:not(:disabled) { background: var(--ae-soft, #f2efe9); }
.ae-lc-day > button:disabled { opacity: .3; }
.ae-lc-daylbl { position: relative; font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--text-main, #1c1917); background: var(--bg-input, #fff); border: 1px solid var(--border-main, #d6d3d1); border-radius: 9px; padding: 6px 10px; cursor: pointer; white-space: nowrap; }
.ae-lc-daylbl input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.ae-lc-daylbl input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; cursor: pointer; }
.ae-day .ae-lc-todaybtn, .ae-lc-todaybtn { font-size: 12px; font-weight: 700; text-transform: none; letter-spacing: 0; color: #b45309; padding: 4px 8px; border-radius: 8px; margin-left: 4px; }
.ae-lc-todaybtn:hover { background: #fffbeb; }
.ae-lc-banner { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 9px 12px; border-radius: 11px; font-size: 13px; background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.ae-lc-banner.is-done { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.ae-lc-wrap { margin-top: 14px; }
.ae-lc-canvas .ae-sm-cell { cursor: pointer; transition: transform .1s; }
.ae-lc-canvas .ae-sm-cell:hover { transform: scale(1.03); z-index: 1; position: relative; }
.ae-sm-cell.ae-lc-todo { background: #fff; border: 1.5px dashed #94a3b8; }
.ae-sm-cell.ae-lc-ok { background: #dcfce7; border-color: #22c55e; }
.ae-sm-cell.ae-lc-fix { background: #fee2e2; border-color: #ef4444; }
.ae-sm-cell.ae-lc-nocheck { background: #f5f5f4; border-color: #e7e5e4; cursor: default !important; transform: none !important; }
.ae-sm-cell { position: relative; }
.ae-lc-cmark { position: absolute; top: 2px; left: 2px; width: 15px; height: 15px; border-radius: 50%; background: #16a34a; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 800; }
.ae-lc-cmark.is-fix { background: #dc2626; }
.ae-lc-ccam { position: absolute; top: 2px; right: 2px; color: #475569; }
.ae-lc-ctemp { font-size: 11px; font-weight: 800; color: #0f172a; font-variant-numeric: tabular-nums; }
.ae-lc-fix .ae-lc-ctemp { color: #b91c1c; }
.ae-lc-bar { height: 8px; border-radius: 99px; background: var(--ae-soft, #f2efe9); overflow: hidden; }
.ae-lc-bar i { display: block; height: 100%; background: #16a34a; border-radius: 99px; transition: width .3s; }
.ae-lc-stats { display: flex; justify-content: space-between; gap: 6px; font-size: 12px; color: var(--text-muted, #78716c); margin-top: 8px; }
.ae-lc-stats b { color: var(--text-main, #1c1917); font-size: 14px; margin-right: 2px; }
.ae-lc-stats .is-bad b { color: #dc2626; }
.ae-lc-next { width: 100%; margin-top: 10px; justify-content: center; }
.ae-lc-filter button { font-size: 11.5px; padding: 5px 2px; }
.ae-lc-list { gap: 6px; }
.ae-lc-row { display: flex; flex-direction: column; gap: 3px; text-align: left; width: 100%; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--border-main, #e7e5e4); background: var(--bg-sub, #fafaf8); flex-shrink: 0; }
.ae-lc-row:hover { border-color: #d97706; }
.ae-lc-row.is-ok { background: var(--bg-panel, #fff); }
.ae-lc-row.is-fix { background: #fef2f2; border-color: #fecaca; }
.ae-lc-rowtop { display: flex; align-items: center; gap: 7px; width: 100%; }
.ae-lc-dot { width: 9px; height: 9px; border-radius: 50%; border: 1.5px dashed #94a3b8; flex-shrink: 0; }
.ae-lc-row.is-ok .ae-lc-dot { background: #16a34a; border: 0; }
.ae-lc-row.is-fix .ae-lc-dot { background: #dc2626; border: 0; }
.ae-lc-rowname { flex: 1; min-width: 0; font-size: 13px; font-weight: 700; color: var(--text-main, #1c1917); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-lc-temp { font-size: 12px; font-weight: 800; padding: 1px 7px; border-radius: 99px; background: #dcfce7; color: #166534; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.ae-lc-temp.is-bad { background: #fee2e2; color: #b91c1c; }
.ae-lc-rowsub { font-size: 11px; color: var(--text-muted, #78716c); padding-left: 16px; }
.ae-lc-status { font-size: 11.5px; font-weight: 700; padding-left: 16px; }
.ae-lc-status.is-fix { color: #b91c1c; }
.ae-lc-rownote { font-size: 12.5px; color: var(--text-main, #1c1917); padding-left: 16px; white-space: pre-line; line-height: 1.4; }
.ae-lc-thumb { margin: 2px 0 0 16px; width: 84px; height: 64px; object-fit: cover; border-radius: 7px; border: 1px solid var(--border-main, #e7e5e4); }
.ae-lc-rowby { font-size: 10.5px; color: var(--text-muted, #a8a29e); padding-left: 16px; }
/* the pop-up */
.ae-lc-ov { position: fixed; inset: 0; z-index: 300; background: rgba(28,25,23,.45); display: none; align-items: center; justify-content: center; padding: 16px; }
.ae-lc-ov.is-open { display: flex; }
body.ae-lc-lock { overflow: hidden; }
.ae-lc-modal { width: 100%; max-width: 480px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); display: flex; flex-direction: column; background: var(--bg-panel, #fff); color: var(--text-main, #1c1917); border-radius: 18px; box-shadow: 0 24px 60px -12px rgba(0,0,0,.45); overflow: hidden; }
.ae-lc-mhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 16px 18px 12px; border-bottom: 1px solid var(--border-main, #e7e5e4); }
.ae-lc-mkick { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-lc-mtitle { font-family: Georgia, 'Times New Roman', serif; font-size: 22px; font-weight: 700; line-height: 1.2; margin-top: 2px; }
.ae-lc-mtool { font-size: 12.5px; color: var(--text-muted, #78716c); margin-top: 2px; }
.ae-lc-x { width: 34px; height: 34px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; color: var(--text-muted, #78716c); }
.ae-lc-x:hover { background: var(--ae-soft, #f2efe9); color: var(--text-main, #1c1917); }
.ae-lc-mbody { padding: 14px 18px; overflow: auto; display: flex; flex-direction: column; gap: 16px; }
.ae-lc-mlabel { display: block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); margin-bottom: 6px; }
/* line check: voice notes */
.ae-lc-voicerow { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-top: 8px; }
.ae-lc-voice { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 16px 0 13px; border-radius: 999px; border: 1px solid var(--border-main, #e7e5e4); background: var(--bg-panel, #fff); color: var(--text-main, #1c1917); font-size: 14px; font-weight: 600; cursor: pointer; }
.ae-lc-voice:hover { border-color: var(--ae-accent, #2F5D50); }
.ae-lc-voice.is-rec { background: #b91c1c; border-color: #b91c1c; color: #fff; animation: aeVmPulse 1.4s ease-in-out infinite; }
.ae-lc-voice.is-busy { opacity: .75; cursor: wait; }
@keyframes aeVmPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(185, 28, 28, .45); } 50% { box-shadow: 0 0 0 7px rgba(185, 28, 28, 0); } }
.ae-lc-voicespin { width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: aeVmSpin .8s linear infinite; }
@keyframes aeVmSpin { to { transform: rotate(360deg); } }
.ae-lc-voicemsg { font-size: 12.5px; color: var(--text-muted, #78716c); }
.ae-lc-voicemsg.is-bad { color: #b91c1c; }
html.dark .ae-lc-voicemsg.is-bad { color: #fca5a5; }
.ae-lc-tempbox { display: flex; align-items: baseline; gap: 6px; }
.ae-lc-tempbox input { width: 130px; font-size: 34px; font-weight: 800; font-variant-numeric: tabular-nums; padding: 4px 12px; border: 1.5px solid var(--border-main, #d6d3d1); border-radius: 12px; background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-lc-tempbox input:focus { outline: none; border-color: #d97706; box-shadow: 0 0 0 3px rgba(217,119,6,.2); }
.ae-lc-tempbox input.is-bad { border-color: #ef4444; color: #b91c1c; }
.ae-lc-tempbox span { font-size: 20px; font-weight: 700; color: var(--text-muted, #78716c); }
.ae-lc-holds { display: flex; gap: 6px; margin-top: 8px; }
.ae-lc-holds button { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 6px 4px; border-radius: 10px; border: 1px solid var(--border-main, #e7e5e4); font-size: 13px; color: var(--text-main, #1c1917); background: var(--bg-sub, #fafaf8); }
.ae-lc-holds button small { font-size: 10.5px; color: var(--text-muted, #78716c); font-weight: 500; }
.ae-lc-holds button.is-on { border-color: #d97706; background: #fffbeb; box-shadow: 0 0 0 1px #d97706 inset; }
.ae-lc-warn { display: none; margin-top: 8px; font-size: 12.5px; font-weight: 600; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; border-radius: 9px; padding: 7px 10px; }
.ae-lc-warn.is-on { display: block; }
.ae-lc-status2 { display: flex; gap: 8px; }
.ae-lc-status2 button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 8px; border-radius: 11px; border: 1.5px solid var(--border-main, #e7e5e4); font-size: 14px; font-weight: 700; color: var(--text-muted, #57534e); background: var(--bg-sub, #fafaf8); }
.ae-lc-status2 button[data-st="ok"].is-on { border-color: #16a34a; background: #f0fdf4; color: #15803d; }
.ae-lc-status2 button[data-st="fix"].is-on { border-color: #dc2626; background: #fef2f2; color: #b91c1c; }
.ae-lc-mbody textarea { width: 100%; font-size: 15px; line-height: 1.45; padding: 9px 11px; border: 1px solid var(--border-main, #d6d3d1); border-radius: 11px; background: var(--bg-input, #fff); color: var(--text-main, #1c1917); resize: vertical; }
.ae-lc-mbody textarea:focus { outline: none; border-color: #d97706; box-shadow: 0 0 0 3px rgba(217,119,6,.2); }
.ae-lc-photo { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.ae-lc-pimg { position: relative; }
.ae-lc-pimg img { max-width: 100%; max-height: 260px; border-radius: 12px; border: 1px solid var(--border-main, #e7e5e4); display: block; }
.ae-lc-premove { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; font-size: 18px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.ae-lc-pbtn { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 11px; border: 1.5px dashed #a8a29e; font-size: 14px; font-weight: 600; cursor: pointer; color: var(--text-main, #1c1917); }
.ae-lc-pbtn:hover { border-color: #d97706; color: #b45309; }
.ae-lc-pbtn input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.ae-lc-pbusy { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-muted, #78716c); }
.ae-lc-spin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #e7e5e4; border-top-color: #d97706; animation: aeLcSpin .8s linear infinite; }
@keyframes aeLcSpin { to { transform: rotate(360deg); } }
.ae-lc-mfoot { display: flex; align-items: center; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--border-main, #e7e5e4); background: var(--bg-sub, #fafaf8); }
@media (max-width: 640px) {
  .ae-lc-ov { padding: 0; align-items: flex-end; }
  .ae-lc-modal { max-width: none; border-radius: 18px 18px 0 0; max-height: 94vh; max-height: 94dvh; }
  .ae-lc-mfoot { padding-bottom: calc(12px + env(safe-area-inset-bottom)); flex-wrap: wrap; }
  .ae-lc-mfoot .ae-btn-sm { flex: 1; justify-content: center; padding-top: 10px; padding-bottom: 10px; }
  .ae-lc-daysel { flex-basis: 100% !important; }
  .ae-lc-daylbl { flex: 1; text-align: center; }
}
@media (max-width: 1023px) { .ae-lc-canvas { height: 46vh; } }
/* paper */
.ae-lc-psum { font-size: 11px; color: #44403c; margin-bottom: 10px; }
.ae-lc-print table { width: 100%; border-collapse: collapse; font-size: 10.5px; }
.ae-lc-print th { text-align: left; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; color: #57534e; border-bottom: 1.5px solid #1c1917; padding: 5px 5px; }
.ae-lc-print td { border-bottom: 1px solid #e7e5e4; padding: 5px 5px; vertical-align: top; break-inside: avoid; }
.ae-lc-print tr.is-fix td { background: #fef2f2; }
.ae-lc-print img { width: 64px; height: 48px; object-fit: cover; border-radius: 4px; }
.ae-lc-psub { font-size: 9px; color: #78716c; }
.ae-lc-pimg.is-busy img { opacity: .55; }
/* Line Check on phones and tablets */
.ae-lc-viewseg { margin: 0; min-width: 140px; }
.ae-lc-viewseg button { padding: 6px 10px; font-size: 13px; }
.ae-lc-tileswrap { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.ae-lc-eqgrp { border: 1px solid var(--border-main, #e7e5e4); border-radius: 14px; background: var(--bg-panel, #fff); padding: 10px; }
.ae-lc-eqhead { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; font-weight: 700; margin: 0 2px 8px; }
.ae-lc-eqhead > span:last-child { font-size: 12px; color: var(--text-muted, #78716c); font-variant-numeric: tabular-nums; }
.ae-lc-eqhead > span.is-done { color: #15803d; }
.ae-lc-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.ae-lc-tile { display: flex; flex-direction: column; gap: 4px; min-height: 84px; padding: 9px 10px; text-align: left; border-radius: 12px; border: 1.5px dashed #a8b6c7; background: #fff; color: #1c1917; -webkit-tap-highlight-color: transparent; transition: transform .08s; }
.ae-lc-tile:active { transform: scale(.97); }
.ae-lc-tile.is-ok { border: 1.5px solid #22c55e; background: #f0fdf4; }
.ae-lc-tile.is-fix { border: 1.5px solid #ef4444; background: #fef2f2; }
.ae-lc-tiletop { display: flex; justify-content: space-between; align-items: center; font-size: 10.5px; font-weight: 700; color: #64748b; letter-spacing: .04em; }
.ae-lc-tilename { font-size: 14px; font-weight: 700; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ae-lc-tilefoot { margin-top: auto; display: flex; justify-content: space-between; align-items: baseline; gap: 6px; font-size: 11.5px; color: #64748b; }
.ae-lc-tilefoot b { font-size: 15px; color: #15803d; font-variant-numeric: tabular-nums; }
.ae-lc-tilefoot b.is-bad { color: #b91c1c; }
.ae-lc-tile.is-fix .ae-lc-tilefoot span { color: #b91c1c; font-weight: 700; }
.ae-lc-tile.is-ok .ae-lc-tilefoot span { color: #15803d; font-weight: 600; }
.ae-lc-neg { width: 38px; height: 38px; margin-left: 4px; border-radius: 10px; border: 1px solid var(--border-main, #d6d3d1); font-size: 18px; font-weight: 700; color: var(--text-muted, #57534e); align-self: center; }
.ae-lc-dock { display: none; }
@media (max-width: 1023px) {
  .ae-lc-sum { display: none; }
  .ae-lc-dock { display: flex; align-items: center; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--bg-panel, #fff); border-top: 1px solid var(--border-main, #e7e5e4); box-shadow: 0 -6px 20px -10px rgba(0,0,0,.25); }
  .ae-lc-dockinfo { flex: 1; min-width: 0; font-size: 13px; color: var(--text-muted, #57534e); }
  .ae-lc-dockinfo b { color: var(--text-main, #1c1917); font-size: 15px; }
  .ae-lc-dockinfo .is-bad { color: #dc2626; font-weight: 700; }
  .ae-lc-dockinfo .ae-lc-bar { margin-top: 5px; height: 6px; }
  .ae-lc-docknext { padding: 12px 22px; font-size: 15px; border-radius: 12px; flex-shrink: 0; }
  body.ae-lc-hasdock { padding-bottom: 84px; }
  .ae-lc-wrap .ae-sm-side { display: block; }
  .ae-lc-notes { min-height: 0 !important; }
  .ae-lc-notes .ae-sm-items { max-height: none; overflow: visible; }
  .ae-lc-canvas { height: 52vh; min-height: 300px; }
}
@media (max-width: 640px) {
  .ae-lc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ae-lc-viewseg { flex: 1 1 100%; }
  .ae-lc-mbody { gap: 14px; }
  .ae-lc-tempbox input { width: 120px; font-size: 32px; }
  .ae-lc-holds button { padding: 8px 4px; }
  .ae-lc-status2 button { padding: 13px 8px; }
  #aeChefRoot .ae-chef-sub { font-size: 13px; }
}
/* ===== Shift Notes ===== */
.ae-sn-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 14px; align-items: start; margin-top: 14px; }
.ae-sn-main { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; min-width: 0; }
.ae-sn-card { border: 1px solid var(--border-main, #e7e5e4); border-radius: 16px; background: var(--bg-panel, #fff); overflow: hidden; }
.ae-sn-head { display: flex; align-items: center; gap: 8px; padding: 11px 14px; border-bottom: 1px solid var(--border-main, #e7e5e4); }
.ae-sn-am .ae-sn-head { background: linear-gradient(90deg, #fffbeb, transparent 70%); }
.ae-sn-pm .ae-sn-head { background: linear-gradient(90deg, #eef2ff, transparent 70%); }
.ae-sn-ico { display: inline-flex; color: #d97706; }
.ae-sn-pm .ae-sn-ico { color: #4f46e5; }
.ae-sn-head h2 { font-family: Georgia, 'Times New Roman', serif; font-size: 18px; font-weight: 700; }
.ae-sn-state { margin-left: auto; font-size: 11.5px; color: var(--text-muted, #78716c); text-align: right; }
.ae-sn-state .is-bad { color: #dc2626; font-weight: 700; }
.ae-sn-text { display: block; width: 100%; min-height: 200px; border: 0; resize: none; padding: 14px 16px; font-size: 15px; line-height: 1.55; background: transparent; color: var(--text-main, #1c1917); overflow: hidden; }
.ae-sn-text:focus { outline: none; background: rgba(217,119,6,.03); }
.ae-sn-view { padding: 14px 16px; min-height: 120px; }
.ae-sn-viewtext { white-space: pre-line; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.ae-sn-past { position: sticky; top: 8px; max-height: calc(100vh - 120px); display: flex; flex-direction: column; }
.ae-sn-list { display: flex; flex-direction: column; gap: 6px; overflow: auto; min-height: 0; }
.ae-sn-day { display: flex; flex-direction: column; gap: 3px; text-align: left; padding: 9px 11px; border-radius: 11px; border: 1px solid var(--border-main, #e7e5e4); background: var(--bg-sub, #fafaf8); flex-shrink: 0; }
.ae-sn-day:hover { border-color: #d97706; }
.ae-sn-day.is-on { border-color: #d97706; background: #fffbeb; box-shadow: 0 0 0 1px #d97706 inset; }
.ae-sn-daylbl { font-size: 13px; font-weight: 700; color: var(--text-main, #1c1917); }
.ae-sn-snip { font-size: 12px; color: var(--text-muted, #6b6560); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ae-sn-snip b { font-size: 10px; font-weight: 800; letter-spacing: .06em; margin-right: 5px; color: #b45309; }
.ae-sn-snip + .ae-sn-snip b { color: #4f46e5; }
@media (max-width: 1279px) { .ae-sn-main { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1023px) {
  .ae-sn-wrap { grid-template-columns: minmax(0, 1fr); }
  .ae-sn-past { position: static; max-height: none; }
  .ae-sn-list { max-height: 60vh; }
}
@media (max-width: 640px) { .ae-sn-text { font-size: 16px; padding: 12px 14px; } .ae-sn-head { padding: 10px 12px; } }
/* paper */
.ae-sn-psec { margin-bottom: 18px; break-inside: avoid; }
.ae-sn-ph { display: flex; justify-content: space-between; align-items: baseline; font-family: Georgia, serif; font-size: 16px; font-weight: 700; border-bottom: 1px solid #a8a29e; padding-bottom: 3px; margin-bottom: 6px; }
.ae-sn-ph span { font-family: Inter, system-ui, sans-serif; font-size: 10px; font-weight: 500; color: #57534e; }
.ae-sn-pt { white-space: pre-line; font-size: 12px; line-height: 1.5; }
/* the Daily Tools cards sit three across */
.ae-chef-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); max-width: 1120px; }
/* phones zoom into boxes with text under 16px; keep them at 16px */
@media (max-width: 640px) { .ae-lc-mbody textarea, #aeChefRoot .ae-sm-q, #aeChefRoot .ae-sm-sel select, .ae-lc-daylbl { font-size: 16px; } }
#aeSnRoot > .ae-chef-head { margin-bottom: 16px; }
@media (max-width: 1023px) { body.ae-lc-hasdock #toastContainer { margin-bottom: 80px; } }
/* station maps: open space in a pan space, drop preview, text that fits small pans */
.ae-sm-open { box-sizing: border-box; border: 1.5px dashed #b8b2ad; border-radius: 4px; background: repeating-linear-gradient(135deg, transparent 0 6px, rgba(120,113,108,.07) 6px 12px); display: flex; align-items: center; justify-content: center; color: #8a817c; font-size: 10px; font-weight: 600; letter-spacing: .02em; flex-shrink: 0; }
.ae-lc-canvas .ae-sm-open, #printContainer .ae-sm-open { border-style: dotted; background: none; }
.ae-sm-prev { position: absolute; box-sizing: border-box; border: 2.5px solid #d97706; background: rgba(217,119,6,.16); border-radius: 4px; pointer-events: none; z-index: 3; }
.ae-sm-ing { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; word-break: normal; -webkit-line-clamp: 4; line-height: 1.15; }
/* line check: correct tooling */
.ae-lc-toolwant { display: flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-main, #1c1917); margin-bottom: 8px; }
.ae-lc-toolwant svg { flex-shrink: 0; color: #78716c; }
.ae-lc-toolwant b { font-weight: 800; }
.ae-lc-status2 button[data-tool="yes"].is-on { border-color: #16a34a; background: #f0fdf4; color: #15803d; }
.ae-lc-status2 button[data-tool="no"].is-on { border-color: #dc2626; background: #fef2f2; color: #b91c1c; }
.ae-lc-toolseen { margin-top: 8px; }
.ae-lc-toolseen[hidden] { display: none; }
.ae-lc-toolseen input { width: 100%; box-sizing: border-box; padding: 9px 11px; border-radius: 10px; border: 1.5px solid var(--border-main, #e7e5e4); font-size: 14px; background: var(--bg-card, #fff); color: inherit; }
.ae-lc-psub.is-bad { color: #b91c1c; font-weight: 700; }
@media (max-width: 640px) { .ae-lc-toolseen input { font-size: 16px; } }
.ae-lc-pbad { color: #b91c1c; font-weight: 800; }
/* tall thin pans: read top to bottom */
.ae-sm-cell.is-vert { writing-mode: vertical-rl; padding: 3px 2px; }
.ae-sm-cell.is-vert .ae-sm-tool svg { transform: rotate(90deg); }
.ae-sm-cell.is-vert .ae-lc-cmark, .ae-sm-cell.is-vert .ae-lc-ccam { writing-mode: horizontal-tb; }
/* line check marks: on small pans the green or red colour says it, so the corner badge steps aside for the name */
.ae-lc-cmark { width: 12px; height: 12px; top: 1px; left: 1px; font-size: 9px; }
.ae-lc-cmark svg { width: 8px; height: 8px; }
.ae-lc-tiletool { display: flex; align-items: center; gap: 4px; font-size: 12px; color: #57534e; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 0; } .ae-lc-tiletool svg { flex-shrink: 0; }

/* station maps: names and tools shown in full; smaller type only as a pan needs it */
.ae-sm-cell { padding: 3px 4px; gap: 1px; }
.ae-sm-ing { font-size: 12px; line-height: 1.15; -webkit-line-clamp: unset; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
.ae-sm-tool { display: block; white-space: normal; font-size: 10.5px; line-height: 1.15; text-align: center; max-width: 100%; overflow: visible; overflow-wrap: break-word; color: #475569; font-weight: 600; }
.ae-sm-tool svg { display: inline; vertical-align: -1px; margin-right: 2px; }
.ae-sm-tooltx { white-space: normal; }
.ae-sm-toolsh { display: none; }
.ae-sm-cell.fit-1 { padding: 2px 3px; gap: 0; }
.ae-sm-cell.fit-1 .ae-sm-ing { font-size: 11px; }
.ae-sm-cell.fit-1 .ae-sm-tool { font-size: 10px; }
.ae-sm-cell.fit-2 .ae-sm-note { display: none; }
.ae-sm-cell.fit-2 .ae-sm-ing { font-size: 10px; }
.ae-sm-cell.fit-2 .ae-sm-tool { font-size: 9.5px; }
.ae-sm-cell.fit-3 .ae-sm-ing { font-size: 9.5px; }
.ae-sm-cell.fit-3 .ae-sm-tool { font-size: 9px; }
.ae-sm-cell.fit-4 { padding: 1px 2px; }
.ae-sm-cell.fit-4 .ae-sm-ing { font-size: 9px; letter-spacing: -.01em; }
.ae-sm-cell.fit-4 .ae-sm-tool { font-size: 8.5px; }
.ae-sm-cell.fit-4 .ae-sm-tool svg { display: none; }
.ae-sm-cell.fit-4 .ae-lc-ctemp { font-size: 10px; }
.ae-sm-cell.fit-5 .ae-sm-ing { font-size: 8.5px; overflow-wrap: anywhere; }
.ae-sm-cell.fit-5 .ae-sm-tooltx { display: none; }
.ae-sm-cell.fit-5 .ae-sm-toolsh { display: inline; }
.ae-sm-cell.fit-6 .ae-sm-tool { display: none; }
.ae-sm-cell.fit-3 .ae-lc-cmark, .ae-sm-cell.fit-3 .ae-lc-ccam { display: none; }
.ae-sm-cell.is-vert .ae-lc-cmark, .ae-sm-cell.is-vert .ae-lc-ccam { display: none; }
/* line check: unit temperatures */
.ae-lc-unit { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; padding: 3px 9px; border-radius: 999px; border: 1.5px dashed #94a3b8; background: #fff; color: #475569; font-size: 11.5px; font-weight: 700; line-height: 1.2; cursor: pointer; white-space: nowrap; vertical-align: middle; }
.ae-lc-unit:hover { border-color: #d97706; color: #b45309; }
.ae-lc-unit.is-ok { border: 1.5px solid #22c55e; background: #f0fdf4; color: #15803d; }
.ae-lc-unit.is-fix { border: 1.5px solid #ef4444; background: #fef2f2; color: #b91c1c; }
.ae-lc-unit.is-none { border-style: dotted; cursor: default; color: #a8a29e; }
.ae-lc-unit span { font-weight: 600; }
.ae-lc-unit b { font-variant-numeric: tabular-nums; }
.ae-sm-eqhead.is-ro { gap: 2px; }
.ae-sm-eqhead button.ae-lc-unit { width: auto; height: 26px; border-radius: 999px; padding: 0 10px; }
.ae-sm-eqhead button.ae-lc-unit.is-todo { color: #475569; }
.ae-lc-eqhead { gap: 6px; align-items: center; }
.ae-lc-eqhead .ae-lc-unit { margin-left: auto; }
@media (max-width: 520px) { .ae-lc-holds4 { flex-wrap: wrap; } .ae-lc-holds4 button { flex: 1 1 calc(50% - 3px); } }
.ae-lc-unitok { display: none; margin-top: 8px; font-size: 13px; font-weight: 700; color: #15803d; }
.ae-lc-unitok.is-on { display: block; }
.ae-lc-ustat { display: flex; align-items: center; gap: 6px; font-size: 12.5px; margin: 8px 0 2px; color: var(--text-muted, #57534e); }
.ae-lc-ustat.is-bad { color: #b91c1c; }
.ae-lc-subhead { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #78716c; margin: 6px 2px 4px; }
.ae-lc-punits { margin-bottom: 14px; }
/* corner of a piece with pans: drag to scale the pans */
.ae-sm-rs-se.is-scale { width: 18px; height: 18px; right: -7px; bottom: -7px; }
.ae-sm-rs-se.is-scale::after { width: 9px; height: 9px; border-width: 2.5px; opacity: .55; }
.ae-sm-scaletag { position: absolute; right: 14px; bottom: 12px; z-index: 4; background: #1c1917; color: #fff; font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 999px; pointer-events: none; }
/* station maps on phones: drag by holding, or tap to pick and tap to place */
.ae-sm-pal { touch-action: none; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.ae-sm-item, .ae-sm-cell { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.ae-sm-pal.is-armed, .ae-sm-item.is-armed { border-color: #d97706 !important; background: #fffbeb !important; box-shadow: 0 0 0 2px #d97706 inset; }
body.ae-sm-armed #aeSmCanvasIn { cursor: copy; }
body.ae-sm-armed #aeSmCanvasIn .ae-sm-cell, body.ae-sm-armed #aeSmCanvasIn .ae-sm-open, body.ae-sm-armed #aeSmCanvasIn .ae-sm-addbay { cursor: copy; }
body.ae-sm-armed #aeSmCanvas { box-shadow: 0 0 0 2px #d97706 inset; }
.ae-sm-armbar { position: fixed; left: 50%; bottom: max(16px, env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 350; display: flex; align-items: center; gap: 12px; max-width: calc(100vw - 32px); padding: 10px 12px 10px 16px; border-radius: 14px; background: #1c1917; color: #fff; font-size: 13.5px; line-height: 1.3; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.ae-sm-armbar b { color: #fcd34d; }
.ae-sm-armbar button { flex-shrink: 0; padding: 7px 12px; border-radius: 9px; background: #fff; color: #1c1917; font-weight: 700; font-size: 13px; }
/* tablets and phones: the pan sizes sit right above the map, so a pan can be dragged or tapped onto it */
@media (max-width: 1023px) {
  .ae-sm-wrap:not(.ae-lc-wrap) > .ae-sm-side { display: contents; }
  .ae-sm-wrap:not(.ae-lc-wrap) > .ae-sm-canvaswrap { order: 1; }
  .ae-sm-wrap:not(.ae-lc-wrap) > .ae-sm-side > .ae-sm-card { order: 2; }
  .ae-sm-wrap:not(.ae-lc-wrap) > .ae-sm-side > .ae-sm-card-pal { order: 0; padding: 10px 12px; }
  .ae-sm-card-pal .ae-sm-hint { margin: 6px 0 0; font-size: 12px; }
}
/* station maps: each piece is an open well; pans sit anywhere in it */
.ae-sm-wellwrap { display: flex; gap: 4px; align-items: stretch; }
.ae-sm-wellwrap.is-col { flex-direction: column; }
.ae-sm-well { position: relative; flex-shrink: 0; border-radius: 5px; background-color: #e7e5e4; background-image: linear-gradient(to right, rgba(120,113,108,.13) 1px, transparent 1px), linear-gradient(to bottom, rgba(120,113,108,.13) 1px, transparent 1px); }
.ae-sm-well > .ae-sm-cell { position: absolute; box-sizing: border-box; }
.ae-sm-cell.is-lifted { opacity: .35; }
.ae-sm-prev.is-bad { border-color: #dc2626; background: rgba(220,38,38,.12); }
.ae-sm-eq.is-blank { background: #fff; }
.ae-sm-well > .ae-sm-eqblank { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px; font-size: 12px; color: #78716c; pointer-events: none; }
.ae-sm-wellwrap.is-col > .ae-sm-addbay { min-height: 30px; flex: 0 0 30px; }
html.dark .ae-sm-well { background-color: #3a3734; }
.ae-sm-cell.is-lifted { pointer-events: none; }
/* ===== Daily Tools: Menus ===== */
.ae-mn-wrap { display: grid; grid-template-columns: 260px minmax(0, 1fr) 320px; gap: 14px; align-items: start; margin-top: 14px; }
.ae-mn-list { position: sticky; top: 8px; }
.ae-mn-lis { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.ae-mn-li { display: flex; align-items: center; gap: 4px; border-radius: 10px; }
.ae-mn-li.is-on { background: #fffbeb; box-shadow: 0 0 0 1.5px #d97706 inset; }
.ae-mn-libtn { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; text-align: left; }
.ae-mn-li:not(.is-on) .ae-mn-libtn:hover { background: var(--bg-sub, #f5f5f4); }
.ae-mn-liic { flex-shrink: 0; width: 30px; height: 30px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-sub, #f5f5f4); color: #57534e; }
.ae-mn-litx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ae-mn-lit { font-weight: 700; font-size: 14px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-mn-lim { font-size: 11.5px; color: var(--text-muted, #78716c); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-mn-libad { flex-shrink: 0; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #fef3c7; color: #b45309; border: 1px solid #f59e0b; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.ae-mn-liok { flex-shrink: 0; width: 22px; height: 22px; border-radius: 999px; background: #dcfce7; color: #15803d; display: inline-flex; align-items: center; justify-content: center; }
.ae-mn-limove { display: flex; flex-direction: column; }
.ae-mn-limove button { font-size: 11px; line-height: 1; padding: 2px 5px; color: #a8a29e; } .ae-mn-limove button:hover:not(:disabled) { color: #1c1917; } .ae-mn-limove button:disabled { opacity: .3; }
.ae-mn-drop, .ae-mn-bigdrop { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 4px; border: 2px dashed #d6d3d1; border-radius: 12px; padding: 16px 12px; color: #57534e; cursor: pointer; font-size: 13px; }
.ae-mn-drop span, .ae-mn-bigdrop span { font-size: 12px; color: var(--text-muted, #78716c); }
.ae-mn-drop:hover, .ae-mn-bigdrop:hover, body.ae-mn-dragging .ae-mn-drop, body.ae-mn-dragging .ae-mn-bigdrop { border-color: #d97706; background: #fffbeb; color: #b45309; }
.ae-mn-bigdrop { min-height: 360px; font-size: 15px; gap: 8px; }
body.ae-mn-dragging .ae-mn-wrap { outline: 3px dashed #d97706; outline-offset: 6px; border-radius: 14px; }
.ae-mn-none { grid-column: 2 / 4; }
.ae-mn-view { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.ae-mn-vhead { display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.ae-mn-vtitle { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: 6px; }
.ae-mn-vtitle h2 { font-family: var(--font-serif, Georgia, serif); font-size: 22px; font-weight: 700; margin: 0; }
.ae-mn-titlein { font-size: 20px; font-weight: 700; border: 1px solid transparent; border-radius: 8px; padding: 2px 6px; margin-left: -7px; background: transparent; color: inherit; width: 100%; }
.ae-mn-titlein:hover, .ae-mn-titlein:focus { border-color: var(--border-main, #e7e5e4); background: var(--bg-card, #fff); outline: none; }
.ae-mn-vmeta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; }
.ae-mn-vmeta select { font-size: 12.5px; padding: 4px 8px; border-radius: 8px; border: 1px solid var(--border-main, #e7e5e4); background: var(--bg-card, #fff); color: inherit; }
.ae-mn-vacts { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.ae-mn-viewer { border-radius: 10px; overflow: hidden; background: #f5f5f4; border: 1px solid var(--border-main, #e7e5e4); }
.ae-mn-frame { display: block; width: 100%; height: 78vh; min-height: 520px; border: 0; background: #fff; }
.ae-mn-imgwrap { max-height: 80vh; overflow: auto; background: #fff; text-align: center; }
.ae-mn-img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.ae-mn-text { margin: 0; padding: 18px; max-height: 78vh; overflow: auto; white-space: pre-wrap; font-size: 13px; background: #fff; }
.ae-mn-empty { min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 24px; }
.ae-mn-fileic { width: 56px; height: 56px; border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: center; color: #57534e; }
.ae-mn-fileic svg { width: 28px; height: 28px; }
.ae-mn-check { position: sticky; top: 8px; max-height: calc(100vh - 24px); display: flex; flex-direction: column; }
.ae-mn-sum { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border-radius: 10px; font-size: 13.5px; }
.ae-mn-sum.is-bad { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; }
.ae-mn-sum.is-ok { background: #f0fdf4; border: 1px solid #86efac; color: #166534; }
.ae-mn-sum svg { flex-shrink: 0; }
.ae-mn-counts { font-size: 12px; color: var(--text-muted, #78716c); margin: 6px 2px 8px; }
.ae-mn-items { overflow: auto; min-height: 120px; display: flex; flex-direction: column; gap: 6px; padding-right: 2px; }
.ae-mn-sec { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #78716c; margin: 8px 2px 0; }
.ae-mn-row { border: 1px solid var(--border-main, #e7e5e4); border-radius: 10px; padding: 8px 10px; background: var(--bg-card, #fff); }
.ae-mn-row.is-missing { border-color: #fcd34d; background: #fffdf5; }
.ae-mn-rowtop { display: flex; gap: 8px; align-items: baseline; }
.ae-mn-name { flex: 1; font-weight: 700; font-size: 13.5px; line-height: 1.3; }
.ae-mn-price { font-size: 12.5px; color: var(--text-muted, #78716c); font-variant-numeric: tabular-nums; }
.ae-mn-desc { font-size: 12px; color: var(--text-muted, #78716c); margin-top: 2px; line-height: 1.35; }
.ae-mn-rowbot { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.ae-mn-tag { display: inline-flex; align-items: center; max-width: 100%; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-mn-tag.is-ok { background: #dcfce7; color: #166534; } button.ae-mn-tag.is-ok:hover { background: #bbf7d0; }
.ae-mn-tag.is-bad { background: #fef3c7; color: #92400e; }
.ae-mn-tag.is-skip { background: #f5f5f4; color: #78716c; }
.ae-mn-acts { display: inline-flex; gap: 8px; margin-left: auto; }
.ae-mn-acts button { font-size: 11.5px; font-weight: 600; color: #b45309; } .ae-mn-acts button:hover { text-decoration: underline; }
.ae-mn-pick { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.ae-mn-pick input { width: 100%; box-sizing: border-box; padding: 7px 10px; border-radius: 8px; border: 1.5px solid #d97706; font-size: 13px; background: var(--bg-card, #fff); color: inherit; }
.ae-mn-opts { max-height: 220px; overflow: auto; display: flex; flex-direction: column; border: 1px solid var(--border-main, #e7e5e4); border-radius: 8px; }
.ae-mn-opts button { text-align: left; padding: 7px 10px; font-size: 13px; border-bottom: 1px solid var(--border-main, #f0efed); display: flex; justify-content: space-between; gap: 8px; }
.ae-mn-opts button:hover { background: #fffbeb; } .ae-mn-opts small { color: #a8a29e; font-size: 11px; }
.ae-mn-busy { display: flex; align-items: center; gap: 8px; padding: 14px 4px; font-size: 13px; color: var(--text-muted, #57534e); }
.ae-mn-barwarn { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: 12.5px; font-weight: 700; }
@media (max-width: 1279px) { .ae-mn-wrap { grid-template-columns: 240px minmax(0, 1fr); } .ae-mn-check { grid-column: 2; position: static; max-height: none; } .ae-mn-none { grid-column: 2; } }
@media (max-width: 860px) { .ae-mn-wrap { grid-template-columns: minmax(0, 1fr); } .ae-mn-list, .ae-mn-check { position: static; grid-column: auto; } .ae-mn-none { grid-column: auto; } .ae-mn-frame { height: 70vh; min-height: 420px; } .ae-mn-bigdrop { min-height: 220px; } }
/* meal periods */
.ae-pd-bar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ae-pd-bar .ae-sm-seg { margin: 0; }
.ae-pd-all { font-size: 13px; font-weight: 600; padding: 7px 2px; }
.ae-pd-edit { font-size: 12px; font-weight: 700; color: #b45309; padding: 4px 6px; border-radius: 6px; } .ae-pd-edit:hover { background: #fffbeb; }
.ae-pd-list { display: flex; flex-direction: column; gap: 6px; }
.ae-pd-row { display: flex; align-items: center; gap: 6px; }
.ae-pd-n { width: 20px; text-align: center; font-size: 12px; color: #a8a29e; font-weight: 700; }
.ae-pd-row input { flex: 1; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-main, #e7e5e4); font-size: 14px; background: var(--bg-card, #fff); color: inherit; }
.ae-pd-row button { width: 28px; height: 28px; border-radius: 7px; color: #78716c; } .ae-pd-row button:hover:not(:disabled) { background: #f5f5f4; color: #1c1917; } .ae-pd-row button:disabled { opacity: .3; } .ae-pd-row button.is-del:hover { color: #dc2626; }
.ae-pd-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ae-pd-chip { padding: 5px 10px; border-radius: 999px; border: 1px dashed #a8a29e; font-size: 12.5px; font-weight: 600; color: #57534e; } .ae-pd-chip:hover { border-color: #d97706; color: #b45309; }
.ae-pd-own { display: inline-flex; gap: 4px; } .ae-pd-own input { padding: 5px 9px; border-radius: 999px; border: 1px solid var(--border-main, #e7e5e4); font-size: 12.5px; width: 190px; background: var(--bg-card, #fff); color: inherit; } .ae-pd-own button { font-size: 12.5px; font-weight: 700; color: #b45309; padding: 0 6px; }
.ae-sm-copyfrom { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 10px; pointer-events: auto; }
.ae-mn-tabs button { white-space: nowrap; }
/* a pan's own turn button; the drag label says how to turn */
.ae-sm-panrot { position: absolute; top: 2px; right: 2px; width: 20px; height: 20px; border-radius: 999px; background: #fff; border: 1px solid #cbd5e1; color: #475569; display: none; align-items: center; justify-content: center; box-shadow: 0 1px 3px rgba(0,0,0,.15); z-index: 2; cursor: pointer; }
.ae-sm-panrot:hover { color: #b45309; border-color: #d97706; }
.ae-sm-cell:hover .ae-sm-panrot, .ae-sm-cell.is-sel .ae-sm-panrot { display: inline-flex; }
body.ae-sm-dragging .ae-sm-panrot { display: none !important; }
@media (pointer: coarse) { .ae-sm-cell.is-sel .ae-sm-panrot { width: 28px; height: 28px; } }
.ae-sm-ghost small { display: block; font-size: 10.5px; font-weight: 500; opacity: .75; margin-top: 1px; }
#printContainer .ae-sm-panrot { display: none !important; }
.ae-sm-pandel { position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 999px; background: #fff; border: 1px solid #cbd5e1; color: #64748b; display: none; align-items: center; justify-content: center; box-shadow: 0 1px 3px rgba(0,0,0,.15); z-index: 2; cursor: pointer; }
.ae-sm-pandel:hover { color: #fff; background: #dc2626; border-color: #dc2626; }
.ae-sm-cell:hover .ae-sm-pandel, .ae-sm-cell.is-sel .ae-sm-pandel { display: inline-flex; }
body.ae-sm-dragging .ae-sm-pandel, #printContainer .ae-sm-pandel { display: none !important; }
@media (pointer: coarse) { .ae-sm-cell.is-sel .ae-sm-pandel { width: 28px; height: 28px; } }
/* read-only pieces (Line Check, print): the Station Map's size; the header never widens the piece */
.ae-sm-eq.is-ro { min-width: 0; }
.ae-sm-eq.is-ro .ae-sm-eqhead.is-ro { justify-content: flex-start; gap: 6px; padding: 0 2px; overflow: hidden; }
.ae-sm-eq.is-ro .ae-sm-eqtitle { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.ae-sm-eqhead button.ae-lc-unit.is-compact, .ae-lc-unit.is-compact { flex: 0 0 auto; margin-left: 0; height: 24px; padding: 0 8px; font-size: 11.5px; gap: 3px; }
/* the printed pan list: one sheet, grouped by equipment, in columns */
.ae-sm-plist { column-gap: 18px; column-rule: 1px solid #e7e5e4; line-height: 1.25; }
.ae-sm-pgrp { break-inside: avoid-column; page-break-inside: avoid; margin: 0 0 9px; }
.ae-sm-pgrp h4 { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; margin: 0 0 2px; padding-bottom: 2px; border-bottom: 1.5px solid #1c1917; font-size: 1.1em; font-weight: 800; break-after: avoid; }
.ae-sm-pgrp h4 small { font-size: .8em; font-weight: 600; color: #78716c; }
.ae-sm-pgrp table { width: 100%; border-collapse: collapse; }
.ae-sm-pgrp td { padding: 2px 3px; border-bottom: 1px solid #eeeceb; vertical-align: top; }
.ae-sm-psz { width: 2.6em; color: #78716c; font-weight: 700; white-space: nowrap; }
.ae-sm-pit { font-weight: 600; }
.ae-sm-pit i { display: block; font-weight: 400; font-style: italic; color: #57534e; font-size: .9em; }
.ae-sm-ptl { text-align: right; color: #57534e; white-space: nowrap; padding-left: 6px; }
/* menus: the menu drawn page by page, and a dish found on it */
.ae-mn-doc { max-height: 78vh; min-height: 420px; overflow: auto; padding: 12px; background: #e7e5e4; scroll-behavior: auto; }
.ae-mn-doc .ae-mn-page { position: relative; margin: 0 auto 12px; width: fit-content; max-width: 100%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.ae-mn-doc .ae-mn-page canvas, .ae-mn-doc .ae-mn-page img { display: block; max-width: 100%; height: auto; }
.ae-mn-doc[data-kind="image"] .ae-mn-page img { width: 100%; }
.ae-mn-doc .ae-mn-empty { min-height: 380px; }
.ae-mn-hl { position: absolute; border: 2.5px solid #d97706; background: rgba(251,191,36,.28); border-radius: 4px; pointer-events: none; box-shadow: 0 0 0 4px rgba(217,119,6,.18); animation: aeMnPulse 1.4s ease-out 2; }
@keyframes aeMnPulse { 0% { box-shadow: 0 0 0 0 rgba(217,119,6,.55); } 100% { box-shadow: 0 0 0 14px rgba(217,119,6,0); } }
button.ae-mn-rowtop { width: 100%; text-align: left; background: none; padding: 0; cursor: pointer; }
.ae-mn-findic { flex-shrink: 0; color: #a8a29e; align-self: center; }
button.ae-mn-rowtop:hover .ae-mn-name { text-decoration: underline; text-underline-offset: 2px; }
button.ae-mn-rowtop:hover .ae-mn-findic { color: #b45309; }
.ae-mn-row.is-hi { border-color: #d97706; box-shadow: inset 0 0 0 1px #d97706; }
.ae-mn-items { padding: 2px 3px 2px 2px; }
.ae-mn-framebar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; font-size: 12.5px; background: #fffbeb; border-bottom: 1px solid #fcd34d; color: #92400e; }
.ae-mn-framebar button { flex: none; font-weight: 600; padding: 4px 10px; border-radius: 8px; border: 1px solid #d97706; background: #fff; color: #b45309; cursor: pointer; }
/* Back, in the top bar */
.ae-nav-back { display: inline-flex; align-items: center; gap: 4px; height: 34px; padding: 0 10px 0 6px; border: 1px solid var(--border-main); border-radius: 9px; background: var(--bg-sub, transparent); color: var(--text-main); font-size: 13px; font-weight: 600; cursor: pointer; }
.ae-nav-back:hover { border-color: var(--text-muted); }
.ae-nav-back[hidden] { display: none; }
@media (max-width: 640px) { .ae-nav-back span { display: none; } .ae-nav-back { padding: 0 8px; } }
/* the dish's line build, one tap away */
.ae-mn-lbbtn { display: inline-flex; align-items: center; gap: 2px; padding: 2px 8px; border-radius: 999px; border: 1px solid #86efac; background: #fff; color: #166534; font-size: 11.5px; font-weight: 700; }
.ae-mn-lbbtn:hover { background: #f0fdf4; }
/* coming back to the app: welcome back while the studio opens */
.ae-resume { position: fixed; inset: 0; z-index: 260; display: flex; align-items: center; justify-content: center; background: #0c0a09; color: #f5f5f4; }
.ae-resume.hidden { display: none; }
.ae-resume-card { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 24px; }
.ae-resume-spin { width: 28px; height: 28px; border-radius: 50%; border: 3px solid rgba(245,245,244,.18); border-top-color: #d97706; animation: ae-resume-spin .9s linear infinite; }
@keyframes ae-resume-spin { to { transform: rotate(360deg); } }
.ae-resume-t { font-family: 'Cinzel', serif; font-size: 20px; font-weight: 700; letter-spacing: .04em; }
.ae-resume-s { font-size: 13px; opacity: .7; }
.ae-resume-other { margin-top: 18px; font-size: 12px; background: none; border: 0; color: #d6d3d1; text-decoration: underline; cursor: pointer; opacity: .75; }
/* ---------- Studio Assistant ---------- */
@media screen {
.ae-ai-launch { position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 46; display: inline-flex; align-items: center; gap: 8px; height: 50px; padding: 0 18px 0 15px; border-radius: 999px; border: 0; background: var(--ae-primary); color: var(--ae-on-primary); font-size: 14px; font-weight: 700; letter-spacing: .01em; box-shadow: 0 10px 28px -8px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.06) inset; cursor: pointer; transition: transform .15s ease, background .15s ease; }
.ae-ai-launch:hover { background: var(--ae-primary-hover); transform: translateY(-1px); }
.ae-ai-launch:focus-visible { outline: 3px solid var(--ae-ring); outline-offset: 2px; }
.ae-ai-launch svg { color: var(--ae-accent); }
.ae-ai-launch[hidden] { display: none; }
body.ae-ai-isopen .ae-ai-launch { display: none; }
body.ae-lc-hasdock .ae-ai-launch { bottom: calc(84px + env(safe-area-inset-bottom)); }
body.ae-ai-on #backToTopBtn { right: 112px !important; }
body.ae-ai-on #toastContainer { bottom: 84px; }
.ae-ai-panel { position: fixed; right: 18px; bottom: 18px; z-index: 48; width: 400px; max-width: calc(100vw - 24px); height: min(640px, calc(100dvh - 110px)); display: flex; flex-direction: column; background: var(--bg-panel); color: var(--text-main); border: 1px solid var(--border-main); border-radius: 18px; box-shadow: 0 24px 60px -18px rgba(0,0,0,.45); overflow: hidden; }
.ae-ai-panel[hidden] { display: none; }
.ae-ai-head { display: flex; align-items: center; gap: 4px; padding: 12px 10px 12px 16px; border-bottom: 1px solid var(--border-main); }
.ae-ai-title { flex: 1; font-family: 'Fraunces', Georgia, serif; font-size: 17px; font-weight: 600; }
.ae-ai-hbtn { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--text-muted); border-radius: 10px; cursor: pointer; }
.ae-ai-hbtn:hover { background: var(--ae-soft); color: var(--text-main); }
.ae-ai-list { flex: 1; overflow-y: auto; padding: 14px 14px 6px; display: flex; flex-direction: column; gap: 10px; overscroll-behavior: contain; }
.ae-ai-msg { max-width: 92%; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.ae-ai-msg[hidden] { display: none; }
.ae-ai-msg p { margin: 0 0 8px; } .ae-ai-msg p:last-child { margin-bottom: 0; }
.ae-ai-msg ul, .ae-ai-msg ol { margin: 0 0 8px; padding-left: 20px; } .ae-ai-msg ul { list-style: disc; } .ae-ai-msg ol { list-style: decimal; }
.ae-ai-msg li { margin: 2px 0; }
.ae-ai-msg code { font-size: 12.5px; background: var(--ae-soft); padding: 1px 5px; border-radius: 5px; }
.ae-ai-msg a { color: var(--ae-accent-text); text-decoration: underline; }
.ae-ai-h { font-weight: 700; }
.ae-ai-msg.is-me { align-self: flex-end; background: var(--ae-primary); color: var(--ae-on-primary); padding: 9px 13px; border-radius: 16px 16px 4px 16px; }
.ae-ai-msg:not(.is-me) { align-self: flex-start; }
.ae-ai-link { display: inline; padding: 1px 8px; margin: 1px 0; border-radius: 999px; border: 1px solid var(--ae-accent); background: transparent; color: var(--ae-accent-text); font: inherit; font-weight: 600; font-size: 13px; cursor: pointer; }
.ae-ai-link:hover { background: var(--ae-ring); }
.ae-ai-tablewrap { overflow-x: auto; margin: 0 0 8px; }
.ae-ai-msg table { border-collapse: collapse; font-size: 13px; }
.ae-ai-msg th, .ae-ai-msg td { border: 1px solid var(--border-main); padding: 4px 8px; text-align: left; }
.ae-ai-msg th { background: var(--bg-sub); font-weight: 700; }
.ae-ai-status { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-muted); }
.ae-ai-dots { display: inline-flex; gap: 3px; } .ae-ai-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--ae-accent); animation: aeAiDot 1s infinite ease-in-out; }
.ae-ai-dots i:nth-child(2) { animation-delay: .15s; } .ae-ai-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes aeAiDot { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.ae-ai-err { font-size: 13px; color: #b91c1c; background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.25); border-radius: 10px; padding: 8px 10px; }
html.dark .ae-ai-err { color: #fca5a5; }
.ae-ai-hello { padding: 8px 2px; }
.ae-ai-hello-t { font-family: 'Fraunces', Georgia, serif; font-size: 20px; font-weight: 600; margin-bottom: 4px; }
.ae-ai-hello-s { font-size: 13.5px; color: var(--text-muted); line-height: 1.45; margin-bottom: 12px; }
.ae-ai-chips { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.ae-ai-chip { text-align: left; font-size: 13px; padding: 7px 12px; border-radius: 12px; border: 1px solid var(--border-main); background: var(--bg-sub); color: var(--text-main); cursor: pointer; }
.ae-ai-chip:hover { border-color: var(--ae-accent); }
.ae-ai-form { display: flex; align-items: flex-end; gap: 8px; padding: 10px 12px 6px; border-top: 1px solid var(--border-main); }
.ae-ai-form textarea { flex: 1; resize: none; min-height: 42px; max-height: 120px; padding: 10px 12px; font-size: 16px; line-height: 1.35; border-radius: 12px; border: 1px solid var(--border-main); background: var(--bg-input); color: var(--text-main); }
.ae-ai-form textarea:focus { outline: none; border-color: var(--ae-accent); box-shadow: 0 0 0 3px var(--ae-ring); }
.ae-ai-send { flex: none; width: 42px; height: 42px; border-radius: 12px; border: 0; background: var(--ae-accent); color: #1c1917; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ae-ai-foot { font-size: 11px; color: var(--text-muted); padding: 0 14px 10px; }
.ae-ai-ok { font-size: 12px; color: #15803d; } html.dark .ae-ai-ok { color: #6ee7a0; }
.ae-ai-warn { font-size: 12px; color: #b45309; } html.dark .ae-ai-warn { color: #fbbf24; }
@media (max-width: 767px) {
  .ae-ai-launch { right: 14px; height: 52px; padding: 0 16px 0 14px; }
  .ae-ai-panel { inset: 0; width: auto; max-width: none; height: 100dvh; border-radius: 0; border: 0; padding-bottom: env(safe-area-inset-bottom); }
  body.ae-ai-on #backToTopBtn { right: 104px !important; }
}
}
@media print { .ae-ai-launch, .ae-ai-panel { display: none !important; } }
/* Menus: point at dishes on the menu itself */
.ae-mn-doc.is-pointing { cursor: pointer; }
.ae-mn-hov { position: absolute; border: 2px solid rgba(217,119,6,.75); background: rgba(251,191,36,.14); border-radius: 4px; pointer-events: none; }
.ae-mn-pop { position: absolute; z-index: 3; min-width: 190px; max-width: 260px; padding: 9px 30px 10px 11px; border-radius: 10px; background: #fff; color: #1c1917; border: 1px solid #d6d3d1; box-shadow: 0 6px 20px rgba(0,0,0,.18); font-size: 12.5px; line-height: 1.35; cursor: default; }
.ae-mn-popname { font-weight: 800; font-size: 13.5px; display: flex; gap: 8px; justify-content: space-between; align-items: baseline; }
.ae-mn-popname span { font-weight: 600; color: #57534e; font-size: 12px; }
.ae-mn-popcost { margin: 4px 0 7px; color: #44403c; }
.ae-mn-popcost.is-bad { color: #b45309; font-weight: 700; margin-bottom: 0; }
.ae-mn-popx { position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 999px; color: #78716c; }
.ae-mn-popx:hover { background: #f5f5f4; color: #1c1917; }
.ae-mn-cost { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 999px; background: #f5f5f4; color: #44403c; font-size: 11.5px; border: 1px solid #e7e5e4; }
.ae-mn-cost b { color: #1c1917; }
.ae-mn-cost.is-high { background: #fff7ed; border-color: #fdba74; color: #9a3412; }
.ae-mn-cost.is-none { color: #a8a29e; }
.ae-mn-row.is-flash { animation: aeMnRowFlash 1.6s ease-out; }
@keyframes aeMnRowFlash { 0% { background: rgba(251,191,36,.35); } 100% { background: transparent; } }
.dark .ae-mn-cost, html.dark .ae-mn-cost { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: #d6d3d1; }
.dark .ae-mn-cost b { color: #fafaf9; }
@media print { .ae-mn-pop, .ae-mn-hov { display: none !important; } }
.ae-mn-pop { pointer-events: none; }
.ae-mn-pop button { pointer-events: auto; }
/* ===== Round 109: phones — a tighter recipe toolbar ===== */
@media screen and (max-width: 767px) {
  #studioSubNavBar.ae-tb-phone { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "nav nav nav" "disp . act" "pill pill pill"; row-gap: 6px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
  #studioSubNavBar.ae-tb-phone #aeTbAct { justify-self: end; }
  /* Binder / Phone: on a phone the phone view is the one that fits */
  #studioSubNavBar.ae-tb-phone #aeTbDisp > :not(#aeStudioTools) { display: none !important; }
  /* Undo and Redo as icons */
  #studioSubNavBar.ae-tb-phone .ae-undo-btn > span:not(.ae-ico) { display: none; }
  #studioSubNavBar.ae-tb-phone .ae-undo-btn { padding: 0 9px; }
  #studioSubNavBar.ae-tb-phone button:not(.hidden) { min-height: 32px; }
  #studioSubNavBar.ae-tb-phone #liveCostingPillBar { font-size: 11.5px !important; padding-top: 3px !important; padding-bottom: 3px !important; justify-content: flex-start; }
  #studioSubNavBar.ae-tb-phone.ae-tb-prep :is(#costPillDivider1, #costPillMenuPriceWrap, #costPillDivider2, #costPillFoodCostWrap) { display: none !important; }
}
/* ===== Round 110: Nappé Studio — sign-in screen, company mark, concept row ===== */
:root { --nl-sauce: #2F5D50; --nl-sauce-deep: #24493F; --nl-cream: #F7F3EC; --nl-paper: #FFFDF8; --nl-ink: #22302B; --nl-muted: #56635E; --nl-line: #DCD4C6; --nl-butter: #F3D27A; }
.nl-mark { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; letter-spacing: -.03em; line-height: 1; white-space: nowrap; }
.nl-mark span { font-weight: 500; opacity: .85; }
.nl-mark-sm { font-size: 22px; color: var(--nl-sauce); }
html.dark .nl-mark-sm { color: #cfe3da; }
#loginLandingOverlay.nl-overlay { background: var(--nl-cream); color: var(--nl-ink); font-family: 'Figtree', system-ui, sans-serif; }
.nl-coat { position: relative; background: var(--nl-sauce); color: var(--nl-cream); display: flex; flex-direction: column; justify-content: space-between; padding: 22px 22px 70px; flex-shrink: 0; }
.nl-coat a { color: var(--nl-cream); }
.nl-top .nl-mark { font-size: 26px; }
.nl-hero h1 { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; letter-spacing: -.045em; line-height: .95; font-size: 40px; margin: 22px 0 10px; }
.nl-hero p { font-size: 15.5px; line-height: 1.5; max-width: 34ch; color: rgba(247,243,236,.88); margin: 0; }
.nl-foot { display: none; font-size: 14px; }
.nl-foot a { text-decoration: none; opacity: .85; }
.nl-foot a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.nl-drips { position: absolute; left: 0; right: 0; bottom: -55px; width: 100%; height: 56px; color: var(--nl-sauce); }
.nl-drips path { transform-origin: top; animation: nlDrip 1.4s cubic-bezier(.3,.7,.2,1) .2s both; }
@keyframes nlDrip { from { transform: scaleY(.27); } to { transform: scaleY(1); } }
.nl-side { flex: 1; display: flex; align-items: flex-start; justify-content: center; padding: 72px 16px 32px; }
.nl-card { position: relative; width: 100%; max-width: 420px; background: var(--nl-paper); color: var(--nl-ink); border: 1px solid var(--nl-line); border-radius: 24px; padding: 28px 24px 18px; box-shadow: 0 30px 60px -34px rgba(10,30,24,.45); }
.nl-icon { width: 52px; height: 52px; display: block; }
.nl-head { text-align: center; margin-bottom: 18px; }
.nl-head .nl-icon { margin: 0 auto 14px; }
.nl-head h2 { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 30px; letter-spacing: -.03em; line-height: 1.05; margin: 0; }
.nl-head p { font-size: 14.5px; color: var(--nl-muted); margin: 6px 0 0; }
.nl-ver { text-align: center; font-size: 10.5px; color: #8c958f; margin: 14px 0 0; font-variant-numeric: tabular-nums; }
/* the form, in Nappé's colors */
.nl-card #loginFormEl { font-size: 14px; }
.nl-card #loginFormEl label.block { color: var(--nl-ink) !important; font-size: 12px !important; letter-spacing: .02em !important; text-transform: none !important; font-weight: 600; opacity: .85; }
.nl-card #loginFormEl input[type="text"], .nl-card #loginFormEl input[type="password"] { background: #fff !important; color: var(--nl-ink) !important; border: 1.5px solid #c9c0b1 !important; border-radius: 12px !important; font-family: 'Figtree', system-ui, sans-serif !important; font-size: 15px !important; padding-top: 11px !important; padding-bottom: 11px !important; }
.nl-card #loginFormEl input[type="text"]:focus, .nl-card #loginFormEl input[type="password"]:focus { border-color: var(--nl-sauce) !important; outline: 3px solid rgba(47,93,80,.18); }
.nl-card #loginFormEl input[type="checkbox"] { accent-color: var(--nl-sauce); }
.nl-card #loginFormEl .theme-muted { color: var(--nl-muted) !important; }
.nl-card #loginFormEl button[type="submit"] { background: var(--nl-sauce) !important; color: var(--nl-cream) !important; border-radius: 999px !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; padding: 13px 0 !important; box-shadow: none !important; }
.nl-card #loginFormEl button[type="submit"]:hover { background: var(--nl-sauce-deep) !important; }
.nl-card #loginFormEl button[onclick*="Forgot"], .nl-card #loginFormEl button[onclick*="openForgotPasswordModal"] { color: var(--nl-sauce) !important; font-size: 13px !important; }
.nl-card #togglePasswordEyeBtn:hover, .nl-card #eyeIconOpen { color: var(--nl-sauce) !important; }
.nl-card #loginErrorFeedback { font-size: 13px !important; }
/* while the studio opens: the n, a falling drop, a slow bar */
.nl-wait { display: none; text-align: center; padding: 26px 0 12px; }
.nl-wait .nl-icon { width: 72px; height: 72px; margin: 0 auto 16px; }
.nl-wait .nl-drop { transform-box: fill-box; transform-origin: center top; animation: nlFall 1.3s cubic-bezier(.55,0,.75,.4) infinite; }
@keyframes nlFall { 0% { transform: translateY(-14px) scale(.4); opacity: 0; } 30% { transform: translateY(0) scale(1); opacity: 1; } 75% { transform: translateY(26px) scale(1); opacity: 1; } 100% { transform: translateY(40px) scale(.9); opacity: 0; } }
.nl-wait p { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 20px; letter-spacing: -.02em; margin: 0 0 14px; }
.nl-bar { display: block; width: 160px; height: 4px; margin: 0 auto; border-radius: 999px; background: #e7e0d3; overflow: hidden; }
.nl-bar i { display: block; width: 40%; height: 100%; border-radius: 999px; background: var(--nl-sauce); animation: nlBar 1.6s ease-in-out infinite; }
@keyframes nlBar { 0% { transform: translateX(-110%); } 100% { transform: translateX(260%); } }
.nl-busy .nl-wait { display: block; }
.nl-busy .nl-head, .nl-busy #loginFormEl { display: none !important; }
@media (prefers-reduced-motion: reduce) { .nl-drips path, .nl-wait .nl-drop, .nl-bar i { animation: none; } }
@media (min-width: 1024px) {
  .nl-coat { width: 52%; height: 100%; padding: 40px 48px; border-radius: 0 0 0 0; }
  .nl-hero h1 { font-size: clamp(56px, 6.4vw, 96px); margin: 0 0 22px; }
  .nl-hero p { font-size: 20px; }
  .nl-foot { display: block; }
  .nl-drips { left: auto; top: 0; bottom: 0; right: -55px; width: 56px; height: 100%; transform: none; }
  .nl-drips { display: none; }
  .nl-side { align-items: center; padding: 40px 48px 40px 80px; overflow-y: auto; }
  .nl-card { padding: 36px 34px 20px; }
}
html.dark #loginLandingOverlay.nl-overlay { background: #17201d; }
html.dark .nl-card { background: #fffdf8; }
/* the company's mark in the menu bar */
.ae-co-img { height: 30px; max-width: 190px; width: auto; object-fit: contain; display: block; }
.ae-co-name { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 18px; letter-spacing: -.02em; white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.ae-co-thumb { display: inline-block; height: 18px; width: auto; max-width: 90px; vertical-align: middle; margin-left: 6px; border-radius: 3px; }
/* Home: the concepts in one slim row */
.ae-cx-row { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ae-cx-lbl { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted, #78716c); white-space: nowrap; flex-shrink: 0; }
.ae-cx-list { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; min-width: 0; padding: 2px; }
.ae-cx-list::-webkit-scrollbar { display: none; }
.ae-cx-chip { position: relative; flex-shrink: 0; height: 38px; min-width: 104px; padding: 0 14px; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); color: #fff; font-family: 'Cinzel', Georgia, serif; font-weight: 700; font-size: 13px; letter-spacing: .02em; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.ae-cx-chip:hover { transform: translateY(-1px); box-shadow: 0 6px 14px -8px rgba(0,0,0,.5); }
.ae-cx-chip img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ae-cx-chip img + span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ae-cx-chip span { position: relative; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
@media (max-width: 640px) { .ae-cx-lbl { display: none; } .ae-cx-chip { height: 36px; min-width: 96px; font-size: 12.5px; } }
/* Ask nappAI is wider than Ask was */
body.ae-ai-on #backToTopBtn { right: 160px !important; }
/* the concept row scrolls when it's wider than the screen */
.ae-cx-wrap { position: relative; min-width: 0; flex: 1; display: flex; }
.ae-cx-wrap .ae-cx-list { flex: 1; scroll-behavior: auto; }
.ae-cx-list.is-drag { cursor: grabbing; }
.ae-cx-list.is-drag .ae-cx-chip { pointer-events: none; }
.ae-cx-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 30px; height: 30px; border-radius: 999px; display: none; align-items: center; justify-content: center; background: var(--bg-panel, #fff); color: var(--text-main, #1c1917); border: 1px solid var(--border-main, #e7e5e4); box-shadow: 0 4px 12px -4px rgba(0,0,0,.3); cursor: pointer; }
.ae-cx-arrow:hover { border-color: var(--text-muted, #78716c); }
.ae-cx-arrow.is-l { left: -6px; }
.ae-cx-arrow.is-r { right: -6px; }
.ae-cx-wrap.can-l .ae-cx-arrow.is-l, .ae-cx-wrap.can-r .ae-cx-arrow.is-r { display: inline-flex; }
.ae-cx-wrap.can-r .ae-cx-list { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); }
.ae-cx-wrap.can-l .ae-cx-list { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px); mask-image: linear-gradient(90deg, transparent, #000 56px); }
.ae-cx-wrap.can-l.can-r .ae-cx-list { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); }
@media (hover: none) { .ae-cx-arrow { display: none !important; } }
/* the "Welcome back" screen, in Nappé's look */
.ae-resume { background: var(--nl-cream, #F7F3EC); color: var(--nl-ink, #22302B); font-family: 'Figtree', system-ui, sans-serif; }
.ae-resume::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 30vh; background: var(--nl-sauce, #2F5D50); }
.ae-resume::after { content: "nappé studio\2122"; position: absolute; top: 22px; left: 24px; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 24px; letter-spacing: -.03em; color: var(--nl-cream, #F7F3EC); }
.ae-resume-card { position: relative; z-index: 1; background: var(--nl-paper, #FFFDF8); border: 1px solid var(--nl-line, #DCD4C6); border-radius: 24px; padding: 34px 40px 26px; min-width: 300px; box-shadow: 0 30px 60px -34px rgba(10,30,24,.45); gap: 8px; }
.ae-resume-card .nl-icon { width: 72px; height: 72px; margin-bottom: 8px; }
.ae-resume-card .nl-drop { transform-box: fill-box; transform-origin: center top; animation: nlFall 1.3s cubic-bezier(.55,0,.75,.4) infinite; }
.ae-resume-t { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -.03em; }
.ae-resume-s { font-size: 14.5px; opacity: 1; color: var(--nl-muted, #56635E); margin-bottom: 8px; }
.ae-resume-other { color: var(--nl-sauce, #2F5D50); opacity: 1; font-size: 13px; margin-top: 14px; }
.ae-resume-spin { display: none; }
@media (prefers-reduced-motion: reduce) { .ae-resume-card .nl-drop { animation: none; } }
/* Clients (owner only) */
.ae-client-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid var(--border-main, #e7e5e4); border-radius: 10px; }
.ae-client-row.is-open { border-color: var(--nl-sauce, #2F5D50); background: rgba(47,93,80,.06); }
.ae-client-tag { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 1px 6px; border-radius: 999px; background: #e6eeea; color: #2F5D50; margin-left: 4px; vertical-align: middle; }
.ae-tenant-badge { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 0; margin-left: 10px; padding: 3px 10px; border-radius: 9px; background: #2F5D50; color: #F7F3EC; font-size: 11px; line-height: 1.25; cursor: pointer; border: 0; order: 1; flex: none; }
.ae-tenant-badge span { font-weight: 700; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ae-tenant-badge b { font-weight: 500; opacity: .8; font-size: 10px; }
.ae-tenant-badge:hover { background: #24493F; }
/* Daily Tools on phones: two smaller cards per row */
@media (max-width: 640px) {
  .ae-chef-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; margin-top: 12px; }
  .ae-chef-card { border-radius: 13px; }
  .ae-chef-art { height: 74px !important; min-height: 0 !important; }
  .ae-chef-art svg { max-height: 60px; width: auto; }
  .ae-chef-cardbody { padding: 9px 11px 11px; gap: 2px; }
  .ae-chef-cardtitle { font-size: 15px; line-height: 1.2; }
  .ae-chef-carddesc { font-size: 11.5px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .ae-chef-cardmeta { font-size: 10.5px; margin-top: 2px; }
  .ae-chef-title { font-size: 24px; }
}
/* features a studio's plan doesn't include */
body.ae-off-menuGuide #wsBtnMenu, body.ae-off-dailyTools #wsBtnChef, body.ae-off-costing #wsBtnInvoices,
body.ae-off-nutrition #wsBtnNutrition, body.ae-off-training #wsBtnTraining, body.ae-off-ai #aeAiLauncher { display: none !important; }
/* notes from the team (Home, managers) */
.ae-fb-row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 20px; border-top: 1px solid var(--border-main, #e7e5e4); }
.ae-fb-row:first-of-type { border-top: 0; }
.ae-fb-kind { font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: #f5f5f4; color: #57534e; }
.ae-fb-kind.is-correction { background: #fff7ed; color: #9a3412; }
.ae-fb-kind.is-idea { background: #e6eeea; color: #2F5D50; }
/* ===== The Nappé Team console ===== */
body.ae-console-on { overflow: hidden; }
body.ae-console-on #toastContainer { z-index: 400 !important; }
body.ae-console-on #aeAiLauncher { display: none !important; }
.nc { position: fixed; inset: 0; z-index: 270; overflow-y: auto; background: var(--nl-cream, #F7F3EC); color: var(--nl-ink, #22302B); font-family: 'Figtree', system-ui, sans-serif; font-size: 14.5px; }
.nc-top { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 14px 24px; background: var(--nl-sauce, #2F5D50); color: var(--nl-cream, #F7F3EC); }
.nc-mark { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -.03em; white-space: nowrap; }
.nc-mark span { font-weight: 500; opacity: .85; }
.nc-mark em { font-style: normal; font-family: 'Figtree', system-ui, sans-serif; font-weight: 600; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; margin-left: 10px; padding: 3px 9px; border-radius: 999px; background: rgba(247,243,236,.16); vertical-align: middle; }
.nc-tabs { display: flex; gap: 4px; flex: 1; overflow-x: auto; scrollbar-width: none; }
.nc-tabs button { padding: 7px 14px; border-radius: 999px; color: var(--nl-cream, #F7F3EC); opacity: .85; font-weight: 600; white-space: nowrap; }
.nc-tabs button:hover { opacity: 1; background: rgba(247,243,236,.1); }
.nc-tabs button.is-on { background: var(--nl-cream, #F7F3EC); color: var(--nl-sauce, #2F5D50); opacity: 1; }
.nc-me { display: flex; align-items: center; gap: 10px; font-size: 13px; opacity: .95; }
.nc-me button { padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(247,243,236,.5); color: var(--nl-cream, #F7F3EC); }
.nc-main { max-width: 1100px; margin: 0 auto; padding: 26px 24px 60px; display: flex; flex-direction: column; gap: 18px; }
.nc-h1 { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 32px; letter-spacing: -.03em; line-height: 1.05; margin: 0; }
.nc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.nc-muted { color: var(--nl-muted, #56635E); font-size: 13px; margin: 0; }
.nc-ok { color: #1f5a3f; background: #e6eeea; padding: 10px 14px; border-radius: 12px; margin: 0; }
.nc-warn { color: #9a3412; background: #fff7ed; padding: 8px 12px; border-radius: 10px; margin: 6px 0 0; }
.nc-card { background: var(--nl-paper, #FFFDF8); border: 1px solid var(--nl-line, #DCD4C6); border-radius: 18px; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.nc-card h2 { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 19px; letter-spacing: -.02em; margin: 0; }
.nc-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.nc-stat { background: var(--nl-paper, #FFFDF8); border: 1px solid var(--nl-line, #DCD4C6); border-radius: 16px; padding: 16px 18px; }
.nc-stat-n { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 30px; letter-spacing: -.03em; color: var(--nl-sauce, #2F5D50); }
.nc-stat-l { font-weight: 600; }
.nc-stat-s { font-size: 12px; color: var(--nl-muted, #56635E); }
.nc-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--nl-line, #DCD4C6); text-align: left; }
.nc-row-t { font-weight: 600; }
.nc-idea { display: flex; flex-direction: column; gap: 3px; padding: 10px 0; border-top: 1px solid var(--nl-line, #DCD4C6); }
.nc-idea:first-of-type { border-top: 0; }
.nc-idea.is-done { opacity: .5; }
.nc-idea .nc-btn { align-self: flex-start; margin-top: 4px; }
.nc-table { background: var(--nl-paper, #FFFDF8); border: 1px solid var(--nl-line, #DCD4C6); border-radius: 16px; overflow: hidden; }
.nc-tr { display: grid; grid-template-columns: minmax(0, 2.2fr) 110px 100px 100px minmax(0, 1fr) 140px; align-items: center; gap: 10px; padding: 11px 16px; border-top: 1px solid var(--nl-line, #DCD4C6); }
.nc-tr:first-child { border-top: 0; }
.nc-th { font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--nl-muted, #56635E); background: #f3eee5; }
.nc-total { font-weight: 700; background: #f3eee5; }
.nc-inv .nc-tr { grid-template-columns: minmax(0, 1.4fr) 110px 100px 110px 80px; }
.nc-link { color: var(--nl-sauce, #2F5D50); font-weight: 600; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.nc-acts { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; align-items: center; }
.nc-card .nc-acts { justify-content: flex-start; }
.nc-btn { display: inline-flex; align-items: center; padding: 7px 14px; border-radius: 999px; border: 1.5px solid var(--nl-line, #DCD4C6); background: #fff; color: var(--nl-ink, #22302B); font-weight: 600; font-size: 13px; white-space: nowrap; }
.nc-btn:hover { border-color: var(--nl-sauce, #2F5D50); }
.nc-btn.is-primary { background: var(--nl-sauce, #2F5D50); border-color: var(--nl-sauce, #2F5D50); color: var(--nl-cream, #F7F3EC); align-self: flex-start; }
.nc-btn.is-primary:hover { background: var(--nl-sauce-deep, #24493F); }
.nc-btn:disabled { opacity: .5; }
.nc-back { align-self: flex-start; color: var(--nl-sauce, #2F5D50); font-weight: 600; }
.nc-pill { display: inline-flex; justify-self: start; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #eee9df; color: #56635E; }
.nc-pill.is-active { background: #e6eeea; color: #1f5a3f; }
.nc-pill.is-trial { background: #fdf3d7; color: #7a5a08; }
.nc-pill.is-past_due { background: #fde8e4; color: #9f2d20; }
.nc-pill.is-paused, .nc-pill.is-canceled { background: #ece9e4; color: #6b6560; }
.nc-pill.is-demo { background: #e7f1fb; color: #1d4f7a; }
.nc-in { width: 100%; background: #fff; border: 1.5px solid #c9c0b1; border-radius: 10px; padding: 8px 11px; font: inherit; color: var(--nl-ink, #22302B); }
.nc-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: #eee9df; }
.nc-seg button { padding: 7px 14px; border-radius: 999px; font-weight: 600; color: var(--nl-muted, #56635E); }
.nc-seg button.is-on { background: var(--nl-paper, #FFFDF8); color: var(--nl-ink, #22302B); box-shadow: 0 1px 2px rgba(34,48,43,.12); }
.nc-boardlink { display: flex; align-items: center; gap: 14px; background: var(--nl-paper, #FFFDF8); border: 1px solid var(--nl-line, #DCD4C6); border-radius: 16px; padding: 14px 18px; color: inherit; text-decoration: none; }
.nc-boardlink:hover { border-color: var(--nl-sauce, #2F5D50); }
.nc-boardlink > span:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nc-boardlink-i { width: 40px; height: 40px; border-radius: 12px; background: #e6eeea; color: var(--nl-sauce, #2F5D50); display: flex; align-items: center; justify-content: center; flex: none; }
.nc-boardlink-go { font-size: 24px; color: var(--nl-sauce, #2F5D50); }
#ncHubBody { display: flex; flex-direction: column; gap: 14px; }
.nc-hubbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.nc-hubbar .nc-btn.is-primary { align-self: auto; }
.nc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.nc-chip { padding: 6px 13px; border-radius: 999px; border: 1.5px solid var(--nl-line, #DCD4C6); background: #fff; font-weight: 600; font-size: 13px; }
.nc-chip.is-on { background: var(--nl-sauce, #2F5D50); border-color: var(--nl-sauce, #2F5D50); color: var(--nl-cream, #F7F3EC); }
.nc-lab { display: flex; flex-direction: column; gap: 5px; font-weight: 600; font-size: 13px; }
.nc-item-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nc-item.is-closed { opacity: .75; }
.nc-item-b { margin: 0; white-space: pre-line; line-height: 1.5; }
.nc-pill.is-topic { background: #e8eef6; color: #2b4a73; }
.nc-pill.is-project { background: #fdf3d7; color: #7a5a08; }
.nc-pill.is-vote { background: #e6eeea; color: #1f5a3f; }
.nc-vote { display: flex; flex-direction: column; gap: 6px; }
.nc-opt { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; padding: 10px 14px; border-radius: 12px; border: 1.5px solid var(--nl-line, #DCD4C6); background: #fff; min-height: 44px; }
.nc-opt:not(:disabled):hover { border-color: var(--nl-sauce, #2F5D50); }
.nc-opt.is-me { border-color: var(--nl-sauce, #2F5D50); }
.nc-opt-bar { position: absolute; left: 0; top: 0; bottom: 0; background: #e6eeea; z-index: 0; }
.nc-opt-t, .nc-opt-n { position: relative; z-index: 1; }
.nc-opt-n { font-size: 12.5px; color: var(--nl-muted, #56635E); white-space: nowrap; }
.nc-cm { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--nl-line, #DCD4C6); padding-top: 10px; }
.nc-cm-r { display: flex; flex-direction: column; gap: 2px; white-space: pre-line; }
.nc-cm-add, .nc-chat-add { display: flex; gap: 8px; align-items: flex-end; }
.nc-cm-add .nc-btn.is-primary, .nc-chat-add .nc-btn.is-primary { align-self: auto; }
.nc-chat { padding: 0; gap: 0; overflow: hidden; }
.nc-chat-list { height: min(60vh, 560px); overflow-y: auto; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.nc-chat-day { align-self: center; font-size: 12px; font-weight: 700; color: var(--nl-muted, #56635E); padding: 4px 0; }
.nc-msg { max-width: 78%; align-self: flex-start; background: #f1ece3; border-radius: 14px 14px 14px 4px; padding: 8px 12px; }
.nc-msg.is-me { align-self: flex-end; background: #e6eeea; border-radius: 14px 14px 4px 14px; }
.nc-msg-h { font-size: 12.5px; }
.nc-msg-h span { color: var(--nl-muted, #56635E); }
.nc-msg-t { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.45; }
.nc-chat-add { border-top: 1px solid var(--nl-line, #DCD4C6); padding: 12px 14px; }
.nc-chat-add textarea { resize: none; max-height: 140px; }
.nc-in:focus { outline: 3px solid rgba(47,93,80,.18); border-color: var(--nl-sauce, #2F5D50); }
.nc-head .nc-in { max-width: 280px; }
.nc-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.nc-form label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 600; color: var(--nl-muted, #56635E); }
.nc-form .nc-wide { grid-column: 1 / -1; }
.nc-form .nc-check { flex-direction: row; align-items: center; gap: 8px; grid-column: 1 / -1; }
.nc-toggle { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-top: 1px solid var(--nl-line, #DCD4C6); font-weight: 600; }
.nc-toggle input { width: 18px; height: 18px; accent-color: var(--nl-sauce, #2F5D50); }
.nc-cols { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.nc-save { display: flex; justify-content: flex-end; }
.nc-mini { display: flex; flex-direction: column; gap: 4px; }
.nc-steps { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.nc-billform { margin-top: 6px; }
@media (max-width: 860px) {
  .nc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nc-cols, .nc-form { grid-template-columns: minmax(0, 1fr); }
  .nc-tr { grid-template-columns: minmax(0, 1fr) auto; }
  .nc-tr > :nth-child(n+3):not(.nc-acts) { display: none; }
  .nc-th { display: none; }
  .nc-top { padding: 12px 16px; gap: 10px; }
  .nc-main { padding: 18px 16px 50px; }
  .nc-me span { display: none; }
}
/* console: team table, danger zone */
.nc-team .nc-tr { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) 110px 120px; }
.nc-email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-danger { border-color: #f1c7bf; }
.nc-btn.is-danger { border-color: #d8584a; color: #b3261e; align-self: flex-start; }
.nc-btn.is-danger:hover { background: #fdecea; }
/* the public demo bar */
.ae-demo-bar { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 45; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: center; max-width: calc(100vw - 200px); padding: 9px 14px 9px 18px; border-radius: 999px; background: #2F5D50; color: #F7F3EC; font-family: 'Figtree', system-ui, sans-serif; font-size: 13px; box-shadow: 0 10px 28px -10px rgba(0,0,0,.45); }
.ae-demo-acts { display: flex; gap: 8px; }
.ae-demo-acts button, .ae-demo-acts a { padding: 6px 12px; border-radius: 999px; background: #F7F3EC; color: #2F5D50; font-weight: 700; text-decoration: none; font-size: 12.5px; }
.ae-demo-acts a { background: transparent; color: #F7F3EC; border: 1px solid rgba(247,243,236,.5); }
@media (max-width: 760px) { .ae-demo-bar { left: 12px; right: 92px; transform: none; max-width: none; border-radius: 16px; font-size: 12px; } }
@media print { .ae-demo-bar, .ae-tour { display: none !important; } }
/* the guided tour */
.ae-tour { position: fixed; inset: 0; z-index: 290; pointer-events: none; }
.ae-tour-card { pointer-events: auto; position: absolute; right: 24px; bottom: 84px; width: min(380px, calc(100vw - 32px)); background: #FFFDF8; color: #22302B; border: 1px solid #DCD4C6; border-radius: 20px; padding: 18px 20px 16px; box-shadow: 0 24px 60px -24px rgba(10,30,24,.55); font-family: 'Figtree', system-ui, sans-serif; }
.ae-tour-step { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #2F5D50; }
.ae-tour-card h3 { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -.02em; line-height: 1.1; margin: 6px 0 8px; }
.ae-tour-card p { font-size: 14.5px; line-height: 1.5; color: #3d4a45; margin: 0 0 14px; }
.ae-tour-acts { display: flex; justify-content: space-between; align-items: center; }
.ae-tour-next { background: #2F5D50; color: #F7F3EC; padding: 9px 20px; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; }
.ae-tour-next:hover { background: #24493F; }
.ae-tour-back { color: #2F5D50; font-weight: 600; font-size: 14px; }
.ae-tour-x { position: absolute; top: 12px; right: 12px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 999px; color: #6b746f; }
.ae-tour-x:hover { background: #f1ece2; }
.ae-tour-hi { position: relative; z-index: 31; outline: 3px solid #F3D27A !important; outline-offset: 4px; border-radius: 10px; box-shadow: 0 0 0 9999px rgba(20,30,26,.18); transition: outline-color .2s; }
@media (max-width: 640px) { .ae-tour-card { left: 16px; right: 16px; width: auto; bottom: 90px; } }
body:has(#floatingEditPillBtn:not(.hidden)) .ae-demo-bar { bottom: calc(84px + env(safe-area-inset-bottom)); }
/* studios don't see the cloud and AI plumbing; the Nappé team does */
body:not(.ae-is-team) #aeCloudCard, body:not(.ae-is-team) #aeAiCard { display: none !important; }
/* Round 112: station mode company mark */
.ae-st-coname { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; letter-spacing: -.02em; font-size: 18px; color: #f5f4f1; white-space: nowrap; }
.ae-st-coname span { font-weight: 500; opacity: .8; }
.ae-st-coimg { height: 26px; width: auto; max-width: 140px; object-fit: contain; }
body.ae-off-crunchtime button[onclick="aeOpenCrunchTime()"], body.ae-off-crunchtime button[onclick^="aeOpenCrunchTime("] { display: none !important; }
/* Round 113: console Health */
.nc-hl-row { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: #f4f1ea; }
.nc-hl-row.is-high { background: #fbe9e5; } .nc-hl-row.is-medium { background: #fbf2dc; }
.nc-hl-lv { flex: none; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; background: #e3ddd1; color: #4b4a45; min-width: 64px; text-align: center; }
.nc-hl-row.is-high .nc-hl-lv { background: #b3412e; color: #fff; } .nc-hl-row.is-medium .nc-hl-lv { background: #e0b44a; color: #3a2c06; }
.nc-hl-msg { font-size: 14px; line-height: 1.45; }
.nc-stat.is-bad .nc-stat-n { color: #b3412e; } .nc-stat.is-warn .nc-stat-n { color: #a8791a; }
.nc-hl-tab .nc-tr { grid-template-columns: minmax(0, 2.2fr) 1fr 1fr 1.2fr 1fr !important; }
.nc-hl-days { display: flex; flex-wrap: wrap; gap: 6px; }
.nc-hl-day { font-size: 12px; font-weight: 600; padding: 5px 9px; border-radius: 8px; background: #e6eeea; color: #1f5a3f; }
.nc-hl-day.is-warn { background: #fbf2dc; color: #7a5810; } .nc-hl-day.is-bad { background: #fbe9e5; color: #8e2f20; }
.nc-hl-line { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; border: 1px solid var(--nl-line, #DCD4C6); background: var(--nl-paper, #FFFDF8); border-radius: 14px; padding: 12px 16px; font-size: 14px; cursor: pointer; }
.nc-hl-line span { margin-left: auto; font-weight: 600; color: var(--nl-sauce, #2F5D50); }
.nc-hl-line.is-ok { border-color: #b9d2c8; } .nc-hl-line.is-warn { border-color: #e0b44a; background: #fffaf0; } .nc-hl-line.is-bad { border-color: #d27a69; background: #fff5f3; }
.nc-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #b3412e; vertical-align: middle; margin-left: 4px; }
@media (max-width: 720px) { .nc-hl-tab .nc-tr { grid-template-columns: minmax(0, 2fr) 1fr 1fr !important; } .nc-hl-tab .nc-tr > span:nth-child(4), .nc-hl-tab .nc-tr > span:nth-child(5) { display: none; } }
/* Round 113: loading cover until the real studio is on screen */
.ae-boot { position: fixed; inset: 0; z-index: 9990; background: #F7F3EC; display: flex; align-items: center; justify-content: center; transition: opacity .3s; }
.ae-boot.is-gone { opacity: 0; pointer-events: none; }
.ae-boot-card { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.ae-boot .nl-icon { width: 64px; height: 64px; }
.ae-boot-t { font-family: 'Figtree', system-ui, sans-serif; font-weight: 600; color: #2F5D50; font-size: 15px; }
html.dark .ae-boot { background: #14211d; } html.dark .ae-boot-t { color: #cfe3da; }
.ae-boot .nl-bar i { background: #2F5D50; }
/* the demo bar and nappAI step aside while the tour card is open */
body:has(#aeTour) #aeDemoBar, body:has(#aeTour) #aeAiLauncher { display: none !important; }
/* concept chips with a logo image: big enough to read */
.ae-cx-chip:has(img) { height: 50px; min-width: 146px; padding: 0; }
@media (max-width: 640px) { .ae-cx-chip:has(img) { height: 46px; min-width: 134px; } }
    /* home quick links on phones: two columns of square buttons */
    @media (max-width: 639px) {
      #homeDashRF .grid:has(> .ae-tile) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
      #homeDashRF .ae-tile { aspect-ratio: 1 / 1; padding: 14px; gap: 8px; justify-content: space-between; border-radius: 16px; min-width: 0; }
      #homeDashRF .ae-tile .ae-tile-icon { width: 36px; height: 36px; }
      #homeDashRF .ae-tile .text-\[15px\] { font-size: 14px; line-height: 1.25; }
      #homeDashRF .ae-tile .text-\[13px\] { font-size: 12px; line-height: 1.3; }
    }
    /* training videos from YouTube */
    .ae-yt-ov { position: fixed; inset: 0; z-index: 9000; background: rgba(12,10,9,.78); display: flex; align-items: center; justify-content: center; padding: 16px; }
    .ae-yt-box { width: min(980px, 100%); background: #1c1917; color: #f5f5f4; border-radius: 16px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
    .ae-yt-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; }
    .ae-yt-head h3 { margin: 0; font-size: 16px; font-weight: 700; }
    .ae-yt-x { width: 32px; height: 32px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.08); color: inherit; flex: none; }
    .ae-yt-frame { position: relative; aspect-ratio: 16 / 9; background: #000; max-height: 70dvh; }
    .ae-yt-frame > div, .ae-yt-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
    .ae-yt-err { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; font-size: 14px; color: #d6d3d1; }
    .ae-yt-err a { color: #fbbf24; text-decoration: underline; margin-left: 4px; }
    .ae-yt-foot { display: flex; align-items: center; gap: 12px; padding: 12px 16px 16px; font-size: 13px; color: #d6d3d1; }
    .ae-yt-bar { flex: 1; height: 6px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; }
    .ae-yt-bar span { display: block; height: 100%; background: #f59e0b; transition: width .4s; }
    #aeYtState.is-done { color: #34d399; font-weight: 700; }
    .ae-yt-paste { color: #b45309; font-weight: 700; }
    .ae-yt-paste:hover { text-decoration: underline; }
    /* the section you're in: hovering shows it can be tapped to go back to that section's main page */
    body > header [id^="wsBtn"].bg-amber-500:hover { background-color: #e4ddd1 !important; color: var(--text-main) !important; }
    html.dark body > header [id^="wsBtn"].bg-amber-500:hover { background-color: #3d3833 !important; }
    body > header [id^="wsBtn"].bg-amber-500:active { transform: scale(.97); }
    .ae-yt-vers { display: inline-flex; gap: 4px; margin-left: auto; background: rgba(255,255,255,.08); border-radius: 999px; padding: 3px; }
    .ae-yt-vers button { border-radius: 999px; padding: 5px 12px; font-size: 12.5px; font-weight: 600; color: #d6d3d1; }
    .ae-yt-vers button.is-on { background: #f5f5f4; color: #1c1917; }
    .ae-yt-frame video { position: absolute; inset: 0; width: 100%; height: 100%; background: #000; }
    .ae-vid-list { display: flex; flex-direction: column; gap: 8px; }
    .ae-vid-row { display: flex; align-items: center; gap: 10px; }
    .ae-vid-row input { flex: 1; min-width: 0; border: 1px solid var(--border-color, #e7e5e4); border-radius: 8px; padding: 7px 10px; font-size: 14px; background: transparent; }
    .ae-vid-url { font-size: 12px; color: var(--text-muted); white-space: nowrap; }
    .ae-vid-main { font-size: 12px; font-weight: 700; color: var(--text-muted); width: 58px; text-align: center; }
    .ae-vid-row .is-del { font-size: 12.5px; font-weight: 600; color: #dc2626; width: 58px; }
    .ae-vid-add { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
    .ae-vid-add input { flex: 1 1 160px; min-width: 0; border: 1px solid var(--border-color, #e7e5e4); border-radius: 8px; padding: 7px 10px; font-size: 14px; background: transparent; }
    .ae-vid-up { cursor: pointer; }
    /* EN / ES in the menu bar */
    .ae-hdr-lang { display: inline-flex; align-items: center; }
    .ae-hdr-lang .ae-lang button { padding: 4px 9px; font-size: 12px; }
    /* Settings → recent edits: open the spec and show what changed */
    .ae-audit-link { cursor: pointer; border-radius: 6px; }
    .ae-audit-link:hover .font-bold { text-decoration: underline; }
    .ae-audit-hi { background: #fef3c7 !important; box-shadow: 0 0 0 2px #f59e0b; border-radius: 4px; }
    html.dark .ae-audit-hi { background: rgba(245,158,11,.22) !important; }
    .ae-audit-bar { position: fixed; right: 16px; bottom: 16px; z-index: 8000; width: min(360px, calc(100vw - 32px)); max-height: 60vh; overflow: auto; background: var(--panel-bg, #fff); color: var(--text-main); border: 1px solid #f59e0b; border-radius: 14px; box-shadow: 0 12px 34px rgba(0,0,0,.18); padding: 14px 16px; font-size: 13.5px; }
    html.dark .ae-audit-bar { background: #1c1917; }
    .ae-audit-top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
    .ae-audit-top b { display: block; font-size: 14px; }
    .ae-audit-top span { font-size: 12px; color: var(--text-muted); }
    .ae-audit-x { width: 28px; height: 28px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: var(--ae-soft); flex: none; }
    .ae-audit-bar ul { margin: 10px 0 6px; padding-left: 18px; list-style: disc; }
    .ae-audit-bar li { margin: 3px 0; }
    .ae-audit-sub { font-size: 12px; color: var(--text-muted); margin: 4px 0 0; }
    .ae-audit-acts { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
    .nc-pat { margin-top: 14px; border-top: 1px solid var(--border-color, #e7e5e4); padding-top: 10px; }
    .nc-pat summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--text-muted); }
    .nc-pat[open] summary { margin-bottom: 8px; }
    /* tidier menu bar */
    .ae-nav-more { display: inline-flex; align-items: center; gap: 4px; border-radius: 8px; font-size: 12.5px; padding: 6px 9px; color: var(--text-muted); white-space: nowrap; flex: none; }
    .ae-nav-more:hover, .ae-nav-more.is-open { color: var(--text-main); background: var(--ae-soft); }
    .ae-nav-more.is-on { color: var(--text-main); background: var(--ae-soft); font-weight: 600; }
    .ae-nav-more[hidden] { display: none; }
    .ae-nav-menu { position: fixed; z-index: 9500; min-width: 210px; padding: 6px; border-radius: 12px; background: var(--panel-bg, #fff); border: 1px solid var(--border-main, #e7e5e4); box-shadow: 0 14px 34px rgba(28,25,23,.16); display: flex; flex-direction: column; gap: 2px; }
    html.dark .ae-nav-menu { background: #1c1917; }
    .ae-nav-menu[hidden] { display: none; }
    .ae-nav-menu [id^="wsBtn"] { display: flex; width: 100%; justify-content: flex-start; text-align: left; border-radius: 8px !important; padding: 9px 12px !important; font-size: 13.5px !important; background: transparent !important; color: var(--text-main) !important; box-shadow: none !important; font-weight: 500 !important; }
    .ae-nav-menu [id^="wsBtn"]:hover { background: var(--ae-soft) !important; }
    .ae-nav-menu [id^="wsBtn"].bg-amber-500 { background: var(--ae-soft) !important; font-weight: 700 !important; }
    .ae-hdr-langbtn { display: inline-flex; align-items: center; gap: 5px; height: 32px; padding: 0 9px; border-radius: 9px; border: 1px solid var(--border-main, #e7e5e4); color: var(--text-main); font-size: 12px; }
    .ae-hdr-langbtn:hover { border-color: var(--text-muted); }
    .ae-hdr-langbtn b { font-weight: 700; letter-spacing: .03em; }
    @media (max-width: 1700px) { #aeNavBackBtn span { display: none; } #aeNavBackBtn { padding: 0 8px; } }
    .ae-tenant-badge span { max-width: 140px; }
    #aeNavMoreMenu [id^="wsBtn"].bg-amber-500, #aeNavMoreMenu [id^="wsBtn"].bg-amber-500 * { color: var(--text-main) !important; }
    /* the section row moves under the logo as soon as it would otherwise get squeezed */
    @media (min-width: 768px) {
      .ae-nav-2row-parent { flex-wrap: wrap !important; }
      .ae-nav-2row { order: 3 !important; flex: 1 0 100% !important; width: 100% !important; max-width: none !important; justify-content: flex-start !important; margin-top: 6px; }
      .ae-nav-2row > div { width: auto !important; max-width: 100%; }
    }
    @media (min-width: 768px) { .ae-nav-2row-parent > *:not(.ae-nav-2row) { order: 1 !important; } }
    @media (min-width: 768px) { body > header.ae-nav-2row-parent { height: auto !important; flex-wrap: wrap !important; padding-top: 8px; padding-bottom: 6px; row-gap: 4px; } }
    @media (min-width: 768px) { body > header > .md\:max-w-3xl { max-width: none !important; } }
    /* ===== HR page ===== */
    .ae-hr-wrap { max-width: 1080px; margin: 0 auto; }
    .ae-hr-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
    .ae-hr-head h1, .ae-hr-home h1 { font-size: 30px; font-weight: 600; margin: 2px 0 0; }
    .ae-hr-kick { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #b45309; }
    .ae-hr-report-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 10px; background: #7f1d1d; color: #fff; font-weight: 700; font-size: 13.5px; }
    .ae-hr-report-btn:hover { background: #991b1b; }
    .ae-hr-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--border-main, #e7e5e4); margin-bottom: 16px; }
    .ae-hr-tabs button { display: inline-flex; align-items: center; gap: 6px; padding: 9px 12px; font-size: 13px; font-weight: 600; color: var(--text-muted); border-bottom: 2px solid transparent; white-space: nowrap; }
    .ae-hr-tabs button.is-on { color: var(--text-main); border-bottom-color: #b45309; }
    .ae-hr-body { display: flex; flex-direction: column; gap: 14px; }
    .ae-hr-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; }
    .ae-hr-card { background: var(--bg-panel, #fff); border: 1px solid var(--border-main, #e7e5e4); border-radius: 14px; padding: 16px 18px; }
    .ae-hr-card h2 { font-size: 16px; font-weight: 700; margin: 0 0 4px; }
    .ae-hr-sub { font-size: 12.5px; color: var(--text-muted); margin: 0 0 10px; line-height: 1.45; }
    .ae-hr-empty { font-size: 13px; color: var(--text-muted); padding: 10px 0; }
    .ae-hr-list { display: flex; flex-direction: column; margin: 6px 0 10px; }
    .ae-hr-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--border-main, #e7e5e4); text-align: left; width: 100%; }
    .ae-hr-row:first-child { border-top: 0; }
    .ae-hr-row b { display: block; font-size: 13.5px; }
    .ae-hr-row span, .ae-hr-row i { display: block; font-size: 12px; color: var(--text-muted); font-style: normal; }
    .ae-hr-row.is-btn:hover b { text-decoration: underline; }
    .ae-hr-rowr { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
    .ae-hr-pill { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
    .ae-hr-pill.is-green { background: #dcfce7; color: #166534; } .ae-hr-pill.is-amber { background: #fef3c7; color: #92400e; } .ae-hr-pill.is-red { background: #fee2e2; color: #991b1b; } .ae-hr-pill.is-blue { background: #dbeafe; color: #1e40af; } .ae-hr-pill.is-grey { background: var(--ae-soft, #f2efe9); color: var(--text-muted); }
    html.dark .ae-hr-pill.is-green { background: rgba(34,197,94,.18); color: #86efac; } html.dark .ae-hr-pill.is-amber { background: rgba(245,158,11,.18); color: #fcd34d; } html.dark .ae-hr-pill.is-red { background: rgba(239,68,68,.18); color: #fca5a5; } html.dark .ae-hr-pill.is-blue { background: rgba(59,130,246,.18); color: #93c5fd; }
    .ae-hr-x { font-size: 12.5px; font-weight: 600; color: #b45309; }
    .ae-hr-x:hover { text-decoration: underline; }
    .ae-hr-link { font-size: 13px; font-weight: 600; color: #b45309; text-decoration: underline; }
    .ae-hr-acts { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; margin-top: 12px; }
    .ae-hr-acts.is-left { justify-content: flex-start; margin: 4px 0 10px; }
    .ae-hr-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
    .ae-hr-form label, .ae-hr-form1 { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 600; }
    .ae-hr-form1 { margin-top: 10px; }
    .ae-hr-form label i { font-weight: 400; color: var(--text-muted); }
    .ae-hr-form .is-wide { grid-column: 1 / -1; }
    @media (max-width: 640px) { .ae-hr-form { grid-template-columns: minmax(0, 1fr); } }
    .ae-hr-in { width: 100%; border: 1px solid var(--border-main, #d6d3d1); border-radius: 9px; padding: 8px 10px; font-size: 14px; font-weight: 400; background: var(--bg-input, transparent); color: inherit; }
    .ae-hr-chk { display: flex !important; flex-direction: row !important; align-items: center; gap: 8px; font-weight: 500 !important; font-size: 13.5px !important; cursor: pointer; }
    .ae-hr-to { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; border-radius: 10px; background: var(--ae-soft, #f6f3ee); }
    .ae-hr-to b { font-size: 12.5px; }
    .ae-hr-warn { color: #b91c1c; font-size: 13px; }
    .ae-hr-follow { display: flex; align-items: flex-end; gap: 8px; margin-top: 14px; }
    .ae-hr-follow label { flex: 1; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 600; }
    .ae-hr-codebox { display: flex; align-items: center; gap: 12px; margin: 14px 0 8px; padding: 14px 16px; border-radius: 12px; background: var(--ae-soft, #f6f3ee); }
    .ae-hr-codebox span { font-size: 12px; color: var(--text-muted); } .ae-hr-codebox b { font-family: ui-monospace, Menlo, monospace; font-size: 22px; letter-spacing: .08em; flex: 1; }
    .ae-hr-status { margin: 10px 0; font-size: 14px; }
    .ae-hr-thread { display: flex; flex-direction: column; gap: 8px; margin: 8px 0; max-height: 260px; overflow: auto; }
    .ae-hr-msg { padding: 9px 12px; border-radius: 10px; background: var(--ae-soft, #f6f3ee); font-size: 13.5px; }
    .ae-hr-msg.is-me { background: #fef3c7; } html.dark .ae-hr-msg.is-me { background: rgba(245,158,11,.15); }
    .ae-hr-msg.is-note { background: #e0f2fe; } html.dark .ae-hr-msg.is-note { background: rgba(14,165,233,.14); }
    .ae-hr-msg span { display: block; font-size: 11px; color: var(--text-muted); margin-bottom: 3px; } .ae-hr-msg p { margin: 0; white-space: pre-wrap; }
    .ae-hr-h4 { font-size: 13px; font-weight: 700; margin: 16px 0 4px; }
    .ae-hr-case { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; }
    .ae-hr-field span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); font-weight: 700; }
    .ae-hr-field p { margin: 2px 0 0; font-size: 14px; line-height: 1.45; }
    .ae-hr-doc { width: 100%; height: 55vh; border: 1px solid var(--border-main, #e7e5e4); border-radius: 10px; margin: 10px 0 4px; background: #fff; }
    .ae-hr-docimg { max-width: 100%; border-radius: 10px; margin: 10px 0 4px; }
    .ae-hr-doctext { max-height: 50vh; overflow: auto; padding: 12px 14px; border: 1px solid var(--border-main, #e7e5e4); border-radius: 10px; margin: 10px 0; font-size: 14px; line-height: 1.55; }
    .ae-hr-person { border-top: 1px solid var(--border-main, #e7e5e4); padding: 8px 0; }
    .ae-hr-person summary { display: flex; justify-content: space-between; gap: 12px; cursor: pointer; padding: 4px 0; font-size: 13.5px; }
    .ae-hr-person summary span { color: var(--text-muted); font-size: 12.5px; }
    .ae-hr-chips { display: flex; flex-wrap: wrap; gap: 6px; } .ae-hr-chips span { padding: 3px 10px; border-radius: 999px; background: var(--ae-soft, #f2efe9); font-size: 12.5px; }
    .ae-hr-note { padding: 8px 12px; border-radius: 10px; font-size: 13px; margin: 6px 0; } .ae-hr-note.is-amber { background: #fef3c7; color: #92400e; }
    .ae-hr-meter { height: 8px; border-radius: 999px; background: var(--ae-soft, #f2efe9); overflow: hidden; margin: 8px 0 6px; } .ae-hr-meter span { display: block; height: 100%; background: #16a34a; }
    .ae-hr-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
    .ae-hr-stat { text-align: left; background: var(--bg-panel, #fff); border: 1px solid var(--border-main, #e7e5e4); border-radius: 14px; padding: 14px 16px; }
    .ae-hr-stat:hover { border-color: #b45309; }
    .ae-hr-stat span { display: block; font-size: 12px; color: var(--text-muted); font-weight: 600; } .ae-hr-stat b { display: block; font-size: 28px; margin: 4px 0 2px; } .ae-hr-stat i { font-style: normal; font-size: 12px; color: var(--text-muted); }
    .ae-hr-stat.is-warn b { color: #b45309; }
    .ae-hr-todo { margin: 6px 0 0; padding-left: 18px; list-style: disc; font-size: 13.5px; line-height: 1.8; } .ae-hr-todo a { color: #b45309; font-weight: 600; text-decoration: underline; }
    .ae-hr-table { display: flex; flex-direction: column; overflow-x: auto; }
    .ae-hr-tr { display: grid; grid-template-columns: minmax(150px, 1.4fr) repeat(4, minmax(78px, .7fr)) repeat(3, minmax(78px, .7fr)) minmax(110px, .8fr); gap: 8px; align-items: center; padding: 9px 0; border-top: 1px solid var(--border-main, #e7e5e4); font-size: 12.5px; min-width: 900px; }
    .ae-hr-th { font-size: 11px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .04em; border-top: 0; }
    .ae-hr-tr b { display: block; font-size: 13px; } .ae-hr-tr i { display: block; font-style: normal; font-size: 11.5px; color: var(--text-muted); }
    .ae-hr-cell { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--text-muted); }
    .ae-hr-cell.is-ok { color: #166534; font-weight: 700; } .ae-hr-cell.is-no { color: #b45309; font-weight: 700; }
    .ae-hr-state { background: var(--bg-panel, #fff); border: 1px solid var(--border-main, #e7e5e4); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
    .ae-hr-state h3 { font-size: 17px; font-weight: 700; margin: 0; }
    .ae-hr-fine { font-size: 12px; color: var(--text-muted); }
    .ae-hr-people { display: flex; flex-direction: column; gap: 14px; }
    .ae-hr-people-moved > [data-hr-people] { display: none !important; }
    .ae-hr-pointer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border-radius: 12px; border: 1px solid #b45309; background: rgba(245,158,11,.07); }
    .ae-hr-pointer[hidden] { display: none; }
    .ae-hr-pointer b { display: block; font-size: 14px; } .ae-hr-pointer span { font-size: 12.5px; color: var(--text-muted); }
    .ae-hr-home { max-width: 760px; margin: 30px auto; } .ae-hr-home p { margin: 4px 0 20px; }
    .ae-hr-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
    .ae-hr-tile { display: flex; flex-direction: column; gap: 6px; text-align: left; padding: 18px; border-radius: 16px; border: 1px solid var(--border-main, #e7e5e4); background: var(--bg-panel, #fff); color: #b45309; }
    .ae-hr-tile b { color: var(--text-main); font-size: 17px; } .ae-hr-tile span { color: var(--text-muted); font-size: 13px; }
    .ae-hr-tile:hover { border-color: #b45309; }
    .ae-hr-search { margin: 4px 0 8px; max-width: 360px; }
    .ae-hr-person[hidden] { display: none; }

/* ---------- Inventory (Daily Tools) ---------- */
.ae-inv { display: flex; flex-direction: column; gap: 14px; }
.ae-inv .ae-chef-head { margin-bottom: 0; }
.ae-inv-card { background: var(--bg-panel, #fff); border: 1px solid var(--border-main, #e7e5e4); border-radius: 16px; padding: 16px 18px; }
.ae-inv-card h2 { font-size: 20px; font-weight: 700; margin: 2px 0 4px; line-height: 1.2; }
.ae-inv-card h3 { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted, #78716c); margin: 16px 0 6px; }
.ae-inv-k { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ae-accent, #b45309); }
.ae-inv-meta { font-size: 13px; color: var(--text-muted, #78716c); margin: 2px 0 0; }
.ae-inv-note { font-size: 13px; color: var(--text-muted, #78716c); margin: 0 0 10px; line-height: 1.45; }
.ae-inv-empty { text-align: center; padding: 34px 18px; } .ae-inv-empty p { max-width: 520px; margin: 4px auto 14px; color: var(--text-muted, #78716c); font-size: 14px; }
.ae-inv-tools { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: -4px; }
.ae-inv-home { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; align-items: start; }
.ae-inv-now { border-color: rgba(217, 119, 6, .45); }
.ae-inv-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; align-items: center; }
.ae-inv-pill { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 999px; background: rgba(217, 119, 6, .14); color: #b45309; vertical-align: middle; letter-spacing: 0; }
.ae-inv-pill.is-review { background: rgba(14, 116, 144, .14); color: #0e7490; }
.ae-inv-pill.is-reviewed { background: rgba(4, 120, 87, .14); color: #047857; }
.ae-inv-pill.is-closed { background: rgba(87, 83, 78, .14); color: var(--text-muted, #57534e); }
.ae-inv-areatot { list-style: none; margin: 10px 0 0; padding: 0; font-size: 13.5px; }
.ae-inv-areatot li { display: flex; justify-content: space-between; padding: 5px 0; border-top: 1px solid var(--border-main, #e7e5e4); }
.ae-inv-hist { list-style: none; margin: 8px 0 0; padding: 0; max-height: 360px; overflow: auto; }
.ae-inv-hist button { width: 100%; display: flex; justify-content: space-between; gap: 10px; padding: 9px 4px; border-top: 1px solid var(--border-main, #e7e5e4); font-size: 14px; text-align: left; }
.ae-inv-hist button:hover { background: var(--bg-sub, #fafaf8); }
.ae-inv-hv { font-weight: 700; font-variant-numeric: tabular-nums; } .ae-inv-hv small { margin-left: 8px; font-weight: 600; font-size: 12px; }
.ae-inv-hv small.up { color: #047857; } .ae-inv-hv small.down { color: #b91c1c; }
.ae-inv-counthead { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: flex-end; }
.ae-inv-counthead h2 { font-size: 22px; font-weight: 700; margin: 2px 0; }
.ae-inv-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12px; }
.ae-inv-tip { font-size: 13.5px; color: var(--text-muted, #6b6560); margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--bg-sub, #fafaf8); border: 1px solid var(--border-main, #e7e5e4); line-height: 1.45; }
.ae-inv-sum { display: flex; flex-wrap: wrap; gap: 8px; }
.ae-inv-sum > div { background: var(--bg-panel, #fff); border: 1px solid var(--border-main, #e7e5e4); border-radius: 12px; padding: 9px 13px; display: flex; flex-direction: column; min-width: 110px; }
.ae-inv-sum span { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-inv-sum b { font-size: 19px; font-variant-numeric: tabular-nums; } .ae-inv-sum small { font-size: 11.5px; color: #b45309; }
.ae-inv-sum .is-area b { font-size: 15px; }
.ae-inv-filter { position: sticky; top: var(--ae-head-h, 64px); z-index: 5; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px 0; background: var(--bg-app, #F8F5EF); }
.ae-inv-chips { display: flex; gap: 6px; overflow-x: auto; flex: 1 1 auto; min-width: 0; scrollbar-width: thin; }
.ae-inv-chips button { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-panel, #fff); font-size: 14px; font-weight: 600; }
.ae-inv-chips button span { font-size: 12px; font-weight: 600; color: var(--text-muted, #78716c); font-variant-numeric: tabular-nums; }
.ae-inv-chips button.is-on { background: #1c1917; color: #fff; border-color: #1c1917; } .ae-inv-chips button.is-on span { color: #d6d3d1; }
.ae-inv-chips button.is-full:not(.is-on) { border-color: rgba(4, 120, 87, .5); }
.ae-inv-search { min-width: 180px; flex: 0 1 240px; font-size: 15px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-inv-jump { align-self: flex-start; font-size: 13px; font-weight: 700; color: #b45309; padding: 4px 0; }
.ae-inv-list { display: flex; flex-direction: column; gap: 14px; }
.ae-inv-area h3 { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted, #57534e); margin: 0 0 6px; }
.ae-inv-area h3 span { letter-spacing: 0; text-transform: none; font-weight: 600; font-size: 12.5px; }
.ae-inv-row { display: grid; grid-template-columns: minmax(0, 1fr) auto 110px; gap: 10px 14px; align-items: center; padding: 10px 14px; background: var(--bg-panel, #fff); border: 1px solid var(--border-main, #e7e5e4); border-radius: 12px; margin-bottom: 6px; }
.ae-inv-row.is-done { border-left: 4px solid #059669; padding-left: 11px; }
.ae-inv-row.is-flag { border-color: rgba(217, 119, 6, .7); border-left: 4px solid #d97706; padding-left: 11px; background: rgba(253, 230, 138, .12); }
.ae-inv-name { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ae-inv-name b { font-size: 15.5px; font-weight: 650; line-height: 1.25; overflow-wrap: anywhere; }
.ae-inv-name small { font-size: 12.5px; color: var(--text-muted, #78716c); }
.ae-inv-name small.ae-inv-fix { color: #0e7490; }
.ae-inv-flag { display: block; font-size: 13px; line-height: 1.4; margin-top: 3px; padding: 5px 8px; border-radius: 8px; background: rgba(217, 119, 6, .12); color: #92400e; }
.ae-inv-flag.is-info { background: var(--bg-sub, #f5f5f4); color: var(--text-muted, #57534e); }
.ae-inv-flag.is-miss { background: rgba(185, 28, 28, .08); color: #b91c1c; }
.ae-inv-flag button { font-weight: 700; text-decoration: underline; text-underline-offset: 2px; margin-left: 4px; color: inherit; }
.ae-inv-in { display: flex; align-items: center; gap: 6px; }
.ae-inv-in input { width: 112px; height: 46px; font-size: 20px; font-weight: 600; text-align: right; padding: 0 12px; border-radius: 11px; border: 1.5px solid var(--border-main, #a8a29e); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); font-variant-numeric: tabular-nums; }
.ae-inv-in input:focus { outline: none; border-color: #d97706; box-shadow: 0 0 0 3px rgba(217, 119, 6, .2); }
.ae-inv-in input[aria-invalid="true"] { border-color: #b91c1c; }
.ae-inv-u { font-size: 14px; font-weight: 600; color: var(--text-muted, #78716c); width: 22px; }
.ae-inv-ro { font-size: 18px; font-weight: 600; min-width: 60px; text-align: right; font-variant-numeric: tabular-nums; }
.ae-inv-side { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; text-align: right; font-size: 14px; font-variant-numeric: tabular-nums; }
.ae-inv-side small { font-size: 11.5px; color: var(--text-muted, #78716c); } .ae-inv-side small.ae-inv-err { color: #b91c1c; }
.ae-inv-none { padding: 20px 0; }
.ae-inv-setup { display: flex; flex-direction: column; gap: 14px; }
.ae-inv-set-grid { display: flex; flex-wrap: wrap; gap: 14px; margin: 8px 0 10px; }
.ae-inv-set-grid label { display: flex; flex-direction: column; gap: 4px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-inv-setup select { font-size: 14px; padding: 6px 9px; border-radius: 9px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); text-transform: none; letter-spacing: 0; font-weight: 600; }
.ae-inv-areas, .ae-inv-items { list-style: none; margin: 0; padding: 0; }
.ae-inv-areas li, .ae-inv-items li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid var(--border-main, #e7e5e4); font-size: 14px; }
.ae-inv-areas li > button, .ae-inv-items li > button:not(.ae-btn-secondary) { min-width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--border-main, #e7e5e4); font-weight: 700; }
.ae-inv-areas li > button:disabled, .ae-inv-items li > button:disabled { opacity: .3; }
.ae-inv-areas li > button.ae-inv-x, .ae-inv-items li > button.ae-inv-x { border: 0; color: #b91c1c; font-size: 12.5px; font-weight: 600; padding: 0 6px; }
.ae-inv-set-in { flex: 1 1 200px; font-size: 15px; padding: 7px 10px; border-radius: 9px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-inv-addarea { display: flex; gap: 8px; margin-top: 10px; }
.ae-inv-iname { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; font-weight: 600; }
.ae-inv-iname small { font-weight: 400; font-size: 12px; color: var(--text-muted, #78716c); }
.ae-inv-settabs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 6px 0 4px; }
.ae-inv-settabs > button:not(.ae-btn-primary):not(.ae-btn-secondary) { padding: 7px 12px; border-radius: 999px; border: 1px solid var(--border-main, #d6d3d1); font-size: 13.5px; font-weight: 600; background: var(--bg-panel, #fff); }
.ae-inv-settabs > button.is-on:not(.ae-btn-primary):not(.ae-btn-secondary) { background: #1c1917; color: #fff; border-color: #1c1917; }
.ae-inv-settabs .ae-inv-search { flex: 1 1 200px; }
@media (max-width: 700px) {
  .ae-inv-row { grid-template-columns: minmax(0, 1fr) auto; padding: 10px 12px; }
  .ae-inv-side { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; gap: 10px; }
  .ae-inv-side:empty { display: none; }
  .ae-inv-in input { width: 96px; height: 50px; }
  .ae-inv-filter { margin: 0 -12px; padding: 8px 12px; }
  .ae-inv-search { flex: 1 1 100%; }
  .ae-inv-sum > div { flex: 1 1 40%; }
  .ae-inv-actions > button { flex: 1 1 auto; }
}
.ae-inv-print { font-family: Inter, system-ui, sans-serif; color: #111; }
.ae-inv-print-h { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid #1c1917; padding-bottom: 6px; margin-bottom: 8px; }
.ae-inv-print-k { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #92400e; }
.ae-inv-print-t { font-family: Georgia, serif; font-size: 22px; font-weight: 700; }
.ae-inv-print-d { font-size: 12px; }
.ae-inv-print h3 { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin: 14px 0 4px; break-after: avoid; }
.ae-inv-print table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.ae-inv-print th { text-align: left; font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; border-bottom: 1px solid #555; padding: 3px 4px; }
.ae-inv-print td { border-bottom: 1px solid #ccc; padding: 5px 4px; }
.ae-inv-print tr { break-inside: avoid; }
.ae-inv-print-box { display: inline-block; width: 70px; height: 16px; border-bottom: 1px solid #111; }
.ae-inv-prep { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 1px 6px; border-radius: 6px; background: rgba(14, 116, 144, .12); color: #0e7490; vertical-align: 2px; }
.ae-inv-switch { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-top: 1px solid var(--border-main, #e7e5e4); cursor: pointer; }
.ae-inv-switch input { width: 18px; height: 18px; margin-top: 2px; accent-color: #d97706; flex: none; }
.ae-inv-switch b { display: block; font-size: 14.5px; } .ae-inv-switch small { display: block; font-size: 12.5px; color: var(--text-muted, #78716c); line-height: 1.4; }
.ae-inv-pars { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.ae-inv-pars label { display: flex; flex-direction: column; align-items: center; font-size: 10px; font-weight: 700; color: var(--text-muted, #78716c); text-transform: uppercase; }
.ae-inv-pars input { width: 46px; height: 30px; text-align: center; font-size: 14px; border-radius: 7px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-inv-items li > button.ae-inv-mini { height: 30px; padding: 0 8px; font-size: 12px; font-weight: 600; border-radius: 8px; border: 1px solid var(--border-main, #e7e5e4); }
.ae-inv-make { color: #b45309; font-size: 15px; } .ae-inv-atpar { color: #047857; font-size: 14px; }
.ae-inv-for { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-inv-seg { display: inline-flex; border: 1px solid var(--border-main, #d6d3d1); border-radius: 999px; padding: 3px; background: var(--bg-panel, #fff); }
.ae-inv-seg button { padding: 6px 14px; border-radius: 999px; font-size: 13.5px; font-weight: 600; display: inline-flex; gap: 6px; align-items: baseline; }
.ae-inv-seg button span { font-size: 11.5px; color: var(--text-muted, #78716c); }
.ae-inv-seg button.is-on { background: #1c1917; color: #fff; } .ae-inv-seg button.is-on span { color: #d6d3d1; }
.ae-inv-prepgrid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 14px; align-items: start; }
.ae-inv-preplist { position: sticky; top: calc(var(--ae-head-h, 64px) + 10px); }
.ae-inv-preplist ul { list-style: none; margin: 8px 0 0; padding: 0; }
.ae-inv-preplist li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid var(--border-main, #e7e5e4); font-size: 14px; }
.ae-inv-preplist li b { white-space: nowrap; color: #b45309; } .ae-inv-preplist li small { color: var(--text-muted, #78716c); font-weight: 500; }
@media (max-width: 900px) { .ae-inv-prepgrid { grid-template-columns: minmax(0, 1fr); } .ae-inv-preplist { position: static; } }
.ae-inv-chk { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600; color: var(--text-muted, #57534e); cursor: pointer; }
.ae-inv-chk input { accent-color: #d97706; }
.ae-inv-muted { color: var(--text-muted, #78716c); font-weight: 500; }
.ae-inv-tip.is-warn { background: rgba(253, 230, 138, .25); border-color: rgba(217, 119, 6, .4); color: #92400e; }
.ae-inv-sales { display: flex; flex-wrap: wrap; gap: 14px; }
.ae-inv-sale { display: flex; flex-direction: column; gap: 4px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-inv-sale input { width: 180px; height: 42px; font-size: 18px; font-weight: 600; padding: 0 12px; border-radius: 10px; border: 1.5px solid var(--border-main, #a8a29e); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); font-variant-numeric: tabular-nums; }
.ae-inv-eq { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 14px; }
.ae-inv-eq > div { display: flex; flex-direction: column; padding: 9px 13px; border: 1px solid var(--border-main, #e7e5e4); border-radius: 12px; background: var(--bg-sub, #fafaf8); min-width: 120px; }
.ae-inv-eq > div span { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-inv-eq > div b { font-size: 19px; font-variant-numeric: tabular-nums; }
.ae-inv-eq > div small { font-size: 11.5px; color: var(--text-muted, #78716c); }
.ae-inv-eq > div.is-res { background: #1c1917; border-color: #1c1917; color: #fff; } .ae-inv-eq > div.is-res span { color: #d6d3d1; }
.ae-inv-eq > div.is-pct { margin-left: auto; border-color: rgba(217, 119, 6, .5); background: rgba(253, 230, 138, .18); } .ae-inv-eq > div.is-pct b { font-size: 24px; color: #b45309; }
.ae-inv-eq > i { font-style: normal; font-weight: 700; font-size: 18px; color: var(--text-muted, #78716c); }
.ae-inv-tbl { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 6px; }
.ae-inv-tbl th { text-align: right; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); padding: 6px 8px; border-bottom: 1.5px solid var(--border-main, #e7e5e4); }
.ae-inv-tbl td { text-align: right; padding: 7px 8px; border-bottom: 1px solid var(--border-main, #e7e5e4); font-variant-numeric: tabular-nums; vertical-align: top; }
.ae-inv-tbl th:first-child, .ae-inv-tbl td:first-child { text-align: left; }
.ae-inv-tbl td small { display: block; font-size: 11.5px; color: var(--text-muted, #78716c); }
.ae-inv-tbl tr.is-miss td { background: rgba(253, 230, 138, .18); }
.ae-inv-amt { width: 110px; height: 34px; text-align: right; font-size: 14.5px; padding: 0 9px; border-radius: 8px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); font-variant-numeric: tabular-nums; }
.ae-inv-other { list-style: none; margin: 0 0 10px; padding: 0; }
.ae-inv-other li { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 6px 0; }
.ae-inv-other li > button.ae-inv-x { color: #b91c1c; font-size: 12.5px; font-weight: 600; }
@media (max-width: 700px) { .ae-inv-tbl { font-size: 12.5px; } .ae-inv-tbl th, .ae-inv-tbl td { padding: 6px 4px; } .ae-inv-eq > div { flex: 1 1 40%; min-width: 0; } .ae-inv-eq > i { display: none; } .ae-inv-eq > div.is-pct { margin-left: 0; } .ae-inv-card { overflow-x: auto; } }
.ae-inv-repprint button, .ae-inv-repprint .ae-chef-head, .ae-inv-repprint .ae-sm-bar, .ae-inv-repprint .ae-inv-tip, .ae-inv-repprint .ae-inv-actions { display: none !important; }
.ae-inv-repprint .ae-inv-card { border: 0; padding: 6px 0; break-inside: avoid; }
.ae-inv-more > summary { cursor: pointer; font-size: 14px; font-weight: 600; padding: 8px 0; color: var(--ae-accent, #b45309); }

/* ---------- Nutrition inside a spec (the Nutritionals tab is gone from the menu bar) ---------- */
#wsBtnNutrition { display: none !important; }
body.ae-off-nutrition .ae-nutri-btn { display: none !important; }
.ae-nutri-box { max-width: 980px !important; }
.ae-nutri-wrap { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 20px; align-items: start; }
.ae-nutri-label { background: #fff; color: #000; border: 2px solid #000; border-radius: 6px; padding: 10px 12px; font-family: Arial, Helvetica, sans-serif; }
.ae-nutri-t { font-size: 30px; font-weight: 900; letter-spacing: -.02em; border-bottom: 8px solid #000; padding-bottom: 2px; line-height: 1.05; }
.ae-nutri-s { font-size: 13px; padding: 3px 0; border-bottom: 1px solid #000; }
.ae-nutri-size { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 700; padding: 3px 0; border-bottom: 5px solid #000; }
.ae-nutri-cal { display: flex; justify-content: space-between; align-items: flex-end; padding: 4px 0; border-bottom: 4px solid #000; }
.ae-nutri-cal small { display: block; font-size: 11px; font-weight: 700; } .ae-nutri-cal b { font-size: 22px; font-weight: 900; } .ae-nutri-cal strong { font-size: 36px; font-weight: 900; line-height: 1; }
.ae-nutri-dv { text-align: right; font-size: 11px; font-weight: 700; padding: 3px 0; border-bottom: 1px solid #000; }
.ae-nutri-row { display: flex; justify-content: space-between; font-size: 13px; padding: 4px 0; border-bottom: 1px solid #999; }
.ae-nutri-row.is-last { border-bottom: 8px solid #000; }
.ae-nutri-label p { font-size: 10.5px; line-height: 1.3; margin: 6px 0 0; color: #333; }
.ae-nutri-note { font-size: 13px; color: var(--text-muted, #6b6560); margin: 0 0 10px; line-height: 1.45; padding: 9px 12px; border-radius: 10px; background: var(--bg-sub, #fafaf8); border: 1px solid var(--border-main, #e7e5e4); }
.ae-nutri-scroll { overflow-x: auto; }
.ae-nutri-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.ae-nutri-tbl th { text-align: right; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); padding: 6px; border-bottom: 1.5px solid var(--border-main, #e7e5e4); }
.ae-nutri-tbl td { text-align: right; padding: 6px; border-bottom: 1px solid var(--border-main, #e7e5e4); font-variant-numeric: tabular-nums; }
.ae-nutri-tbl th:first-child, .ae-nutri-tbl td:first-child { text-align: left; }
.ae-nutri-tbl td small { font-size: 11px; color: var(--text-muted, #78716c); }
.ae-nutri-tbl tr.is-est td:first-child small { color: #b45309; }
.ae-nutri-tbl tfoot td { font-weight: 700; border-bottom: 0; border-top: 1.5px solid var(--border-main, #d6d3d1); }
@media (max-width: 760px) { .ae-nutri-wrap { grid-template-columns: minmax(0, 1fr); } .ae-nutri-label { max-width: 320px; } }

/* ---------- SCORM courses in the Learning Center ---------- */
.ae-scorm-prog { height: 8px; border-radius: 99px; background: var(--bg-sub, #f5f5f4); overflow: hidden; margin-top: 10px; }
.ae-scorm-prog span { display: block; height: 100%; width: 0; background: #d97706; transition: width .2s; }
.ae-scorm-card { width: 100%; height: 100%; min-height: 150px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 6px; padding: 16px 18px; background: linear-gradient(135deg, #1c1917, #3a2614); color: #fff; text-align: left; }
.ae-scorm-k { font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fbbf24; }
.ae-scorm-card b { font-size: 16px; line-height: 1.25; }
.ae-scorm-go { margin-top: 4px; padding: 6px 14px; border-radius: 99px; background: #f59e0b; color: #1c1917; font-size: 12.5px; font-weight: 700; }
.ae-scorm-st { font-size: 11px; font-weight: 600; color: #fcd34d; } .ae-scorm-st.is-done { color: #6ee7b7; }
.ae-scorm-box { width: min(1200px, 96vw) !important; max-width: none !important; }
.ae-scorm-frame { position: relative; width: 100%; height: min(78vh, 760px); background: #fff; }
.ae-scorm-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
#aeScormState { font-size: 13px; color: var(--text-muted, #78716c); flex: 1; } #aeScormState.is-done { color: #047857; font-weight: 700; }
.ae-scorm-box .ae-yt-foot { display: flex; align-items: center; gap: 10px; }
/* inventory: tabs, forms, waste, orders, transfers, locations */
.ae-inv-tabs { display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--border-main, #e7e5e4); scrollbar-width: none; margin-top: -2px; }
.ae-inv-tabs::-webkit-scrollbar { display: none; }
.ae-inv-tabs button { flex: none; padding: 10px 14px; font-size: 14.5px; font-weight: 600; color: var(--text-muted, #78716c); border-bottom: 2.5px solid transparent; margin-bottom: -1px; }
.ae-inv-tabs button:hover { color: var(--text-main, #1c1917); }
.ae-inv-tabs button.is-on { color: var(--text-main, #1c1917); border-bottom-color: #d97706; }
.ae-inv-date { display: inline-flex; flex-direction: column; gap: 2px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-inv-date input, .ae-inv-redate input { font-size: 14px; padding: 6px 8px; border-radius: 9px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); text-transform: none; letter-spacing: 0; font-weight: 600; }
.ae-inv-redate input { font-size: 12.5px; padding: 3px 6px; vertical-align: middle; }
.ae-inv-addopts { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 10px 0; font-size: 13.5px; }
.ae-inv-addopts select { margin-left: 6px; font-size: 14px; padding: 5px 8px; border-radius: 8px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-inv-two { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 14px; align-items: start; }
@media (max-width: 900px) { .ae-inv-two { grid-template-columns: minmax(0, 1fr); } }
.ae-inv-form .ae-inv-search { width: 100%; margin-top: 8px; }
.ae-inv-pickres { list-style: none; margin: 6px 0 0; padding: 0; border: 1px solid var(--border-main, #e7e5e4); border-radius: 10px; overflow: hidden; }
.ae-inv-pickres li button { width: 100%; text-align: left; padding: 10px 12px; font-size: 14.5px; border-top: 1px solid var(--border-main, #e7e5e4); }
.ae-inv-pickres li:first-child button { border-top: 0; } .ae-inv-pickres li button:hover { background: var(--bg-sub, #fafaf8); }
.ae-inv-pickres li.theme-muted { padding: 10px 12px; font-size: 13.5px; }
.ae-inv-picked { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 8px; padding: 10px 12px; border-radius: 10px; background: var(--bg-sub, #fafaf8); border: 1px solid var(--border-main, #e7e5e4); font-size: 15px; }
.ae-inv-picked button { font-size: 13px; font-weight: 600; color: #b45309; }
.ae-inv-amtrow { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-top: 10px; }
.ae-inv-amtrow label { display: flex; flex-direction: column; gap: 3px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); }
.ae-inv-amtrow input { width: 120px; height: 44px; font-size: 18px; font-weight: 600; padding: 0 10px; border-radius: 10px; border: 1.5px solid var(--border-main, #a8a29e); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-inv-amtrow select { height: 44px; font-size: 15px; padding: 0 8px; border-radius: 10px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-inv-amtval { font-size: 13.5px; color: var(--text-muted, #57534e); padding-bottom: 12px; } .ae-inv-err { color: #b91c1c; }
.ae-inv-why { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ae-inv-why button { padding: 7px 12px; border-radius: 999px; border: 1px solid var(--border-main, #d6d3d1); font-size: 13.5px; font-weight: 600; background: var(--bg-panel, #fff); }
.ae-inv-why button.is-on { background: #1c1917; color: #fff; border-color: #1c1917; }
.ae-inv-head2 { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.ae-inv-ord td .ae-inv-amt { width: 72px; height: 32px; }
.ae-inv-ord tr.is-buy td:last-child .ae-inv-amt { border-color: #d97706; font-weight: 700; }
.ae-inv-parin { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: var(--text-muted, #78716c); }
.ae-inv-parin input { width: 56px; height: 30px; text-align: center; font-size: 13.5px; border-radius: 7px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-inv-in-tag { color: #047857; } .ae-inv-out-tag { color: #b45309; }
.ae-inv-hist button.is-cur { background: var(--bg-sub, #fafaf8); }
.ae-inv-hd small { display: block; font-size: 12px; color: var(--text-muted, #78716c); font-weight: 500; }
.ae-inv-locsel { font-size: 13px; padding: 4px 6px; border-radius: 7px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-inv-legend { display: flex; gap: 12px; font-size: 12.5px; font-weight: 600; } .ae-inv-legend span::before { content: ''; display: inline-block; width: 14px; height: 3px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
.ae-inv-legend .is-food::before { background: #d97706; } .ae-inv-legend .is-bev::before { background: #0e7490; }
.ae-inv-trend { width: 100%; height: auto; color: var(--text-main, #1c1917); }
.ae-chef-quick { display: inline-block; margin-top: 8px; padding: 6px 12px; border-radius: 999px; background: #1c1917; color: #fff; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.ae-inv-due { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.ae-inv-due > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(217, 119, 6, .45); background: rgba(253, 230, 138, .18); font-size: 14px; }
.ae-inv-tbl.is-log th:nth-child(2), .ae-inv-tbl.is-log td:nth-child(2), .ae-inv-tbl.is-log th:nth-child(4), .ae-inv-tbl.is-log td:nth-child(4) { text-align: left; }
.ae-inv-form .ae-inv-sale { width: 100%; }
.ae-inv-form .ae-inv-sale select { width: 100%; height: 42px; font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; padding: 0 10px; border-radius: 10px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
/* ---------- Costing (Round 118) ---------- */
#wsBtnInvoices { display: none !important; }
.ae-cost-barwrap { max-width: 72rem; margin: 0 auto 14px; }
.ae-cost-tabs { display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; padding: 4px; border-radius: 14px; background: var(--bg-card, rgba(120,113,108,.08)); border: 1px solid var(--border-main, #e7e5e4); margin-bottom: 14px; }
.ae-cost-tabs::-webkit-scrollbar { display: none; }
.ae-cost-label { flex: none; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted, #78716c); padding: 0 10px 0 8px; }
.ae-cost-tabs button { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--text-muted, #78716c); }
.ae-cost-tabs button:hover { color: var(--text-main, #1c1917); }
.ae-cost-tabs button.is-on { background: var(--bg-panel, #fff); color: var(--text-main, #1c1917); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.ae-cost-badge { min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; background: #d97706; color: #fff; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.ae-cost-more { margin-left: auto; font-size: 13px !important; font-weight: 600; color: var(--ae-accent-text, #b45309) !important; }
.ae-cost-chk { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--text-muted, #78716c); }
.ae-cost-empty { display: flex; flex-direction: column; gap: 4px; padding: 26px; border-radius: 16px; border: 1px dashed var(--border-main, #d6d3d1); text-align: center; font-size: 14px; color: var(--text-muted, #78716c); }
.ae-cost-empty b { color: var(--text-main, #1c1917); }
.ae-cost-sum { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; margin: 4px 0 12px; }
.is-up { color: #b91c1c; } .is-down { color: #15803d; } .is-high { color: #c2410c; font-weight: 700; }
.dark .is-up { color: #f87171; } .dark .is-down { color: #4ade80; }
.ae-cost-card { border: 1px solid var(--border-main, #e7e5e4); border-left: 4px solid #b91c1c; background: var(--bg-panel, #fff); border-radius: 14px; padding: 14px 16px; margin-bottom: 12px; }
.ae-cost-card.ae-cost-down { border-left-color: #15803d; }
.ae-cost-warn { margin-top: 10px; font-size: 13px; padding: 8px 11px; border-radius: 10px; background: rgba(253,230,138,.3); border: 1px solid rgba(217,119,6,.35); }
.ae-cost-card-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.ae-cost-name { font-weight: 700; font-size: 16px; }
.ae-cost-meta { font-size: 12.5px; color: var(--text-muted, #78716c); margin-top: 2px; }
.ae-cost-move { text-align: right; flex: none; }
.ae-cost-pct { display: block; font-size: 20px; font-weight: 800; }
.ae-cost-card.ae-cost-up .ae-cost-pct { color: #b91c1c; } .ae-cost-card.ae-cost-down .ae-cost-pct { color: #15803d; }
.dark .ae-cost-card.ae-cost-up .ae-cost-pct { color: #f87171; } .dark .ae-cost-card.ae-cost-down .ae-cost-pct { color: #4ade80; }
.ae-cost-was { font-size: 12px; color: var(--text-muted, #78716c); }
.ae-cost-dishes { margin-top: 10px; display: flex; flex-direction: column; gap: 2px; }
.ae-cost-dh { font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted, #78716c); margin: 6px 0 4px; }
.ae-cost-dish { display: flex; justify-content: space-between; gap: 10px; text-align: left; padding: 7px 10px; border-radius: 9px; font-size: 14px; }
.ae-cost-dish:hover { background: rgba(120,113,108,.09); }
.ae-cost-dn { font-weight: 600; min-width: 0; color: var(--text-main, #1c1917); }
.ae-cost-dv { flex: none; font-size: 13px; text-align: right; }
.ae-cost-acts { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
@media (max-width: 640px) { .ae-cost-dish { flex-direction: column; gap: 2px; } .ae-cost-dv { text-align: left; } }
/* ---------- 86 and pre-shift ---------- */
.ae-btn-ghost { height: 34px; padding: 0 10px; border-radius: 10px; font-size: 13px; font-weight: 600; color: var(--text-muted, #78716c); background: transparent; border: 0; }
.ae-btn-ghost:hover { color: var(--text-main, #1c1917); background: rgba(120,113,108,.1); }
.ae-bd-day { font-size: 14px; font-weight: 600; color: var(--text-muted, #78716c); }
.ae-bd-carry { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(217,119,6,.45); background: rgba(253,230,138,.18); font-size: 14px; margin-bottom: 14px; }
.ae-bd-carry > span { flex: 1; min-width: 200px; }
.ae-bd-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 860px) { .ae-bd-grid { grid-template-columns: 1fr; } }
.ae-bd h2 { font-size: 17px; font-weight: 700; margin-bottom: 10px; }
.ae-bd-add { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; margin-bottom: 12px; }
@media (max-width: 560px) { .ae-bd-add { grid-template-columns: 1fr auto; } .ae-bd-add #aeBdNew { grid-column: 1 / -1; } }
.ae-bd-add .ae-btn-primary { white-space: nowrap; align-self: stretch; height: auto; min-height: 40px; padding: 0 18px; }
.ae-bd-send { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 12px; }
.ae-bd-send span { flex: 1 1 220px; font-size: 12.5px; line-height: 1.45; color: var(--text-muted, #78716c); }
.ae-bd-add input, .ae-bd-text { width: 100%; font-size: 15px; padding: 9px 11px; border-radius: 10px; border: 1px solid var(--border-main, #d6d3d1); background: var(--bg-input, #fff); color: var(--text-main, #1c1917); }
.ae-bd-text { min-height: 260px; resize: vertical; line-height: 1.5; }
.ae-bd-nh { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.ae-bd-state { font-size: 12px; color: var(--text-muted, #78716c); }
.ae-bd-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ae-bd-list li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--border-main, #e7e5e4); }
.ae-bd-list li b { font-size: 15.5px; }
.ae-bd-note { display: block; font-size: 13.5px; margin-top: 1px; }
.ae-bd-by { display: block; font-size: 12px; color: var(--text-muted, #78716c); margin-top: 2px; }
.ae-bd-acts { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }
.ae-bd-tag { flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 22px; padding: 0 6px; border-radius: 6px; background: #b91c1c; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.ae-bd-backs { margin-top: 12px; font-size: 13px; color: var(--text-muted, #78716c); }
.ae-bd-banner { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 6px; }
.ae-bd-bc { border: 1px solid rgba(185,28,28,.3); background: rgba(254,226,226,.35); border-radius: 14px; padding: 11px 14px; font-size: 14.5px; }
.dark .ae-bd-bc { background: rgba(127,29,29,.22); }
.ae-bd-bconcept { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); margin-bottom: 4px; }
.ae-bd-brow { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.ae-bd-note-i { color: var(--text-muted, #78716c); font-weight: 400; }
.ae-bd-bnotes { margin-top: 6px; }
.ae-bd-bnotes summary { cursor: pointer; font-weight: 700; font-size: 13.5px; }
.ae-bd-btext { margin-top: 6px; line-height: 1.55; white-space: normal; }
.ae-mg-tile { position: relative; }
.ae-mg-tile.is-86 .ae-mg-photo, .ae-mg-tile.is-86 .ae-mg-body { opacity: .5; }
.ae-bd-tile86 { position: absolute; top: 10px; left: 10px; z-index: 2; background: #b91c1c; color: #fff; font-weight: 800; font-size: 13px; padding: 3px 9px; border-radius: 7px; box-shadow: 0 1px 4px rgba(0,0,0,.25); }
/* ---------- notifications in My account ---------- */
.ae-push-kinds, .ae-push-cs { display: flex; flex-direction: column; gap: 6px; }
.ae-push-cs { flex-direction: row; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; align-items: center; }
.ae-push-k { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
/* console: hamburger menu on phones and narrow windows */
.nc-burger { display: none; margin-left: auto; align-items: center; gap: 8px; padding: 7px 10px 7px 14px; border-radius: 999px; border: 1px solid rgba(247,243,236,.45); color: var(--nl-cream, #F7F3EC); font-weight: 600; font-size: 14px; }
@media (max-width: 860px) {
  .nc-top { flex-wrap: wrap; }
  .nc-burger { display: inline-flex; }
  .nc-top .nc-tabs, .nc-top .nc-me { display: none; }
  .nc-top.is-open .nc-tabs { display: flex; flex-direction: column; flex: 1 0 100%; gap: 2px; padding: 8px 0 4px; border-top: 1px solid rgba(247,243,236,.18); margin-top: 4px; }
  .nc-top.is-open .nc-tabs button { text-align: left; padding: 11px 14px; border-radius: 12px; font-size: 16px; }
  .nc-top.is-open .nc-me { display: flex; flex: 1 0 100%; justify-content: space-between; padding: 8px 4px 2px; border-top: 1px solid rgba(247,243,236,.18); }
  .nc-top.is-open .nc-me span { display: inline; }
  .nc-stat-n { font-size: 26px !important; line-height: 1.15; }
}
.ae-bd .ae-sm-bar { margin-bottom: 14px; align-items: center; }
#aeCostPricesRoot .ae-sm-bar, .ae-inv .ae-sm-bar { margin-bottom: 12px; }
@media (max-width: 640px) { .ae-cost-label { display: none; } .ae-cost-tabs button { padding: 8px 11px; font-size: 13.5px; } }
/* ===================================================================== */
/* LOOK (Round 118): matches nappestudio.com. Screen only; spec sheets,   */
/* cards and printing keep their own fonts and colors.                    */
/* ===================================================================== */
@media screen {
  :root {
    --bg-app: #F8F5EF; --bg-panel: #FFFFFF; --bg-sub: #FBF9F5; --bg-input: #FFFFFF;
    --text-main: #22302B; --text-muted: #5F6B66; --border-main: #E8E1D5; --ae-soft: #EFEAE1;
    --ae-primary: #2F5D50; --ae-primary-hover: #24493F; --ae-on-primary: #F7F3EC;
    --ae-accent: #2F5D50; --ae-accent-text: #2F5D50; --ae-ring: rgba(47, 93, 80, .3);
    --ae-display: 'Bricolage Grotesque', 'Figtree', system-ui, sans-serif;
    --ae-text: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  }
  html.dark {
    --bg-app: #121614; --bg-panel: #1A1F1D; --bg-sub: #1F2522; --bg-input: #161B19;
    --text-main: #F2EFE8; --text-muted: #A4ADA8; --border-main: #2C3430; --ae-soft: #26302C;
    --ae-primary: #CFE3DA; --ae-primary-hover: #B5D3C6; --ae-on-primary: #17201C;
    --ae-accent: #8CC5B2; --ae-accent-text: #9BD0BE; --ae-ring: rgba(140, 197, 178, .35);
  }
  body, .font-sans:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *) { font-family: var(--ae-text); }
  html:not(.dark) body { background-color: var(--bg-app); }
  /* headings */
  :is(h1, h2, h3, .font-cinzel, .ae-chef-title, .ae-chef-cardtitle, .ae-lc-mtitle, .ae-sn-head h2, .ae-mn-vtitle h2, .ae-ai-title, .ae-ai-hello-t, .ae-st-titlebar h2, .nc-h1):not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *, [class*="brand-card"], [class*="brand-card"] *, .ae-preshift *, .sr-only, .nl-mark *) {
    font-family: var(--ae-display) !important; letter-spacing: -0.02em !important;
  }
  h2.font-cinzel:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *), .ae-chef-title { font-weight: 700 !important; }
  /* inputs and panels: softer, rounder, more air */
  :is(.theme-panel, .theme-card).border:not(.sheet-85x11, .card-5x7, .mobile-phone-card, .sheet-85x11 *, .card-5x7 *, .mobile-phone-card *) { border-color: var(--border-main) !important; }
  :is(input, select, textarea):focus-visible:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *) { outline: 2px solid var(--ae-ring); outline-offset: 1px; border-color: var(--ae-accent) !important; }
  .ae-btn-primary, .ae-btn-secondary { border-radius: 999px !important; }
  .ae-btn-secondary { border-color: var(--border-main); }
  /* the menu bar */
  body > header.theme-panel { background: rgba(255, 253, 248, .92) !important; backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); }
  html.dark body > header.theme-panel { background: rgba(26, 31, 29, .92) !important; }
  body > header [id^="wsBtn"] { font-size: 13px !important; padding: 7px 11px !important; border-radius: 999px !important; font-weight: 500; }
  body > header [id^="wsBtn"].bg-amber-500 { background-color: rgba(47, 93, 80, .1) !important; color: #2F5D50 !important; font-weight: 600 !important; }
  html.dark body > header [id^="wsBtn"].bg-amber-500 { background-color: rgba(140, 197, 178, .14) !important; color: #CFE3DA !important; }
  body > header [id^="wsBtn"].bg-amber-500:hover { background-color: rgba(47, 93, 80, .16) !important; color: #2F5D50 !important; }
  /* amber labels that were the accent (dates, small section labels, links) follow the accent */
  .ae-accent-text, .ae-link { color: var(--ae-accent-text) !important; }
  .ae-chef-back { color: var(--ae-accent-text) !important; }
  .ae-inv-tabs button.is-on { border-bottom-color: var(--ae-accent) !important; }
  .ae-cost-badge { background: var(--ae-accent); color: var(--ae-on-primary); }
  html.dark .ae-cost-badge { color: #17201C; }
}
/* phones: sections open from a menu button */
.ae-mnav-btn { display: none; }
@media screen and (max-width: 767px) {
  .ae-mnav-btn { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px 0 14px; border-radius: 999px; border: 1px solid var(--border-main); background: var(--bg-panel); color: var(--text-main); font-weight: 600; font-size: 14px; margin-left: auto; }
  .ae-mnav-btn .ae-mnav-i2 { display: none; }
  body.ae-mnav-open .ae-mnav-btn .ae-mnav-i1 { display: none; }
  body.ae-mnav-open .ae-mnav-btn .ae-mnav-i2 { display: inline; }
  .ae-mnav-cur { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body > header .ae-mnav-wrap { display: none !important; }
  body.ae-mnav-open > header .ae-mnav-wrap { display: flex !important; width: 100%; order: 9; padding: 6px 0 8px; }
  body.ae-mnav-open > header .ae-mnav-wrap > div { flex-direction: column; align-items: stretch; overflow: visible !important; gap: 2px; padding: 0 !important; }
  body.ae-mnav-open > header .ae-mnav-wrap > div > * { margin: 0 !important; }
  body.ae-mnav-open > header .ae-mnav-wrap [id^="wsBtn"] { width: 100%; justify-content: flex-start; text-align: left; font-size: 16px !important; padding: 12px 14px !important; border-radius: 12px !important; }
  body.ae-mnav-open > header .ae-mnav-wrap #aeNavMoreBtn { display: none !important; }
  body.ae-mnav-open > header { box-shadow: 0 18px 40px rgba(34, 48, 43, .14) !important; }
}
@media screen and (max-width: 767px) {
  #themeToggleBtn { display: none !important; }      /* Light and dark are in My account on phones */
  .ae-chg-row { flex-wrap: wrap; }
  .ae-chg-row > .flex-1 { flex: 1 1 calc(100% - 30px); }
  .ae-chg-row > .flex.gap-2.shrink-0 { width: 100%; padding-left: 0; justify-content: flex-end; }
  .ae-chg-row .truncate, .ae-chg-row [class*="truncate"] { white-space: normal; }
}
@media screen and (max-width: 439px) {
  .ae-mnav-btn { padding: 0; width: 38px; justify-content: center; }
  .ae-mnav-cur { display: none; }
}
@media screen {
  /* typewriter text in the app's own screens becomes the text font (numbers stay lined up) */
  .font-mono:not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *, pre, code, kbd, pre *, code *, #aeConsole .nc-code) { font-family: var(--ae-text) !important; font-variant-numeric: tabular-nums; letter-spacing: 0 !important; }
  /* one green for actions, everywhere */
  button:is(.bg-emerald-500, .bg-emerald-600, .bg-green-600, .bg-blue-500, .bg-blue-600, .bg-sky-600):not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *, [class*="brand-card"] *) { background-color: var(--ae-primary) !important; color: var(--ae-on-primary) !important; border-color: var(--ae-primary) !important; }
  button:is(.bg-emerald-500, .bg-emerald-600, .bg-green-600, .bg-blue-500, .bg-blue-600, .bg-sky-600):not(.sheet-85x11 *, .card-5x7 *, .mobile-phone-card *):hover { background-color: var(--ae-primary-hover) !important; }
}
.ae-cost-morewrap { display: flex; justify-content: center; margin: 6px 0 24px; }

/* speed: long pages only lay out what's on screen (the rest is drawn as you scroll to it) */
@media screen {
  #menuGuideRoot .ae-mg-sec { content-visibility: auto; contain-intrinsic-size: auto 900px; }
  #invoiceFeedContainer > .theme-panel { content-visibility: auto; contain-intrinsic-size: auto 400px; }
  .ae-cost-card { content-visibility: auto; contain-intrinsic-size: auto 260px; }
  #workspaceIngredients tbody > tr.ae-ing-tr { content-visibility: auto; contain-intrinsic-size: auto 64px; }
}
@media (max-width: 560px) { .ae-bd-text { min-height: 170px; } }
/* Ask nappAI: a smaller button (Round 118). On phones just the icon, so it doesn't cover the page. */
@media screen {
  .ae-ai-launch { height: 42px !important; padding: 0 15px 0 12px !important; font-size: 13px !important; font-weight: 600 !important; gap: 7px !important; box-shadow: 0 8px 22px -10px rgba(20, 40, 34, .55) !important; }
  .ae-ai-launch svg { color: var(--ae-on-primary) !important; opacity: .9; width: 18px; height: 18px; }
}
@media screen and (max-width: 767px) {
  .ae-ai-launch { width: 46px !important; height: 46px !important; padding: 0 !important; justify-content: center; right: 14px !important; }
  .ae-ai-launch span { display: none; }
  .ae-ai-launch svg { width: 21px; height: 21px; }
}
/* console: every checkbox the same size, however long its label */
.nc-toggle input[type="checkbox"], .nc-check input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; min-width: 20px; margin: 0; }
.nc-toggle { align-items: center; }
.nc-toggle span { flex: 1 1 auto; min-width: 0; }
.nc-toggle small { display: block; font-size: 12.5px; color: var(--nl-muted, #6b6b66); font-weight: 400; margin-top: 2px; }

/* without the Costing add-on: the ingredient list stays, the price alerts on it go */
body.ae-off-costing #priceVarianceAlertBanner { display: none !important; }
/* allergens on the spec cards: tap one to see where it comes from */
@media screen {
  .ae-alg-tap { cursor: pointer; transition: box-shadow .15s, transform .15s; }
  .ae-alg-tap:hover { box-shadow: 0 0 0 2px rgba(185, 28, 28, .25); }
  .ae-alg-tap:focus-visible { outline: 2px solid var(--ae-accent, #2F5D50); outline-offset: 2px; }
}
.ae-alg-pop { position: absolute; z-index: 9000; width: min(320px, calc(100vw - 20px)); background: var(--bg-panel, #fff); color: var(--text-main, #1c1917); border: 1px solid var(--border-main, #e7e5e4); border-radius: 14px; box-shadow: 0 18px 44px -16px rgba(20, 30, 25, .35); padding: 12px 14px; font-size: 13.5px; line-height: 1.45; }
.ae-alg-pop-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 6px; font-size: 15px; }
.ae-alg-pop-x { border: 0; background: transparent; color: var(--text-muted, #78716c); font-size: 14px; width: 28px; height: 28px; border-radius: 8px; cursor: pointer; }
.ae-alg-pop-x:hover { background: rgba(120, 113, 108, .12); }
.ae-alg-pop-l { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #78716c); margin-bottom: 4px; }
.ae-alg-pop-n { margin-top: 8px; font-size: 12px; color: var(--text-muted, #78716c); }
@media print { .ae-alg-pop { display: none !important; } }
.ae-chip-unused { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; padding: 2px 9px; border-radius: 999px; background: #F3EEDF; color: #6B5A2E; border: 1px dashed #C9B98A; }
.dark .ae-chip-unused { background: rgba(201, 185, 138, .12); color: #E2D3A4; border-color: rgba(201, 185, 138, .45); }
.ae-unused-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 10px 14px; margin: 0 0 14px; border-radius: 12px; border: 1px dashed var(--border-main, #d6d3d1); font-size: 13.5px; }
.ae-unused-bar.is-on { border-style: solid; background: rgba(243, 238, 223, .6); }
.dark .ae-unused-bar.is-on { background: rgba(201, 185, 138, .1); }
.ae-chip-unused.is-named { background: #E8F0EC; color: #2F5D50; border-color: #9DBDB0; }
.dark .ae-chip-unused.is-named { background: rgba(140, 197, 178, .12); color: #9BD0BE; border-color: rgba(140, 197, 178, .45); }
/* Home: bulletin left, recently added right */
.ae-home-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.ae-home-main { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.ae-home-side { min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.ae-home-recent:empty, .ae-home-dev:empty { display: none; }
.ae-home-recent > section { width: 100% !important; }
@media (min-width: 1024px) {
  .ae-home-split.has-side { grid-template-columns: minmax(0, 1fr) 320px; }
  .ae-home-split.has-side #homeNewsGrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ae-home-side .ae-recent-row { padding: 9px 16px; gap: 10px; }
  .ae-home-side .ae-recent-thumb { width: 36px; height: 36px; }
  .ae-home-side .ae-pill { display: none !important; }
  .ae-home-side .ae-recent-row > span:last-child { width: auto !important; font-size: 12px; }
}
/* Phones and tablets: small shortcuts, a swipeable "Recently added" strip, then the bulletin */
@media (max-width: 1023.98px) {
  .ae-home-side { display: contents; }
  .ae-home-recent { order: -1; min-width: 0; }
  .ae-home-dev { order: 2; min-width: 0; }
  .ae-home-recent > section { border: 0 !important; background: transparent !important; box-shadow: none !important; overflow: visible !important; }
  .ae-home-recent > section > div:first-child { padding: 0 2px 8px !important; border: 0 !important; }
  .ae-home-recent > section { display: grid; grid-auto-flow: column; grid-auto-columns: 168px; grid-template-rows: auto auto; column-gap: 10px; overflow-x: auto !important; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px; }
  .ae-home-recent > section::-webkit-scrollbar { display: none; }
  .ae-home-recent > section > div:first-child { grid-row: 1; grid-column: 1 / -1; position: sticky; left: 0; width: calc(100vw - 32px); max-width: 100%; justify-content: space-between !important; }
  .ae-home-recent .ae-recent-row { grid-row: 2; scroll-snap-align: start; flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px; border: 1px solid var(--border-main) !important; border-radius: 14px; background: var(--bg-panel, #fff); }
  .ae-home-recent .ae-recent-row:last-child { border-bottom: 1px solid var(--border-main) !important; }
  .ae-home-recent .ae-recent-thumb { width: 100%; height: 52px; }
  .ae-home-recent .ae-recent-row > span:nth-child(2) { width: 100%; }
  .ae-home-recent .ae-pill { display: none !important; }
  .ae-home-recent .ae-recent-row > span:last-child { width: auto !important; text-align: left !important; font-size: 11.5px; }
  #homeDashRF .ae-home-tiles { display: grid; grid-auto-flow: column; grid-auto-columns: max-content; grid-template-columns: none !important; gap: 8px !important; overflow-x: auto; scrollbar-width: none; }
  #homeDashRF .ae-home-tiles::-webkit-scrollbar { display: none; }
  #homeDashRF .ae-home-tiles .ae-tile { aspect-ratio: auto !important; padding: 10px 12px !important; gap: 8px !important; flex-direction: row; align-items: center; justify-content: flex-start; border-radius: 12px; }
  #homeDashRF .ae-home-tiles .ae-tile .ae-tile-icon { width: 28px; height: 28px; border-radius: 8px; flex-shrink: 0; }
  #homeDashRF .ae-home-tiles .ae-tile .ae-tile-icon svg { width: 16px; height: 16px; }
  #homeDashRF .ae-home-tiles .ae-tile .text-\[15px\] { font-size: 13px !important; line-height: 1.2; }
  #homeDashRF .ae-home-tiles .ae-tile .text-\[13px\] { display: none; }
  #homeDashRF .ae-home-tiles .ae-tile .text-\[15px\] { white-space: nowrap; }
  .ae-inv-due > div { flex-wrap: wrap; font-size: 13.5px; }
  .ae-inv-due > div > span { flex: 1 1 220px; }
}
/* Trademark mark on every nappé studio wordmark */
.nl-mark > span::after, .nc-mark > span::after, .ae-st-coname > span::after { content: "\2122"; font-weight: 500; font-size: .4em; vertical-align: super; margin-left: .08em; letter-spacing: 0; opacity: .9; }
/* People page */
.ae-ppl-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; }
.ae-ppl-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ae-ppl-stat { background: var(--bg-panel); border: 1px solid var(--border-main); border-radius: 14px; padding: 12px 14px; }
.ae-ppl-stat b { display: block; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-size: 24px; line-height: 1.1; }
.ae-ppl-stat span { font-size: 12.5px; color: var(--text-muted); }
.ae-ppl-box { display: flex; flex-direction: column; gap: 18px; }
.ae-ppl-box .theme-sub.border.rounded-xl { overflow-x: auto; }
.ae-ppl-trbox { margin-top: 6px; }
.ae-ppl-tr { display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; color: var(--text-muted); background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.ae-ppl-tr b { color: var(--text-main); font-weight: 700; }
.ae-ppl-tr.is-none { cursor: default; font-style: italic; }
.ae-ppl-meter { width: 84px; height: 6px; border-radius: 99px; background: var(--border-main); overflow: hidden; flex-shrink: 0; }
.ae-ppl-meter > span { display: block; height: 100%; border-radius: 99px; background: #C9862B; }
.ae-ppl-tr.is-done .ae-ppl-meter > span { background: #2F5D50; }
.ae-ppl-tr.is-low .ae-ppl-meter > span { background: #B4532A; }
.ae-ppl-tr:hover:not(.is-none) span:last-child { text-decoration: underline; }
@media (max-width: 640px) { .ae-ppl-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ae-hr-filters { display: flex; flex-wrap: wrap; gap: 8px; max-width: none !important; }
.ae-hr-filters input { flex: 1 1 220px; }
.ae-hr-filters select { flex: 0 1 190px; }
/* Sales (POS) */
.ae-sl { display: flex; flex-direction: column; gap: 16px; margin-top: 14px; }
.ae-sl-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; }
.ae-sl-pos { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border: 1px solid var(--border-main); border-radius: 12px; background: var(--bg-panel); }
.ae-sl-pos b { display: block; font-size: 13px; } .ae-sl-pos span:not(.ae-sl-dot) { font-size: 12px; color: var(--text-muted); }
.ae-sl-dot { width: 9px; height: 9px; border-radius: 50%; background: #2F9E6A; box-shadow: 0 0 0 4px rgba(47,158,106,.15); flex-shrink: 0; }
.ae-sl-chg { display: block; font-size: 11.5px; font-weight: 600; margin-top: 2px; color: var(--text-muted); }
.ae-sl-chg.is-good { color: #2F7D5B; } .ae-sl-chg.is-bad { color: #B4532A; }
.ae-sl-bars { display: flex; align-items: flex-end; gap: 6px; height: 150px; padding-top: 8px; }
.ae-sl-bar { flex: 1 1 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 5px; min-width: 0; }
.ae-sl-bar > span { width: 100%; max-width: 46px; border-radius: 6px 6px 2px 2px; background: #2F5D50; opacity: .85; }
.ae-sl-bar:hover > span { opacity: 1; }
.ae-sl-bar small { font-size: 10.5px; color: var(--text-muted); white-space: nowrap; }
.ae-sl-tablewrap { overflow-x: auto; }
.ae-sl-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ae-sl-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--text-muted); padding: 8px 10px; border-bottom: 1px solid var(--border-main); white-space: nowrap; }
.ae-sl-table th button { font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.ae-sl-table th button.is-on { color: var(--text-main); text-decoration: underline; }
.ae-sl-table td { padding: 9px 10px; border-bottom: 1px solid var(--border-main); vertical-align: middle; }
.ae-sl-table td small { display: block; font-size: 11.5px; color: var(--text-muted); }
.ae-sl-table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ae-sl-pct { font-weight: 600; } .ae-sl-pct.is-high { color: #B4532A; } .ae-sl-pct.is-low { color: #2F7D5B; }
/* Prep list */
.ae-pl { display: flex; flex-direction: column; gap: 14px; }
.ae-pl-add { display: grid; grid-template-columns: minmax(180px, 2fr) 90px 110px minmax(110px, 1fr) minmax(110px, 1fr) auto; gap: 8px; }
.ae-pl-add input, .ae-pl-add select, .ae-pl-who, .ae-pl-q { border: 1px solid var(--border-main); background: var(--bg-panel); color: var(--text-main); border-radius: 10px; padding: 8px 10px; font-size: 13.5px; min-width: 0; }
.ae-pl-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ae-pl-sh { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ae-pl-prog { font-size: 12.5px; color: var(--text-muted); white-space: nowrap; }
.ae-pl-meter { width: 100%; margin: 8px 0 4px; }
.ae-pl-st { display: flex; justify-content: space-between; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); margin: 14px 0 4px; }
.ae-pl-list { list-style: none; margin: 0; padding: 0; }
.ae-pl-item { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border-main); }
.ae-pl-item:last-child { border-bottom: 0; }
.ae-pl-check { width: 26px; height: 26px; border-radius: 8px; border: 1.6px solid #a8a29e; background: var(--bg-panel); display: inline-flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; cursor: pointer; }
.ae-pl-item.is-done .ae-pl-check { background: #2F5D50; border-color: #2F5D50; }
.ae-pl-item.is-done .ae-pl-name { text-decoration: line-through; opacity: .6; }
.ae-pl-name { font-size: 14px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ae-pl-meta { font-size: 12px; color: var(--text-muted); }
.ae-pl-amt { font-weight: 600; font-size: 13.5px; white-space: nowrap; }
.ae-pl-who { padding: 5px 8px; font-size: 12.5px; max-width: 150px; }
.ae-pl-tag { font-size: 10.5px; font-weight: 600; padding: 1px 7px; border-radius: 99px; background: rgba(47,93,80,.1); color: #2F5D50; }
.ae-pl-suglist { display: flex; flex-direction: column; margin-top: 8px; }
.ae-pl-suglist label { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border-main); cursor: pointer; }
.ae-pl-suglist label b { display: block; font-size: 13.5px; } .ae-pl-suglist label small { font-size: 12px; color: var(--text-muted); }
.ae-pl-q { width: 76px; padding: 5px 8px; text-align: right; }
.ae-pl-u { font-size: 12.5px; color: var(--text-muted); min-width: 56px; }
@media (max-width: 760px) {
  .ae-pl-add { grid-template-columns: 1fr 1fr; }
  .ae-pl-add #aePlNew { grid-column: 1 / -1; }
  .ae-pl-item { flex-wrap: wrap; }
  .ae-pl-item > .min-w-0 { flex-basis: calc(100% - 40px); }
  .ae-pl-amt { margin-left: 36px; }
}
@media (max-width: 760px) { .ae-pl-who { max-width: 118px; } .ae-pl-item .ae-btn-ghost { padding-left: 6px; padding-right: 6px; } }
/* Editor: the spec stays on screen while the editor scrolls */
@media screen and (min-width: 768px) {
  #workspaceStudio:not(.hidden) { height: calc(100dvh - var(--ae-studio-top, 56px)); max-height: calc(100dvh - var(--ae-studio-top, 56px)); min-height: 420px; }
  #workspaceStudio > .flex-1.flex.overflow-hidden { min-height: 0; }
  #workspaceStudio #sidebarDrawer, #workspaceStudio #authoringFormContainer { min-height: 0; }
}
@media screen and (min-width: 768px) { #workspaceStudio > .flex-1.flex.overflow-hidden > main { align-items: safe center; } }
/* Photos of people */
.ae-face { border-radius: 999px; overflow: hidden; background: #E3ECE7; color: #2F5D50; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; letter-spacing: .02em; }
.dark .ae-face { background: rgba(140,197,178,.16); color: #9BD0BE; }
.ae-face img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ae-face-btn { position: relative; display: inline-flex; border: 0; background: none; padding: 0; cursor: pointer; border-radius: 999px; flex-shrink: 0; }
.ae-face-btn:focus-visible { outline: 2px solid #2F5D50; outline-offset: 2px; }
.ae-face-cam { position: absolute; right: -2px; bottom: -2px; width: 20px; height: 20px; border-radius: 999px; background: #2F5D50; color: #fff; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--bg-panel); }
.ae-face-row { display: flex; align-items: flex-start; gap: 10px; }
.ae-face-body { min-width: 0; flex: 1; }
.ae-acct-photo { display: flex; flex-direction: column; align-items: center; gap: 4px; flex-shrink: 0; }
.ae-acct-photo-acts { display: flex; gap: 8px; font-size: 12px; }
.ae-acct-photo-acts .is-muted { color: var(--text-muted); }
.ae-hdr-face { width: 20px; height: 20px; border-radius: 999px; object-fit: cover; margin-right: 2px; }
/* Plates */
.ae-plt-hint { font-size: 11px; color: var(--text-muted); margin-top: 3px; line-height: 1.35; }
.ae-plt-hint:empty { display: none; }
#aePltSel.ae-plt-off { border-color: #d97706; }
.ae-plt-concept { margin: 6px 0 12px; }
.ae-plt-sec { border-top: 1px solid var(--border-main); padding-top: 12px; margin-top: 12px; }
.ae-plt-sec h4 { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); margin: 0 0 6px; display: flex; align-items: center; gap: 8px; }
.ae-plt-tag { font-size: 10.5px; font-weight: 600; text-transform: none; letter-spacing: 0; padding: 1px 8px; border-radius: 99px; background: rgba(217,119,6,.12); color: #b45309; }
.ae-plt-list { list-style: none; margin: 0; padding: 0; }
.ae-plt-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 8px 0; border-bottom: 1px solid var(--border-main); }
.ae-plt-row:last-child { border-bottom: 0; }
.ae-plt-name { font-weight: 600; font-size: 14px; flex: 1 1 160px; min-width: 0; }
.ae-plt-row.is-loose .ae-plt-name { font-weight: 500; font-style: italic; }
.ae-plt-n { font-size: 12px; color: var(--text-muted); white-space: nowrap; }
.ae-plt-acts { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ae-plt-del { color: #b4532a !important; }
.ae-plt-merge, .ae-plt-add input { border: 1px solid var(--border-main); background: var(--bg-panel); color: var(--text-main); border-radius: 10px; padding: 6px 9px; font-size: 13px; }
.ae-plt-add { display: flex; gap: 8px; margin-top: 10px; }
.ae-plt-add input { flex: 1; min-width: 0; }
.ae-plt-foot { margin-top: 12px; }
/* Emailed invoices: the team's address, with a copy button */
.ae-inb-addr { display: inline-flex; align-items: center; gap: 8px; margin-left: 6px; padding: 3px 4px 3px 10px; border: 1px solid var(--border-main); border-radius: 10px; background: var(--bg-panel); vertical-align: middle; }
.ae-inb-addr b { font-size: 12.5px; color: var(--text-main); user-select: all; word-break: break-all; }
.ae-inb-copy { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; padding: 4px 9px; border-radius: 7px; border: 0; background: #2F5D50; color: #fff; cursor: pointer; white-space: nowrap; }
.ae-inb-copy:hover { background: #264d42; }
.ae-inb-opts { justify-content: flex-end; }
@media (max-width: 640px) { .ae-inb-addr { display: flex; margin: 6px 0 0; justify-content: space-between; } }
/* ===== Calmer screens ===== */
.ae-calm-gone { display: none !important; }
.ae-calm-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ae-more { position: relative; display: inline-flex; }
.ae-more-btn { display: inline-flex; align-items: center; gap: 6px; }
.ae-more-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; min-width: 250px; background: var(--bg-panel); border: 1px solid var(--border-main); border-radius: 14px; box-shadow: 0 18px 40px -12px rgba(0,0,0,.25), 0 2px 6px rgba(0,0,0,.06); padding: 6px; display: flex; flex-direction: column; }
.ae-more-menu[hidden] { display: none; }
.ae-more-item { display: block; width: 100%; text-align: left; padding: 9px 12px; border-radius: 9px; font-size: 13.5px; font-weight: 500; color: var(--text-main); background: none; border: 0; cursor: pointer; }
.ae-more-item:hover, .ae-more-item:focus-visible { background: rgba(47,93,80,.08); outline: none; }
.ae-more-sep { height: 1px; background: var(--border-main); margin: 6px 4px; }
.ae-more-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 12px; font-size: 12.5px; color: var(--text-muted); }
.ae-more-row > span:last-child > * { margin: 0 !important; }
.ae-calm-searchwrap { position: relative; display: flex; align-items: center; width: 100%; }
.ae-calm-searchwrap svg { position: absolute; left: 12px; color: var(--text-muted); pointer-events: none; }
.ae-calm-search { width: 100%; border: 1px solid var(--border-main); background: var(--bg-panel); color: var(--text-main); border-radius: 12px; padding: 10px 12px 10px 36px; font-size: 14px; }
.ae-calm-search:focus { outline: none; border-color: #2F5D50; box-shadow: 0 0 0 3px rgba(47,93,80,.12); }
.ae-calm-filter { flex-direction: column; align-items: stretch !important; box-shadow: none !important; }
.ae-calm-filter > .flex.flex-wrap.items-center.gap-2:empty, .ae-calm-filter > .flex.flex-wrap.items-center.gap-2:not(:has(:not(.ae-calm-gone))) { display: none; }
.ae-calm-quiet { font-size: 12px; color: var(--text-muted); }
@media (hover: hover) { .ae-ing-tr .ae-calm-del { opacity: 0; transition: opacity .15s; } .ae-ing-tr:hover .ae-calm-del, .ae-ing-tr .ae-calm-del:focus { opacity: 1; } }
#workspaceIngredients #priceVarianceAlertBanner { display: none !important; }
/* segmented control */
.ae-seg { display: inline-flex; padding: 3px; border-radius: 12px; background: rgba(47,93,80,.07); border: 1px solid var(--border-main); }
.ae-seg button { padding: 7px 14px; border-radius: 9px; font-size: 13px; font-weight: 600; color: var(--text-muted); background: none; border: 0; cursor: pointer; }
.ae-seg button.is-on { background: var(--bg-panel); color: var(--text-main); box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.ae-seg button.hidden { display: none; }
.ae-calm-head { border-bottom: 0 !important; padding-bottom: 0 !important; align-items: flex-end !important; }
/* foldable sections */
.ae-calm-det { border: 1px solid var(--border-main); border-radius: 14px; background: var(--bg-panel); }
.ae-calm-det > summary { list-style: none; cursor: pointer; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ae-calm-det > summary::-webkit-details-marker { display: none; }
.ae-calm-det > summary::after { content: ''; width: 9px; height: 9px; border-right: 2px solid var(--text-muted); border-bottom: 2px solid var(--text-muted); transform: rotate(45deg); transition: transform .2s; margin-right: 4px; flex-shrink: 0; }
.ae-calm-det[open] > summary::after { transform: rotate(-135deg); }
.ae-calm-det > summary b { display: block; font-size: 14.5px; }
.ae-calm-det > summary small { display: block; font-size: 12.5px; color: var(--text-muted); margin-top: 1px; }
.ae-calm-detbody { border: 0 !important; background: none !important; padding: 0 16px 16px !important; margin: 0 !important; box-shadow: none !important; }
.ae-calm-add > summary b::before { content: '+'; display: inline-flex; width: 22px; height: 22px; border-radius: 999px; background: #2F5D50; color: #fff; align-items: center; justify-content: center; margin-right: 8px; font-size: 15px; line-height: 1; vertical-align: -2px; }
.ae-calm-searchwrap > .relative { display: block !important; width: 100%; }
.ae-calm-searchwrap svg { z-index: 1; }
#workspaceIngredients #toggleUnusedBannerBtn, #workspaceIngredients #unusedIngredientsAlertBanner { display: none !important; }
#workspaceArchive td button.font-serif { font-family: inherit; font-weight: 600; }
#workspaceArchive td.text-amber-600 { color: var(--text-muted) !important; font-family: inherit; font-size: 12.5px; }
#aeIngUnitSlot [role=group] > span.theme-muted { display: none; }
.ae-more-row > span:first-child { white-space: nowrap; }
#invoicePriceAlertsBox { display: none !important; }
.ae-plt-lab { display: flex !important; justify-content: space-between; align-items: baseline; }
.ae-plt-edit { font-size: 10.5px; font-weight: 600; text-transform: none; letter-spacing: 0; color: #2F5D50; background: none; border: 0; padding: 0; cursor: pointer; }
.ae-plt-edit:hover { text-decoration: underline; }
/* ===== The editor, calmer ===== */
@media screen {
  #studioSubNavBar.ae-ed2 { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px !important; padding: 10px 20px !important; box-shadow: none !important; background: var(--bg-panel) !important; }
  #studioSubNavBar.ae-ed2 #aeTbNav { flex: 1 1 360px; min-width: 0; display: flex; align-items: center; gap: 12px !important; flex-wrap: nowrap !important; }
  #studioSubNavBar.ae-ed2 #aeTbAct { flex: 0 0 auto; display: flex; align-items: center; gap: 8px !important; margin-left: auto; }
  #studioSubNavBar.ae-ed2 #aeTbDisp { display: none !important; }
  .ae-ed-back { width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--border-main); background: var(--bg-panel); color: var(--text-main); display: inline-flex !important; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; padding: 0 !important; }
  .ae-ed-back > span { display: none !important; }
  .ae-ed-back:hover { border-color: #2F5D50; }
  .ae-ed-head { min-width: 0; display: flex; flex-direction: column; }
  .ae-ed-title { font-family: 'Bricolage Grotesque', Figtree, sans-serif; font-weight: 700; font-size: 18px; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--text-main); }
  .ae-ed-sub { font-size: 12.5px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  #liveCostingPillBar.ae-ed-cost { flex: 0 1 auto; width: auto !important; margin: 0 !important; display: inline-flex !important; flex-wrap: nowrap !important; align-items: center; gap: 6px !important; padding: 5px 12px !important; border-radius: 999px !important; border: 0 !important; font-family: inherit !important; font-size: 12.5px !important; white-space: nowrap; overflow: hidden; background: rgba(47,93,80,.08) !important; color: var(--text-main); }
  #liveCostingPillBar.ae-ed-cost::before { content: ''; width: 8px; height: 8px; border-radius: 999px; background: #a8a29e; flex-shrink: 0; }
  #liveCostingPillBar.ae-ed-cost.is-ok { background: #E6F2EC !important; color: #1F5C45; } #liveCostingPillBar.ae-ed-cost.is-ok::before { background: #2F9E6A; }
  #liveCostingPillBar.ae-ed-cost.is-warn { background: #FBF0DC !important; color: #8A5A12; } #liveCostingPillBar.ae-ed-cost.is-warn::before { background: #D99A1E; }
  #liveCostingPillBar.ae-ed-cost.is-bad { background: #FBE7E1 !important; color: #9A3B1E; } #liveCostingPillBar.ae-ed-cost.is-bad::before { background: #C9502A; }
  #liveCostingPillBar.ae-ed-cost strong { background: none !important; color: inherit !important; padding: 0 !important; font-weight: 700; }
  #liveCostingPillBar.ae-ed-cost [id^="costPillDivider"] { opacity: .35; }
  .dark #liveCostingPillBar.ae-ed-cost.is-ok { background: rgba(47,158,106,.16) !important; color: #9BD0BE; }
  .ae-ed-saved { background: none !important; border: 0 !important; box-shadow: none !important; color: var(--text-muted) !important; padding: 0 6px !important; font-weight: 500 !important; }
  .ae-ed-menu { min-width: 280px; }
  .ae-ed-ico { width: 38px; height: 38px; padding: 0 !important; justify-content: center; }
  #aeEdView .ae-more-btn, #aeEdMore .ae-more-btn { height: 38px; }
  .ae-ed-print { height: 38px; }
  .ae-ed-mlabel { padding: 8px 12px 6px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
  .ae-ed-seg { display: flex !important; gap: 3px; padding: 3px !important; margin: 0 8px 6px !important; border-radius: 10px; background: rgba(47,93,80,.07) !important; border: 0 !important; box-shadow: none !important; }
  .ae-ed-seg button { flex: 1 1 0; text-align: center; padding: 7px 8px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; color: var(--text-muted) !important; background: none !important; box-shadow: none !important; border: 0 !important; white-space: nowrap; }
  .ae-ed-seg button.hidden { display: none !important; }
  .ae-ed-seg button[class*="bg-amber-500"], .ae-ed-seg button.is-on { background: var(--bg-panel) !important; color: var(--text-main) !important; box-shadow: 0 1px 3px rgba(0,0,0,.1) !important; }
  .ae-ed-menu .ae-more-item:disabled { opacity: .4; cursor: default; }
  .ae-more-danger { color: #B4532A !important; }
  .ae-ed-devrow { display: block !important; margin: 0 !important; }
  .ae-ed-devrow button { display: flex !important; width: 100%; text-align: left; padding: 9px 12px !important; border-radius: 9px; font-size: 13.5px !important; font-weight: 500 !important; color: var(--text-main) !important; background: none !important; border: 0 !important; gap: 8px; }
  .ae-ed-devrow button:hover { background: rgba(47,93,80,.08) !important; }
  .ae-ed-phoneseg { display: none; }
  @media (max-width: 767px) {
    #studioSubNavBar.ae-ed2 { padding: 10px 12px !important; }
    #studioSubNavBar.ae-ed2 #aeTbNav { flex-basis: 100%; }
    #studioSubNavBar.ae-ed2 #liveCostingPillBar.ae-ed-cost { display: none !important; }
    #studioSubNavBar.ae-ed2 #aeTbAct { margin-left: 0; width: 100%; justify-content: flex-end; }
    .ae-ed-phoneseg:not([hidden]) { display: flex; width: 100%; padding: 3px; border-radius: 12px; background: rgba(47,93,80,.07); }
    .ae-ed-phoneseg button { flex: 1 1 0; padding: 9px 0; border-radius: 9px; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--text-muted); }
    .ae-ed-phoneseg button.is-on { background: var(--bg-panel); color: var(--text-main); box-shadow: 0 1px 3px rgba(0,0,0,.1); }
  }
  /* sections */
  #authoringFormContainer { background: var(--bg-app, #F8F5EF); padding: 16px !important; font-size: 13px; }
  #authoringFormContainer > .ae-sec { background: var(--bg-panel) !important; border: 1px solid var(--border-main) !important; border-radius: 16px !important; padding: 14px 16px !important; }
  .ae-sec-bar { display: flex !important; align-items: center !important; gap: 8px; cursor: pointer; user-select: none; }
  .ae-sec-bar > :first-child { min-width: 0; }
  .ae-sec-title { font-size: 15px; font-weight: 700; color: var(--text-main); letter-spacing: 0; text-transform: none; font-family: inherit; }
  .ae-sec-sum { font-size: 12.5px; color: var(--text-muted); margin-left: 8px; }
  .ae-sec-bar > div:first-child { display: flex; align-items: baseline; flex-wrap: wrap; flex: 1 1 auto; }
  .ae-sec-chev { margin-left: auto; color: var(--text-muted); display: inline-flex; transition: transform .2s; padding: 4px; }
  .ae-sec:not(.ae-sec-closed) .ae-sec-chev { transform: rotate(180deg); }
  .ae-sec-bar > .ae-sec-chev:not(:last-child) { margin-left: 0; }
  .ae-sec-bar > .flex, .ae-sec-bar > button, .ae-sec-bar > .ae-sec-link { margin-left: auto; }
  .ae-sec-bar > .flex ~ .ae-sec-chev, .ae-sec-bar > button ~ .ae-sec-chev, .ae-sec-bar > .ae-sec-link ~ .ae-sec-chev { margin-left: 0; }
  .ae-sec.ae-sec-closed > :not(.ae-sec-bar) { display: none !important; }
  .ae-sec.ae-sec-closed .ae-sec-bar > :not(:first-child):not(.ae-sec-chev):not(.ae-sec-sum) { display: none !important; }
  .ae-sec:not(.ae-sec-closed) .ae-sec-sum[data-sum="ingredients"], .ae-sec:not(.ae-sec-closed) .ae-sec-sum[data-sum="steps"] { display: none; }
  .ae-sec-link { font-size: 12.5px; font-weight: 600; color: #2F5D50 !important; background: none !important; border: 0 !important; padding: 2px 4px !important; cursor: pointer; }
  .ae-sec-morebtn { align-self: flex-start; border: 0; background: none; padding: 0; font-size: 13px; font-weight: 600; color: #2F5D50; cursor: pointer; }
  /* Details: the rest waits behind "More details" */
  [data-ed-sec="details"]:not(.ae-det-open) #specRowTopGrid > div:nth-child(3), [data-ed-sec="details"]:not(.ae-det-open) #sharedWithEditorRow, [data-ed-sec="details"].ae-det-lb:not(.ae-det-open) #fieldWrapperShelfLife { display: none !important; }
  [data-ed-sec="details"]:not(.ae-det-open) #specRowTopGrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-ed-sec="details"] label.block { font-size: 12px !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; }
  [data-ed-sec="details"] .editor-field { min-height: 38px; border-radius: 10px !important; font-size: 14px !important; }
  #inputDishTitle { font-family: inherit !important; font-weight: 600; }
  /* Photo: the link and tools appear with Adjust */
  [data-ed-sec="photo"]:not(.ae-photo-adj) .ae-photo-tools { display: none !important; }
  /* the inner boxes no longer scroll on their own: the editor column does */
  #ingredientInputsContainer, #procedureInputsContainer { max-height: none !important; overflow: visible !important; }
  /* ingredient rows: amount, unit and name on one line; grams and cost when you tap in */
  #ingredientInputsContainer .ae-ing2 { padding: 6px 6px; margin: 0 -6px; border-radius: 10px; border-bottom: 1px solid var(--border-main); }
  #ingredientInputsContainer .ae-ing2 .ae-ing2-l1 { gap: 6px !important; }
  #ingredientInputsContainer .ae-ing2 .ae-drag { font-size: 11px; opacity: .45; width: 10px; }
  #ingredientInputsContainer .ae-ing2 .ae-ing2-amt { width: 50px !important; flex: 0 0 50px; }
  #ingredientInputsContainer .ae-ing2 .ae-ing2-unit { width: 104px !important; flex: 0 0 104px; }
  #ingredientInputsContainer .ae-ing2 .ae-ing-name { flex: 1 1 auto; min-width: 0; }
  #ingredientInputsContainer .ae-ing2 .ae-ing-desc { width: 96px !important; flex: 0 0 96px; }
  #ingredientInputsContainer .ae-ing2 .ae-ing2-l2 { padding-left: 16px !important; }
  #ingredientInputsContainer .ae-ing2:not(:focus-within) .ae-ing2-l2 { display: none !important; }
  #ingredientInputsContainer .ae-ing2:not(:focus-within) .ae-ing-desc:placeholder-shown { display: none !important; }
  #ingredientInputsContainer .ae-ing2:not(:focus-within):not(:hover) .ae-ing-x { visibility: hidden; }
  #ingredientInputsContainer .ae-ing2:focus-within { background: rgba(47,93,80,.05); box-shadow: inset 0 0 0 1px rgba(47,93,80,.18); border-bottom-color: transparent; }
  #ingredientInputsContainer .ae-ing2:not(:focus-within) input { border-color: transparent !important; background-color: transparent; box-shadow: none !important; }
  #ingredientInputsContainer .ae-ing2:not(:focus-within) .ae-ing2-amt { font-weight: 600; text-align: right; padding-right: 2px !important; }
  #ingredientInputsContainer .ae-ing2:not(:focus-within) .ae-ing-desc { font-style: italic; color: var(--text-muted); }
}
#aeEdView #specPrevBtn > span:not([id]), #aeEdView #specNextBtn > span:not([id]) { display: none; }

@media screen {
  #studioSubNavBar #manualSaveCloudBtn.ae-ed-saved { background: none !important; border-color: transparent !important; box-shadow: none !important; color: var(--text-muted) !important; font-weight: 500 !important; }
  #floatingEditPillBtn.bg-stone-200 { display: none !important; }
  #liveCostingPillBar.ae-ed-cost [id^="costPillDivider"] { display: none; }
  #liveCostingPillBar.ae-ed-cost #costPillFoodCostWrap { order: -1; font-weight: 600; }
  #liveCostingPillBar.ae-ed-cost > span:not([id^="costPillDivider"]):not(#costPillFoodCostWrap)::before { content: '·'; margin-right: 6px; opacity: .5; }
  #liveCostingPillBar.ae-ed-cost #liveCostMarket { display: none !important; }
}

@media screen {
  #ingredientInputsContainer .ae-ing2:not(.is-open):not(:focus-within) > .ae-ing2-l1, #ingredientInputsContainer .ae-ing2:not(.is-open):not(:focus-within) > .ae-ing2-l2 { display: none !important; }
  #ingredientInputsContainer .ae-ing2.is-open > .ae-ing2-sum, #ingredientInputsContainer .ae-ing2:focus-within > .ae-ing2-sum:not(:focus) { display: none; }
  .ae-ing2-sum { display: flex; align-items: baseline; gap: 8px; padding: 6px 2px; cursor: pointer; font-size: 14px; border-radius: 8px; min-height: 22px; }
  .ae-ing2-sum:focus-visible { outline: 2px solid #2F5D50; outline-offset: 2px; }
  .ae-ing2-sum .ae-drag { align-self: center; }
  .ae-ing2-sum .ae-s-amt { min-width: 34px; text-align: right; font-weight: 700; color: var(--text-main); }
  .ae-ing2-sum .ae-s-unit { min-width: 0; color: var(--text-muted); white-space: nowrap; max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
  .ae-ing2-sum .ae-s-name { flex: 0 1 auto; min-width: 0; color: var(--text-main); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ae-ing2-sum .ae-s-desc { flex: 1 1 auto; min-width: 0; color: var(--text-muted); font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ae-ing2-sum .ae-s-dot { width: 7px; height: 7px; border-radius: 999px; background: #D99A1E; flex-shrink: 0; align-self: center; }
  .ae-ing2-sum .ae-s-dot.is-linked { background: #2F9E6A; }
  .ae-ing2-sum.is-empty .ae-s-name { color: var(--text-muted); font-style: italic; }
  #ingredientInputsContainer .ae-ing2 { border-bottom: 1px solid var(--border-main); }
  .ae-sec-bar { justify-content: flex-start !important; }
  #studioSubNavBar.ae-ed2 #aeTbNav { justify-content: flex-start !important; }
}
@media screen { #studioSubNavBar.ae-ed2 #aeTbNav, #studioSubNavBar.ae-ed2.ae-tb-phone #aeTbNav { justify-content: flex-start !important; justify-self: stretch !important; margin: 0 !important; width: 100%; } }
/* the phone header stays on one line in every language: the menu button is the icon alone */
@media screen and (max-width: 767px) {
  .ae-mnav-btn { padding: 0 !important; width: 40px; justify-content: center; }
  .ae-mnav-cur { display: none !important; }
}
@media screen {
  /* Save is automatic: the button goes */
  #studioSubNavBar.ae-ed2 #manualSaveCloudBtn { display: none !important; }
  /* previous / next sit on the bar */
  .ae-ed-pn { display: inline-flex; border: 1px solid var(--border-main); border-radius: 10px; overflow: hidden; }
  .ae-ed-pnb { width: 38px; height: 36px; border: 0 !important; background: var(--bg-panel) !important; color: var(--text-main) !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important; border-radius: 0 !important; cursor: pointer; }
  .ae-ed-pnb + .ae-ed-pnb { border-left: 1px solid var(--border-main) !important; }
  .ae-ed-pnb > span { display: none !important; }
  .ae-ed-pnb:disabled { color: #b8bab5 !important; cursor: default; }
  .ae-ed-pnb:not(:disabled):hover { background: rgba(47,93,80,.06) !important; }
  /* "More details" reads as a button */
  .ae-sec-morebtn { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; padding: 10px 14px !important; margin-top: 4px; border: 1px solid var(--border-main) !important; border-radius: 10px; background: rgba(47,93,80,.05) !important; font-size: 13.5px !important; }
  .ae-sec-morebtn::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
  .ae-det-open .ae-sec-morebtn::after { transform: rotate(-135deg) translateY(-1px); }
  .ae-sec-morebtn:hover { background: rgba(47,93,80,.1) !important; }
  /* open ingredient row: amount, unit, name on top; note, grams and cost underneath */
  #ingredientInputsContainer .ae-ing2 .ae-ing2-l2 { display: flex !important; align-items: center; gap: 6px !important; padding-left: 0 !important; margin-top: 6px !important; }
  #ingredientInputsContainer .ae-ing2:not(.is-open):not(:focus-within) .ae-ing2-l2 { display: none !important; }
  #ingredientInputsContainer .ae-ing2 .ae-ing2-note { flex: 1 1 auto !important; width: auto !important; min-width: 0; order: -1; font-style: italic; }
  #ingredientInputsContainer .ae-ing2 .ae-ing2-l2 > span:first-of-type:not([id]):not(.ml-auto) { display: none; }
  #ingredientInputsContainer .ae-ing2 .ae-ing2-g { width: 64px !important; flex: 0 0 64px; }
  #ingredientInputsContainer .ae-ing2 .ae-ing2-l2 > .ml-auto { margin-left: 0 !important; }
  /* phones: the actions spread across the second row */
  @media (max-width: 767px) {
    #studioSubNavBar.ae-ed2 #aeTbAct { justify-content: space-between; gap: 6px !important; }
    #studioSubNavBar.ae-ed2 .ae-ed-print { padding: 0 14px !important; }
  }
}
@media screen {
  #aeEdPN button > span { display: none !important; }
  #liveCostingPillBar.ae-ed-cost.is-prep #costPillFoodCostWrap, #liveCostingPillBar.ae-ed-cost.is-prep #costPillMenuPriceWrap { display: none !important; }
  #liveCostingPillBar.ae-ed-cost.is-prep > span:not([id^="costPillDivider"]):not(#costPillFoodCostWrap)::before { content: none; }
  #liveCostingPillBar.ae-ed-cost.is-prep::before { display: none; }
}
@media screen {
  .ae-ed-langbox { display: flex; flex-direction: column; gap: 4px; }
  .ae-ed-langbox .ae-lang-note { font-size: 12px; color: var(--text-muted); padding: 0 12px 4px; }
  .ae-ed-langbox .ae-tool-btn { margin: 0 8px 6px; text-align: left; padding: 8px 12px; border-radius: 9px; font-size: 13.5px; font-weight: 600; color: #2F5D50; background: rgba(47,93,80,.06); border: 0; }
}
@media screen and (max-width: 767px) {
  #studioSubNavBar.ae-ed2 #aeTbAct { position: relative; }
  #studioSubNavBar.ae-ed2 #aeEdView, #studioSubNavBar.ae-ed2 #aeEdMore { position: static; }
  #studioSubNavBar.ae-ed2 #aeEdView .ae-more-menu, #studioSubNavBar.ae-ed2 #aeEdMore .ae-more-menu { left: 0; right: 0; min-width: 0; top: calc(100% + 6px); }
}
/* ===== Projects: board, photos and video, edit ===== */
.nc-hubsub { margin: -6px 0 2px; }
.nc-hubnote { background: #FFF7E6; border-color: #EBD9A8; }
.nc-hubnote p { margin: 0; }
.nc-bsec { display: flex; flex-direction: column; gap: 10px; }
.nc-bsec h2 { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 18px; letter-spacing: -.02em; margin: 6px 0 0; }
.nc-bgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.nc-bsec.is-decide .nc-bgrid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.nc-bcard { text-align: left; font: inherit; color: #22302B; background: #FBF0C9; border: 1px solid #EBD9A0; border-radius: 14px; padding: 13px 15px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; min-height: 64px; transition: box-shadow .15s, transform .15s; }
.nc-bcard:hover { box-shadow: 0 6px 18px -10px rgba(34,48,43,.35); transform: translateY(-1px); }
.nc-bcard:focus-visible { outline: 3px solid rgba(47,93,80,.35); outline-offset: 2px; }
.nc-bcard p { margin: 0; font-size: 14px; line-height: 1.4; }
.nc-bcard ul { list-style: disc; margin: 2px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.45; }
.nc-bcard-t { font-size: 14.5px; line-height: 1.3; }
.nc-bsec.is-decide .nc-bcard { background: #E3EEFB; border-color: #C3D7F0; }
.nc-bsec.is-next .nc-bcard { background: #F9E3D3; border-color: #EDC6A8; }
.nc-bcard.is-add { background: transparent; border: 1.5px dashed var(--nl-line, #DCD4C6); color: var(--nl-sauce, #2F5D50); font-weight: 600; align-items: center; justify-content: center; }
.nc-bcard.is-add:hover { background: rgba(47,93,80,.05); box-shadow: none; transform: none; }
.nc-bcard.is-edit { cursor: default; background: var(--nl-paper, #FFFDF8); border-color: var(--nl-sauce, #2F5D50); gap: 10px; grid-column: 1 / -1; }
.nc-bcard.is-edit:hover { box-shadow: none; transform: none; }
.nc-bfoot { margin-top: 4px; }
.nc-compose { display: flex; flex-direction: column; gap: 8px; }
.nc-chat .nc-compose { border-top: 1px solid var(--nl-line, #DCD4C6); padding: 12px 14px; }
.nc-chat .nc-compose .nc-chat-add { border-top: 0; padding: 0; }
.nc-cm-add textarea { resize: none; max-height: 140px; }
.nc-attbtn { flex: none; width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--nl-line, #DCD4C6); background: var(--nl-paper, #FFFDF8); color: var(--nl-sauce, #2F5D50); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.nc-attbtn:hover { background: #E6EEEA; }
.nc-attbtn:disabled { opacity: .5; cursor: default; }
.nc-att { display: flex; flex-wrap: wrap; gap: 8px; }
.nc-att-i { position: relative; width: 76px; height: 76px; border-radius: 12px; overflow: hidden; background: #EEE9DF; border: 1px solid var(--nl-line, #DCD4C6); }
.nc-att-i img, .nc-att-i video { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-att-i.is-err { border-color: #c2410c; }
.nc-att-x { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; border-radius: 999px; border: 0; background: rgba(20,28,25,.72); color: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.nc-att-badge { position: absolute; left: 4px; bottom: 4px; font-size: 10.5px; font-weight: 700; color: #fff; background: rgba(20,28,25,.72); padding: 2px 6px; border-radius: 6px; }
.nc-att-pct { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(20,28,25,.5); color: #fff; font-weight: 700; font-size: 13px; }
.nc-drophint { display: none; margin: 0; text-align: center; font-weight: 600; color: var(--nl-sauce, #2F5D50); }
[data-hubatt] { position: relative; }
[data-hubatt].is-over { outline: 2.5px dashed var(--nl-sauce, #2F5D50); outline-offset: -2px; background-color: rgba(47,93,80,.05); }
[data-hubatt].is-over .nc-drophint { display: block; }
.nc-media { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 6px; margin-top: 6px; max-width: 420px; }
.nc-media.is-one { grid-template-columns: minmax(0, 1fr); max-width: 340px; }
.nc-media-i { display: block; border-radius: 12px; overflow: hidden; background: #EEE9DF; aspect-ratio: 1 / 1; }
.nc-media.is-one .nc-media-i { aspect-ratio: auto; max-height: 360px; }
.nc-media-i img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-media.is-one .nc-media-i img { height: auto; max-height: 360px; object-fit: contain; }
.nc-media-v { width: 100%; max-height: 360px; border-radius: 12px; background: #111; display: block; }
.nc-msg.is-me .nc-media { margin-left: auto; }
.nc-msg-tools { display: flex; gap: 12px; margin-top: 2px; }
.nc-msg-tools button { border: 0; background: none; padding: 2px 0; font: inherit; font-size: 12.5px; font-weight: 600; color: var(--nl-muted, #56635E); cursor: pointer; }
.nc-msg-tools button:hover { color: var(--nl-sauce, #2F5D50); text-decoration: underline; }
.nc-msg-tools button.is-danger { color: #b4532a; }
.nc-msg.is-me .nc-msg-tools { justify-content: flex-end; }
.nc-editbox { display: flex; flex-direction: column; gap: 6px; min-width: min(420px, 70vw); }
.nc-editbox textarea { resize: vertical; }
.nc-cm-t { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 560px) { .nc-bgrid, .nc-bsec.is-decide .nc-bgrid { grid-template-columns: minmax(0, 1fr); } .nc-att-i { width: 64px; height: 64px; } }
/* ===== Projects: project list, project page, who's online ===== */
.nc-live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 999px; background: #2F9E6A; margin: 0 5px 1px 8px; box-shadow: 0 0 0 3px rgba(47,158,106,.18); vertical-align: middle; }
.nc-projlist { display: flex; flex-direction: column; gap: 10px; }
.nc-proj { position: relative; text-align: left; font: inherit; color: inherit; background: var(--nl-paper, #FFFDF8); border: 1px solid var(--nl-line, #DCD4C6); border-radius: 18px; padding: 18px 48px 18px 20px; display: flex; flex-direction: column; gap: 5px; cursor: pointer; transition: box-shadow .15s, border-color .15s; }
.nc-proj:hover { border-color: #b9c9c1; box-shadow: 0 8px 22px -14px rgba(34,48,43,.4); }
.nc-proj:focus-visible { outline: 3px solid rgba(47,93,80,.35); outline-offset: 2px; }
.nc-proj-n { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 19px; letter-spacing: -.02em; line-height: 1.25; }
.nc-proj-a { color: var(--nl-muted, #56635E); font-size: 14.5px; line-height: 1.45; }
.nc-proj-s { color: var(--nl-muted, #56635E); font-size: 13px; }
.nc-proj-go { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 26px; color: var(--nl-sauce, #2F5D50); }
.nc-projhead { display: flex; flex-direction: column; gap: 6px; }
.nc-back { align-self: flex-start; border: 0; background: none; padding: 4px 0; font: inherit; font-size: 14px; font-weight: 600; color: var(--nl-sauce, #2F5D50); cursor: pointer; }
.nc-back:hover { text-decoration: underline; }
.nc-proj-title { font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 24px; letter-spacing: -.02em; line-height: 1.2; margin: 0; }
.nc-proj-about { margin: 0; font-size: 15px; }
.nc-seg.nc-seg-sub { align-self: flex-start; margin: 6px 0 2px; }
.nc-sech { border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; text-align: left; }
.nc-sech:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nc-secedit { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.nc-secedit .nc-in { flex: 1 1 220px; }
.nc-addsec { align-self: flex-start; }
.nc-who { display: flex; flex-wrap: wrap; gap: 8px; }
.nc-who-p { display: inline-flex; align-items: center; gap: 9px; background: var(--nl-paper, #FFFDF8); border: 1px solid var(--nl-line, #DCD4C6); border-radius: 999px; padding: 5px 14px 5px 5px; font-size: 13.5px; line-height: 1.2; }
.nc-who-p > span:last-child { display: flex; flex-direction: column; }
.nc-who-p .nc-muted { font-size: 12px; }
.nc-who-av { position: relative; width: 30px; height: 30px; border-radius: 999px; background: #E6EEEA; color: var(--nl-sauce, #2F5D50); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px; }
.nc-who-av i { position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; border-radius: 999px; border: 2px solid var(--nl-paper, #FFFDF8); background: #B8B2A6; }
.nc-who-p.is-active .nc-who-av i { background: #2F9E6A; }
.nc-who-p.is-away .nc-who-av i { background: #E0A43A; }
.nc-who-p.is-offline { opacity: .7; }
@media (max-width: 560px) { .nc-proj { padding: 16px 40px 16px 16px; } .nc-proj-title { font-size: 21px; } .nc-seg.nc-seg-sub { align-self: stretch; } }
/* ===== Team notifications ===== */
.nc-notify { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; padding: 12px 16px; border: 1px solid var(--nl-line, #DCD4C6); border-radius: 14px; background: var(--nl-paper, #FFFDF8); font-size: 14px; line-height: 1.4; }
.nc-notify > span:first-child { flex: 1 1 260px; }
.nc-notify.is-on { padding: 8px 10px 8px 14px; }
.nc-notify-t { display: inline-flex; align-items: center; font-weight: 600; }
.nc-notify-t .nc-live-dot { margin: 0 8px 1px 0; }
.nc-notify .nc-chips, .nc-notify-acts { display: flex; gap: 8px; flex-wrap: wrap; }
/* ===== Prep list: by cook, chef sign-off ===== */
.ae-pl-cook { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.ae-pl-cookn { display: inline-flex; align-items: center; gap: 8px; }
.ae-pl-av { width: 26px; height: 26px; border-radius: 999px; background: rgba(47,93,80,.12); color: var(--ae-primary, #2F5D50); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; letter-spacing: 0; }
html.dark .ae-pl-av { background: rgba(167,220,196,.16); color: #a7dcc4; }
.ae-pl-cnt { font-size: 12px; font-weight: 600; opacity: .6; margin-left: 2px; }
.ae-pl-gacts { display: inline-flex; align-items: center; gap: 6px; text-transform: none; letter-spacing: 0; }
.ae-pl-sent { font-size: 12px; font-weight: 600; color: #2F9E6A; }
html.dark .ae-pl-sent { color: #6ee7b7; }
.ae-pl-ok { display: inline-flex; align-items: center; gap: 5px; padding: 4px 4px 4px 9px; border-radius: 999px; background: rgba(47,158,106,.12); color: #1f7a52; font-size: 12px; font-weight: 700; white-space: nowrap; }
html.dark .ae-pl-ok { background: rgba(110,231,183,.14); color: #6ee7b7; }
.ae-pl-okx { border: 0; background: none; color: inherit; font-size: 15px; line-height: 1; padding: 0 5px; cursor: pointer; opacity: .7; }
.ae-pl-okedit { display: inline-flex; align-items: center; gap: 6px; }
.ae-pl-okedit input { width: 58px; height: 32px; border-radius: 8px; border: 1px solid var(--border-main, #d6d3d1); background: transparent; color: inherit; text-align: center; font-weight: 700; text-transform: uppercase; }
.ae-pl-view { margin: 4px 0 8px; align-self: flex-start; }
/* ===== Dark mode: every button readable, every selected state visible ===== */
/* segmented toggles (Today / Tomorrow, Current / Archive, Costing tabs…): the chosen one turns light, not near-black */
html.dark .ae-inv-seg button.is-on { background: #e6efe9 !important; color: #14201b !important; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
html.dark .ae-inv-seg button.is-on span { color: #3d4a43 !important; }
html.dark .ae-inv-seg button:not(.is-on) { color: #d6d3d1; }
html.dark .ae-inv-seg { border-color: rgba(255,255,255,.18) !important; }
/* quiet buttons (Print, Undo, Redo, Remove, Close…) get light text and a thin outline so they read as buttons */
html.dark .ae-btn-ghost { color: #e7e5e4 !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
html.dark .ae-btn-ghost:hover { background: rgba(255,255,255,.08) !important; }
html.dark .ae-btn-ghost:disabled { opacity: .45; }
/* date and time boxes: light digits and the dark calendar picker */
html.dark input[type=date], html.dark input[type=time], html.dark input[type=datetime-local], html.dark input[type=month], html.dark input[type=week] { color-scheme: dark; color: #f5f5f4 !important; }
/* the editor's "More details" button */
html.dark .ae-sec-morebtn { color: #a7dcc4 !important; background: rgba(167,220,196,.08) !important; border-color: rgba(167,220,196,.35) !important; }
/* the chosen concept in the left list */
@media screen and (min-width: 768px) { html.dark .ae-side-item.is-active { background: rgba(167,220,196,.16) !important; border-color: rgba(167,220,196,.4) !important; color: #f0faf5 !important; box-shadow: inset 3px 0 0 #a7dcc4 !important; } }
/* the small arrow that opens a linked recipe */
/* (the recipe sheet is drawn light and turned dark with a filter, so these use light-mode colours) */
html.dark button.no-print-in-card.text-stone-400 { color: #44403c !important; }
html.dark button.no-print-in-card.text-stone-400:hover { color: #92400e !important; background: rgba(146,64,14,.1) !important; }
/* Shift Notes: AM and PM headings sat on a light band */
html.dark .ae-sn-am .ae-sn-head { background: linear-gradient(90deg, rgba(245,158,11,.18), transparent 70%) !important; }
html.dark .ae-sn-pm .ae-sn-head { background: linear-gradient(90deg, rgba(129,140,248,.2), transparent 70%) !important; }
html.dark .ae-sn-ico { color: #fbbf24 !important; }
html.dark .ae-sn-pm .ae-sn-ico { color: #a5b4fc !important; }
/* Menus: the drop boxes */
html.dark .ae-mn-drop { border-color: rgba(255,255,255,.3) !important; color: #d6d3d1 !important; background: transparent !important; }
html.dark .ae-mn-bigdrop { border-color: rgba(251,191,36,.6) !important; background: rgba(251,191,36,.07) !important; color: #fcd34d !important; }
html.dark .ae-mn-bigdrop * { color: inherit; }
html.dark .ae-mn-limove button { color: #d6d3d1; }
html.dark .ae-mn-limove button:hover:not(:disabled) { color: #fff; }
/* small orange and red text buttons */
html.dark .ae-pd-edit { color: #fbbf24 !important; }
html.dark .ae-pd-edit:hover { background: rgba(251,191,36,.12) !important; }
html.dark .ae-calm-del, html.dark button.text-red-500, html.dark a.text-red-500, html.dark #invoiceDeleteShownBtn { color: #fca5a5 !important; }
/* ===== Left-handed ===== */
.ae-acct-hand { flex-wrap: nowrap !important; align-items: center; }
.ae-acct-hand > span:first-child { flex: 1 1 auto; min-width: 0; }
.ae-acct-hand > .ae-lang { flex: none; }
.ae-acct-sub { display: block; font-size: 12.5px; opacity: .65; margin-top: 2px; line-height: 1.35; }
.ae-hand-tg { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
.ae-hand-tg i { position: relative; width: 34px; height: 20px; border-radius: 999px; background: rgba(127,127,127,.35); transition: background .15s; flex: none; }
.ae-hand-tg i::after { content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: transform .15s; }
.ae-hand-tg[aria-checked="true"] i { background: var(--ae-primary, #2F5D50); }
.ae-hand-tg[aria-checked="true"] i::after { transform: translateX(14px); }
.ae-mnav-hand { display: none; }
@media screen and (max-width: 767px) {
  body.ae-mnav-open > header .ae-mnav-wrap { flex-wrap: wrap; }
  body.ae-mnav-open > header .ae-mnav-wrap > div { flex: 1 1 100%; min-width: 0; }
  body.ae-mnav-open .ae-mnav-hand { display: block; flex: 0 0 100%; width: 100%; max-width: none; order: 99; align-self: stretch; grid-column: 1 / -1; border-top: 1px solid var(--border-main, rgba(127,127,127,.3)); margin-top: 6px; padding: 10px 14px 4px; box-sizing: border-box; }
  .ae-mnav-hand .ae-hand-tg span { white-space: nowrap; }
  .ae-mnav-hand .ae-hand-tg { width: 100%; justify-content: space-between; padding: 8px 0; border: 0; background: none; color: inherit; font: inherit; font-size: 15px; font-weight: 600; }
}
.ae-hand-seg { display: inline-flex; padding: 3px; border-radius: 12px; background: rgba(127,127,127,.14); gap: 2px; }
.ae-hand-seg button { padding: 8px 14px; border-radius: 9px; border: 0; background: transparent; color: inherit; font: inherit; font-size: 14px; font-weight: 600; opacity: .7; cursor: pointer; }
.ae-hand-seg button.is-on { background: var(--bg-panel, #fff); opacity: 1; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
html.ae-lefty .ae-ai-launch, html.ae-lefty .ae-ai-panel { right: auto !important; left: 18px !important; }
html.ae-lefty #toastContainer { right: auto !important; left: 1.25rem !important; align-items: flex-start; }
html.ae-lefty .ae-tour-card { right: auto !important; left: 24px !important; }
html.ae-lefty .ae-audit-bar { right: auto !important; left: 16px !important; }
@media (max-width: 760px) { html.ae-lefty .ae-demo-bar { left: 92px; right: 12px; } }
@media screen and (max-width: 767px) { html.ae-lefty #aeMnavBtn { order: -10 !important; margin-left: 0 !important; margin-right: 4px !important; } }
.nc-hand[aria-pressed="true"] { font-weight: 700; }
@media (max-width: 860px) { html.ae-lefty .nc-top { flex-direction: row-reverse; } }
/* ===== People: one card per person ===== */
.ae-ptab, .ae-ptab > tbody { display: block; width: 100%; }
.ae-ptab > thead { display: none; }
.ae-ptab > tbody > tr { display: block; }
.ae-ptab > tbody > tr > td[colspan] { display: block; }
.ae-ptab > tbody > tr[data-acc] { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.1fr) auto; gap: 10px 18px; align-items: start; padding: 14px 16px; }
.ae-ptab > tbody > tr[data-acc] > td { display: block; padding: 0 !important; min-width: 0; text-align: left; }
.ae-ptab > tbody > tr[data-acc] > td:nth-child(1) .font-mono { overflow-wrap: anywhere; }
.ae-ptab > tbody > tr[data-acc] > td:nth-child(2) select { width: 100%; max-width: 220px; min-height: 36px; border-radius: 10px; font-size: 13px; }
.ae-ptab > tbody > tr[data-acc] > td:nth-child(2) > .theme-muted { margin-top: 5px; }
.ae-pc-sum, .ae-pe-sum { display: flex; align-items: center; gap: 6px; width: 100%; max-width: 320px; min-height: 36px; padding: 6px 10px; border-radius: 10px; border: 1px solid rgba(127,127,127,.32); background: transparent; color: inherit; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.ae-pe-sum { margin-top: 6px; }
.ae-pc-sum:hover, .ae-pe-sum:hover { border-color: rgba(127,127,127,.6); }
.ae-plab { flex: none; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; opacity: .6; }
.ae-pval { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.ae-pchev { flex: none; opacity: .6; transition: transform .15s; }
[aria-expanded="true"] > .ae-pchev { transform: rotate(180deg); }
.ae-pc-chips { margin-top: 8px; }
.ae-pc-chips[hidden], .ae-pe-box[hidden] { display: none !important; }
.ae-pe-box { margin-top: 8px; max-width: none !important; }
.ae-pmenu { position: relative; }
.ae-pmenu-b { width: 38px; height: 38px; border-radius: 10px; border: 1px solid rgba(127,127,127,.32); background: transparent; color: inherit; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ae-pmenu-b:hover, .ae-pmenu-b[aria-expanded="true"] { border-color: rgba(127,127,127,.6); }
.ae-pmenu-l { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; min-width: 220px; padding: 6px; border-radius: 12px; border: 1px solid rgba(127,127,127,.3); box-shadow: 0 16px 36px -14px rgba(0,0,0,.45); display: flex; flex-direction: column; }
.ae-pmenu-l[hidden] { display: none; }
.ae-pmenu-l.ae-pmenu-up { top: auto; bottom: calc(100% + 6px); }
.ae-pmenu-i { display: block; width: 100%; text-align: left; padding: 10px 12px; border-radius: 8px; border: 0; background: none; color: inherit; font: inherit; font-size: 14px; font-weight: 500; text-decoration: none !important; cursor: pointer; }
.ae-pmenu-i:hover, .ae-pmenu-i:focus-visible { background: rgba(127,127,127,.12); }
.ae-pmenu-i.is-danger { color: #c2410c; }
@media (max-width: 760px) {
  .ae-ptab > tbody > tr[data-acc] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px 10px; padding: 14px 12px; }
  .ae-ptab > tbody > tr[data-acc] > td:nth-child(1) { grid-column: 1 / 3; grid-row: 1; }
  .ae-ptab > tbody > tr[data-acc] > td:nth-child(4) { grid-column: 3; grid-row: 1; }
  .ae-ptab > tbody > tr[data-acc] > td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 10px; align-items: center; }
  .ae-ptab > tbody > tr[data-acc] > td:nth-child(2) > .theme-muted { margin-top: 0; }
  .ae-ptab > tbody > tr[data-acc] > td:nth-child(2) > .ae-pe-sum { margin-top: 0; }
  .ae-ptab > tbody > tr[data-acc] > td:nth-child(2) > .ae-pe-box { grid-column: 1 / -1; margin-top: 2px; }
  .ae-ptab > tbody > tr[data-acc] > td:nth-child(3) { grid-column: 1 / -1; grid-row: 3; }
  .ae-ptab > tbody > tr[data-acc] > td:nth-child(2) select { max-width: none; }
  .ae-pc-sum, .ae-pe-sum { max-width: none; }
}
/* ===== Team console: names and emails fit on a phone ===== */
.nc-team .nc-tr { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) 130px 110px; }
.nc-team .nc-tr > span { min-width: 0; }
.nc-team .nc-email { overflow-wrap: anywhere; white-space: normal; }
.nc-team .nc-role { padding: 6px 8px; border-radius: 10px; font-size: 13px; }
@media (max-width: 860px) {
  .nc-team .nc-th { display: none; }
  .nc-team .nc-tr { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; }
  .nc-team .nc-tr > span:nth-child(1) { grid-column: 1; grid-row: 1; font-weight: 700; }
  .nc-team .nc-tr > span:nth-child(2) { grid-column: 1; grid-row: 2; font-size: 13.5px; color: var(--nl-muted, #56635E); }
  .nc-team .nc-tr > span:nth-child(3) { grid-column: 2; grid-row: 1; justify-self: end; display: block !important; }
  .nc-team .nc-tr > span:nth-child(4) { grid-column: 2; grid-row: 2; justify-self: end; }
}
