/* ==== qd-all-page-item-image-contain-fix (extracted from admin.php inline <style>) ==== */
/* Fixed responsive image frames: preserve the full natural image without cropping or stretching. */
img.item-image,
img.inv-thumb,
.bulk-match-card img,
img.item-thumb {
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff !important;
    padding: 4px !important;
    box-sizing: border-box !important;
}
@media (max-width: 640px) {
    img.item-image,
    img.inv-thumb,
    .bulk-match-card img,
    img.item-thumb {
        padding: 3px !important;
    }
}

/* ==== food-final-image-contain-fix (extracted from admin.php inline <style>) ==== */
/* Food Edition Admin: complete item image and matching previews, never cropped. */
.item-image-stack img.item-image,
.bulk-match-card img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff !important;
    padding: 4px !important;
    box-sizing: border-box !important;
}
.item-image-stack img.item-image {
    width: 74px !important;
    height: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
}
.bulk-match-card img {
    width: 100% !important;
    height: 110px !important;
}
@media (max-width: 640px) {
    .item-image-stack img.item-image,
    .bulk-match-card img { padding: 3px !important; }
}

/* ==== restaurant-off-admin-style (extracted from admin.php inline <style>) ==== */
/* Restaurant Off admin switch */
.restaurant-off-icon-btn{
    border:0;
    width:46px;
    height:46px;
    border-radius:50%;
    display:inline-grid;
    place-items:center;
    color:#fff;
    background:linear-gradient(135deg,#111827,#2563eb);
    font-size:23px;
    font-weight:1000;
    box-shadow:0 14px 30px rgba(15,23,42,.22);
    cursor:pointer;
}
.restaurant-off-icon-btn.is-off{background:linear-gradient(135deg,#dc2626,#f97316);animation:restaurantOffPulse 1.25s infinite;}
@keyframes restaurantOffPulse{50%{transform:scale(1.06);filter:brightness(1.08)}}
.restaurant-off-admin-backdrop{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.62);backdrop-filter:blur(7px)}
.restaurant-off-admin-backdrop.open{display:flex}
.restaurant-off-admin-card{width:min(430px,100%);border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.30);overflow:hidden}
.restaurant-off-admin-head{padding:18px 20px;color:#fff;background:linear-gradient(135deg,#dc2626,#f97316);display:flex;align-items:center;justify-content:space-between;gap:12px}
.restaurant-off-admin-head h3{margin:0;font-size:22px;letter-spacing:-.02em}.restaurant-off-admin-close{border:0;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:22px;font-weight:1000;cursor:pointer}
.restaurant-off-admin-body{padding:18px;display:grid;gap:12px}.restaurant-off-admin-body label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.3px}.restaurant-off-admin-body input{border:1px solid #cbd5e1;border-radius:14px;padding:12px 13px;font:inherit;font-weight:850}.restaurant-off-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.restaurant-off-yes,.restaurant-off-no{border:0;min-height:46px;border-radius:15px;font-weight:1000;cursor:pointer}.restaurant-off-yes{background:linear-gradient(135deg,#dc2626,#f97316);color:#fff}.restaurant-off-no{background:#f1f5f9;color:#0f172a}.restaurant-off-status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:1000}.restaurant-off-status-pill.on{background:#dcfce7;color:#166534}
@media(max-width:640px){.restaurant-off-icon-btn{width:42px;height:42px;font-size:20px}.restaurant-off-admin-card{border-radius:22px}.restaurant-off-admin-actions{grid-template-columns:1fr}}

/* ==== admin-power-menu-style ==== */
.admin-power-menu-card .restaurant-off-admin-head{background:linear-gradient(135deg,#0f172a,#334155);}
.admin-power-menu-option{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:13px 14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;}
.admin-power-menu-option:hover{background:#f1f5f9;transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,.08);}
.admin-power-menu-option:disabled{cursor:wait;}
.admin-power-menu-option-ico{font-size:22px;line-height:1;flex:none;}
.admin-power-menu-option-text{display:grid;gap:2px;}
.admin-power-menu-option-text strong{font-size:15px;color:#0f172a;font-weight:1000;}
.admin-power-menu-option-text small{font-size:12px;color:#64748b;font-weight:700;}
.admin-power-menu-option-danger{border-color:#fed7aa;background:#fff7ed;}
.admin-power-menu-option-danger:hover{background:#ffedd5;}
@media(max-width:640px){.admin-power-menu-option{padding:12px;}.admin-power-menu-option-ico{font-size:19px;}}

/* Staff/Supplier delete confirmation: in-page modal works in browsers,
   installed PWAs and desktop/mobile WebViews without relying on confirm(). */
.admin-delete-confirm-backdrop{position:fixed;inset:0;z-index:2147483200;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.68);backdrop-filter:blur(7px)}
.admin-delete-confirm-backdrop.open{display:flex}
.admin-delete-confirm-card{width:min(430px,100%);border-radius:24px;background:#fff;padding:22px;text-align:center;box-shadow:0 30px 90px rgba(15,23,42,.36)}
.admin-delete-confirm-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#fee2e2;color:#b91c1c;font-size:30px;font-weight:1000}
.admin-delete-confirm-card h3{margin:0;color:#0f172a;font-size:22px;font-weight:1000}
.admin-delete-confirm-card p{margin:9px 0 18px;color:#64748b;font-size:14px;font-weight:750;line-height:1.45}
.admin-delete-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-delete-confirm-actions button{min-height:48px;border:0;border-radius:14px;font:inherit;font-weight:1000;cursor:pointer}
.admin-delete-confirm-actions .cancel{background:#f1f5f9;color:#0f172a}
.admin-delete-confirm-actions .confirm{background:linear-gradient(135deg,#b91c1c,#ef4444);color:#fff}
@media(max-width:480px){.admin-delete-confirm-card{padding:18px;border-radius:20px}.admin-delete-confirm-actions{grid-template-columns:1fr}}

/* ==== food-admin-mobile-header-clean-fix (extracted from admin.php inline <style>) ==== */
/* Mobile admin header cleanup: logo/title left, Off + Logout right in one clean row. */
.brand-head{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    min-width:0 !important;
    color:#0f172a !important;
}
.brand-head .brand-logo,
.brand-head .brand-fallback{
    flex:0 0 auto !important;
}
.brand-titles{min-width:0 !important;}
.brand-titles h1{
    margin:0 !important;
    color:#0f172a !important;
    font-weight:1000 !important;
    letter-spacing:-.02em !important;
}
@media(max-width:640px){
    .header-simple{
        padding:8px 0 !important;
    }
    .header-simple .bar{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:8px !important;
        flex-wrap:nowrap !important;
    }
    .header-simple .brand-head{
        flex:1 1 auto !important;
        min-width:0 !important;
        overflow:hidden !important;
        gap:8px !important;
    }
    .header-simple .brand-logo,
    .header-simple .brand-fallback{
        width:44px !important;
        height:44px !important;
        min-width:44px !important;
        border-radius:14px !important;
    }
    .header-simple .brand-titles{
        min-width:0 !important;
        overflow:hidden !important;
    }
    .header-simple .brand-titles h1{
        font-size:18px !important;
        line-height:1.15 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        max-width:calc(100vw - 170px) !important;
    }
    .header-simple .header-actions{
        display:flex !important;
        grid-template-columns:none !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:6px !important;
        flex:0 0 auto !important;
        min-width:max-content !important;
        flex-wrap:nowrap !important;
    }
    .header-simple .restaurant-off-icon-btn{
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        border-radius:13px !important;
        box-shadow:0 8px 18px rgba(15,23,42,.16) !important;
    }
    .header-simple .restaurant-off-icon-btn svg{
        width:18px !important;
        height:18px !important;
    }
    .header-simple .header-actions .danger-btn{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:38px !important;
        height:38px !important;
        padding:0 13px !important;
        border-radius:999px !important;
        font-size:13px !important;
        font-weight:1000 !important;
        white-space:nowrap !important;
        margin:0 !important;
    }
}
@media(max-width:380px){
    .header-simple .brand-titles h1{
        font-size:16px !important;
        max-width:calc(100vw - 158px) !important;
    }
    .header-simple .brand-logo,
    .header-simple .brand-fallback{
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
    }
    .header-simple .restaurant-off-icon-btn{
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
    }
    .header-simple .header-actions .danger-btn{
        min-height:36px !important;
        height:36px !important;
        padding:0 11px !important;
        font-size:12px !important;
    }
}

/* ==== food-admin-main-page-password-mobile-grid-fix (extracted from admin.php inline <style>) ==== */
/* Admin page: Main Setting + Page Passwords buttons and cleaner mobile 2-per-line action grid. */
@media(max-width:640px){
    .admin-action-strip{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
        margin:0 0 14px !important;
    }
    .admin-action-tile{
        min-height:66px !important;
        padding:10px 8px !important;
        border-radius:16px !important;
        font-size:12px !important;
        line-height:1.15 !important;
        text-align:center !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:6px !important;
    }
    .admin-action-tile span{
        width:30px !important;
        height:30px !important;
        min-width:30px !important;
        border-radius:11px !important;
        margin:0 !important;
        font-size:14px !important;
        line-height:1 !important;
    }
    .floating-modal-body .form-grid,
    .admin-settings-password-grid{
        grid-template-columns:1fr !important;
    }
    .admin-settings-main-preview{
        align-items:center !important;
    }
}
.admin-settings-password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-settings-password-box{border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:11px}
.admin-settings-password-box .label{font-size:12px;margin-bottom:6px}
.admin-settings-main-preview{display:flex;gap:12px;align-items:center;margin-bottom:14px;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:12px}
.admin-settings-main-preview img,.admin-settings-logo-fallback{width:64px;height:64px;border-radius:18px;object-fit:cover;border:1px solid #e5e7eb;background:#fff;display:grid;place-items:center;font-weight:1000;color:#0f172a;flex-shrink:0}

/* ==== inline-block-6 (extracted from admin.php inline <style>) ==== */
.variation-box{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#f9fafb;margin-bottom:12px}
        .variation-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr .8fr auto;gap:12px;align-items:end}
        .deal-grid{display:grid;grid-template-columns:1.7fr 1fr auto;gap:12px;align-items:end}
        .variation-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
        .variation-title{font-size:14px;font-weight:700;color:#374151}
        .mini-note{font-size:12px;color:#6b7280;margin-top:6px}
        .preview-variants{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}
        .preview-pill{background:#eef2ff;color:#1f2937;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:600}
        .block-title{margin:16px 0 10px;font-size:15px;font-weight:800}
        .fold-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
        .fold-head{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer}
        .fold-body{display:none;padding-top:14px}
        .fold-card.open .fold-body{display:block}
        .admin-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
        .item-list{display:flex;flex-direction:column;gap:14px}
        .item-card{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff}
        .item-main{display:flex;gap:12px;align-items:flex-start;flex:1}
        .item-image-stack{width:74px;min-width:74px;display:flex;flex-direction:column;align-items:stretch;gap:6px;position:relative}
        .item-image{width:74px;height:74px;border-radius:16px;object-fit:cover;background:#f3f4f6;border:1px solid #e5e7eb}
        .empty-image-plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border:0;border-radius:999px;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;font-size:28px;line-height:1;font-weight:1000;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(22,163,74,.35);cursor:pointer;z-index:3}
        .empty-image-plus:hover{transform:translate(-50%,-50%) scale(1.08)}
        .quick-match-modal-card{max-width:980px;border-radius:24px;overflow:hidden}
        .quick-match-search-row{display:flex;gap:10px;align-items:end}
        .quick-match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
        .bulk-match-card{border:1px solid #e5e7eb;border-radius:16px;padding:9px;background:#fff;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.06);transition:.15s ease}
        .bulk-match-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.12);border-color:#2563eb}
        .bulk-match-card img{width:100%;height:112px;object-fit:cover;border-radius:12px;background:#f3f4f6}
        .bulk-match-name{font-size:12px;font-weight:800;margin-top:8px;word-break:break-word;color:#111827}
        .bulk-match-score{font-size:11px;color:#2563eb;font-weight:900;margin-top:4px}
        .item-info-side{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.item-side-actions{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-top:8px;
}

.item-side-actions .image-under-btn{
    width:auto;
    min-width:92px;
}
        .image-under-btn{width:100%;border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:7px 8px;font-size:11px;font-weight:700;cursor:pointer;text-align:center;line-height:1.2}
        .image-under-btn:hover{background:#f9fafb}
        .admin-image-status{display:inline-flex;align-items:center;min-height:28px;font-size:11px;font-weight:900;color:#2563eb;padding:0 3px}
        .admin-image-status.ok{color:#16a34a}
        .admin-image-status.err{color:#dc2626}
        .item-name{margin:0 0 5px;font-size:18px}
        .item-desc{margin:0;color:#6b7280;font-size:14px}
        .single-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;background:#f9fafb;border:1px solid #e5e7eb;padding:10px 12px;border-radius:14px}
        .variant-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
        .variant-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f9fafb;border:1px solid #e5e7eb;padding:10px 12px;border-radius:14px}
        .admin-edit-mini{display:inline-flex;gap:8px;flex-wrap:wrap;margin-top:8px}
        .admin-mini-btn{border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer}
        .admin-mini-btn.soft{padding:5px 8px;font-size:11px;border-radius:9px}
        .category-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa;margin-bottom:10px}
        .modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:160;padding:18px}
        .modal-backdrop.open{display:flex}
        .modal-card{background:#fff;border-radius:22px;padding:18px;width:100%;max-width:860px;max-height:90vh;overflow:auto}
        .modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
        .split-top{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px}
        .search-wrap{margin-bottom:16px}
        .search-input,.filter-select,.input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:14px;font:inherit}
        .csv-note{font-size:12px;line-height:1.55;color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db;border-radius:14px;padding:12px}
        .header-simple{padding:16px 0}
        .header-simple .bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
        .header-title{font-size:28px;font-weight:800;line-height:1}
        .header-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
        .header-actions .ghost-btn,.header-actions .danger-btn{white-space:nowrap}
        .item-head-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
        .item-body{display:none}
        .item-card.open .item-body{display:block}
        .caret{font-size:20px;font-weight:800;line-height:1;color:#111827}
        .status-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
        .status-chip.on{background:#dcfce7;color:#166534}
        .status-chip.off{background:#fee2e2;color:#991b1b}
        .hidden-file-input{display:none}
        .quick-upload-btn{position:relative;overflow:hidden}
        .bulk-match-card{border:1px solid #e5e7eb;border-radius:16px;padding:10px;background:#fff;cursor:pointer}
        .bulk-match-card img{width:100%;height:110px;object-fit:cover;border-radius:12px;background:#f3f4f6}
        .bulk-match-name{font-size:12px;font-weight:700;margin-top:8px;word-break:break-word}
        .bulk-match-score{font-size:11px;color:#6b7280;margin-top:4px}
        .helper{padding:16px;border:1px dashed #d1d5db;border-radius:14px;background:#fafafa;color:#6b7280}
        .please-wait-overlay{position:fixed;inset:0;background:rgba(15,23,42,.72);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
        .please-wait-overlay.open{display:flex}
        .please-wait-card{width:min(420px,92vw);background:#fff;border-radius:26px;padding:24px;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.35)}
        .please-wait-spinner{width:54px;height:54px;border:6px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;margin:0 auto 14px;animation:adminSpin .8s linear infinite}
        .please-wait-title{font-size:24px;font-weight:1000;color:#111827;margin-bottom:6px}
        .please-wait-text{font-size:14px;color:#6b7280;font-weight:700;line-height:1.4}
        @keyframes adminSpin{to{transform:rotate(360deg)}}
        .availability-select-box{margin-top:10px;max-width:220px}
        .availability-select-box .label{margin-bottom:6px;display:block}
        .availability-inline-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:12px;font:inherit;background:#fff}

        .admin-top-filter{
            position:sticky;
            top:0;
            z-index:40;
            background:#fff;
            padding:10px 0 12px;
            margin-bottom:14px;
            border-bottom:1px solid #e5e7eb;
        }
        .admin-top-grid{
            display:grid;
            grid-template-columns:1.15fr .85fr 1fr;
            gap:12px;
            align-items:center;
        }

        .category-dropdown{position:relative}
        .category-trigger{
            width:100%;
            border:0;
            border-radius:18px;
            padding:14px 16px;
            font:inherit;
            font-weight:800;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:10px;
            cursor:pointer;
            color:#fff;
            background:linear-gradient(135deg,#0f172a 0%,#2563eb 55%,#7c3aed 100%);
            box-shadow:0 12px 30px rgba(37,99,235,.25);
        }
        .category-menu{
            position:absolute;
            left:0;
            right:0;
            top:calc(100% + 8px);
            background:#fff;
            border:1px solid #e5e7eb;
            border-radius:18px;
            box-shadow:0 14px 30px rgba(0,0,0,.10);
            padding:8px;
            display:none;
            max-height:320px;
            overflow:auto;
        }
        .category-menu.open{display:block}
        .category-option{
            width:100%;
            text-align:left;
            border:0;
            background:#fff;
            border-radius:12px;
            padding:12px 12px;
            font:inherit;
            font-weight:700;
            cursor:pointer;
        }
        .category-option:hover,.category-option.active{
            background:linear-gradient(135deg,#111827 0%,#2563eb 100%);
            color:#fff;
        }

        .items-panel-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
        .empty-box{padding:24px;text-align:center;color:#6b7280;background:#fafafa;border:1px dashed #d1d5db;border-radius:18px}


        .admin-action-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
        .admin-action-tile{border:0;border-radius:22px;padding:18px 16px;background:linear-gradient(135deg,#ffffff,#f8fbff);box-shadow:0 14px 34px rgba(15,23,42,.08);font-weight:1000;color:#111827;cursor:pointer;text-align:left;border:1px solid #e5e7eb;min-height:76px}
        .admin-action-tile span{display:flex;width:38px;height:38px;border-radius:14px;align-items:center;justify-content:center;margin-bottom:9px;color:#fff;background:linear-gradient(135deg,#111827,#2563eb,#7c3aed);font-size:20px}
        .floating-modal-card{max-width:980px;border-radius:28px;padding:0;overflow:hidden;box-shadow:0 28px 80px rgba(15,23,42,.32)}
        .floating-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;color:#fff;background:linear-gradient(135deg,#111827,#2563eb,#7c3aed)}
        .floating-modal-head h3{margin:0;font-size:22px}.floating-modal-body{padding:20px;background:linear-gradient(180deg,#fff,#f8fbff)}
        .plus-add-btn{width:46px;height:46px;border:0;border-radius:17px;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;font-size:28px;line-height:1;font-weight:1000;box-shadow:0 14px 30px rgba(34,197,94,.25);cursor:pointer}
        .items-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
        .stock-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:1000;margin-top:8px}
        .category-manage-list{display:grid;gap:9px;margin-top:14px;max-height:430px;overflow:auto;padding-right:4px}
        .category-manage-row{display:grid;grid-template-columns:auto 1fr 90px auto;gap:9px;align-items:center;border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:10px;box-shadow:0 8px 18px rgba(15,23,42,.04)}
        .drag-handle{cursor:grab;border:0;background:#f1f5f9;border-radius:12px;width:34px;height:34px;font-weight:1000}.category-position-input{width:90px;text-align:center}
        .category-arrow-buttons{display:flex;gap:6px}.category-arrow-buttons button{border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;border-radius:10px;height:34px;min-width:34px;font-weight:1000;cursor:pointer}
        .saved-category-panel{display:none}.saved-category-panel.open{display:block}
        .sample-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
        .modal-card .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-card .form-row.full{grid-column:1/-1}

@media (max-width:900px){
    .variation-grid,.deal-grid,.split-top,.admin-top-grid,.admin-action-strip,.modal-card .form-grid{grid-template-columns:1fr}
    .header-simple .bar{flex-direction:column;align-items:stretch}
    .header-title{text-align:center;font-size:24px}
    .header-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
    .header-actions a{display:flex;align-items:center;justify-content:center;padding-left:8px;padding-right:8px;font-size:12px}

    .item-main{
        flex-direction:row;
        align-items:flex-start;
        gap:10px;
    }

    .item-image-stack{
        width:74px;
        min-width:74px;
        max-width:74px;
    }

    .item-image{
        width:74px;
        height:74px;
    }

    .item-name{
        font-size:15px;
        line-height:1.2;
        margin:0 0 4px;
    }

    .item-desc{
        font-size:12px;
        line-height:1.35;
    }

    .item-side-actions{
        gap:5px;
        margin-top:6px;
    }

    .item-side-actions .image-under-btn{
        padding:6px 8px;
        font-size:10px;
        min-width:82px;
        border-radius:9px;
    }

    .availability-select-box{
        margin-top:8px;
        max-width:170px;
    }

    .availability-inline-select{
        padding:8px 10px;
        font-size:12px;
        border-radius:10px;
    }

    .status-chip{
        font-size:10px;
        padding:5px 8px;
    }
}
    
/* v149 admin polish fixes */
#addNewItemModal .floating-modal-card{
    max-height:92vh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
}
#addNewItemModal .floating-modal-body{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    max-height:calc(92vh - 74px)!important;
}
.admin-action-tile[data-modal="csvToolsModal"] span,
.admin-action-tile[data-modal="bulkImagesModal"] span{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    border-radius:11px!important;
    font-size:15px!important;
    margin-bottom:7px!important;
}
.item-side-actions.clean-item-actions{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin-top:10px;
}
.item-side-actions.clean-item-actions .image-under-btn{
    min-width:92px;
    width:auto;
}
@media(max-width:700px){
    #addNewItemModal .modal-card{
        max-height:94vh!important;
    }
    #addNewItemModal .floating-modal-body{
        max-height:calc(94vh - 72px)!important;
        padding:14px!important;
    }
}


/* v150 clean saved categories manager */
#categoryManagerModal .floating-modal-card{
    max-width:900px!important;
}
#categoryManagerModal .floating-modal-body{
    padding:18px!important;
}
#categoryManagerModal .saved-category-panel{
    margin-top:16px;
}
#categoryManagerModal .category-manage-list{
    gap:8px!important;
    max-height:470px!important;
    padding-right:6px!important;
}
#categoryManagerModal .category-manage-row{
    grid-template-columns:30px minmax(0,1fr) 58px 52px 34px!important;
    gap:7px!important;
    align-items:center!important;
    border-radius:16px!important;
    padding:8px!important;
    background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
    border:1px solid #e2e8f0!important;
    box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
}
#categoryManagerModal .drag-handle{
    width:28px!important;
    height:36px!important;
    border-radius:11px!important;
    font-size:15px!important;
    color:#64748b!important;
    background:#f1f5f9!important;
}
#categoryManagerModal .category-position-form > input.input:not(.category-position-input){
    min-width:0!important;
    width:100%!important;
    height:42px!important;
    padding:0 12px!important;
    font-weight:900!important;
    overflow:hidden;
    text-overflow:ellipsis;
}
#categoryManagerModal .category-position-input{
    width:58px!important;
    min-width:58px!important;
    height:42px!important;
    padding:0 4px!important;
    text-align:center!important;
    font-weight:1000!important;
}
#categoryManagerModal .category-position-form .admin-mini-btn.soft{
    height:42px!important;
    min-width:52px!important;
    padding:0 8px!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#111827,#2563eb)!important;
    color:#fff!important;
    border:0!important;
    font-size:11px!important;
}
#categoryManagerModal .category-arrow-buttons{
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
    align-items:stretch!important;
    justify-content:center!important;
}
#categoryManagerModal .category-arrow-buttons form{
    margin:0!important;
    display:block!important;
}
#categoryManagerModal .category-arrow-buttons button{
    width:30px!important;
    min-width:30px!important;
    height:19px!important;
    border-radius:8px!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1!important;
    box-shadow:none!important;
}
@media(max-width:700px){
    #categoryManagerModal .category-manage-row{
        grid-template-columns:28px minmax(0,1fr) 54px 32px!important;
        grid-template-areas:
            "drag name pos arrows"
            "drag save save arrows";
        gap:7px!important;
    }
    #categoryManagerModal .drag-handle{grid-area:drag;height:100%!important}
    #categoryManagerModal .category-position-form > input.input:not(.category-position-input){grid-area:name}
    #categoryManagerModal .category-position-input{grid-area:pos;width:54px!important;min-width:54px!important}
    #categoryManagerModal .category-position-form .admin-mini-btn.soft{grid-area:save;width:100%!important;height:36px!important}
    #categoryManagerModal .category-arrow-buttons{grid-area:arrows}
}


/* v151 saved categories delete + scroll fix */
#categoryManagerModal .category-manage-list{
    padding-bottom:34px!important;
    scroll-padding-bottom:34px!important;
}
#categoryManagerModal .category-manage-row{
    grid-template-columns:30px minmax(0,1fr) 54px 42px 50px 32px!important;
}
#categoryManagerModal .category-manage-row:last-child{
    margin-bottom:22px!important;
}
#categoryManagerModal .category-save-btn{
    min-width:42px!important;
    width:42px!important;
    height:38px!important;
    padding:0!important;
    font-size:10px!important;
}
#categoryManagerModal .category-delete-form{
    margin:0!important;
    display:block!important;
}
#categoryManagerModal .category-delete-btn{
    min-width:50px!important;
    width:50px!important;
    height:38px!important;
    padding:0!important;
    font-size:10px!important;
    border:0!important;
    color:#991b1b!important;
    background:#fee2e2!important;
}
#categoryManagerModal .category-arrow-buttons button{
    width:28px!important;
    min-width:28px!important;
}
@media(max-width:700px){
    #categoryManagerModal .category-manage-list{
        max-height:58vh!important;
        padding-bottom:38px!important;
    }
    #categoryManagerModal .category-manage-row{
        grid-template-columns:28px minmax(0,1fr) 50px 32px!important;
        grid-template-areas:
            "drag name pos arrows"
            "drag save del arrows"!important;
    }
    #categoryManagerModal .category-save-btn{
        grid-area:save!important;
        width:100%!important;
        min-width:0!important;
        height:34px!important;
    }
    #categoryManagerModal .category-delete-form{
        grid-area:del!important;
    }
    #categoryManagerModal .category-delete-btn{
        width:100%!important;
        min-width:0!important;
        height:34px!important;
    }
}


/* v154 Add Item button label */
.plus-add-btn.add-item-pill{
    width:auto!important;
    min-width:128px!important;
    height:46px!important;
    padding:0 16px!important;
    border-radius:17px!important;
    font-size:14px!important;
    line-height:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    white-space:nowrap!important;
}
@media(max-width:640px){
    .plus-add-btn.add-item-pill{
        min-width:112px!important;
        height:42px!important;
        font-size:13px!important;
        padding:0 12px!important;
    }
}


/* v155 Add Category beside Add Item */
.items-title-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    flex-wrap:wrap;
}
.add-category-near-btn{
    border:0;
    min-height:46px;
    padding:0 15px;
    border-radius:17px;
    color:#fff;
    background:linear-gradient(135deg,#111827,#2563eb,#7c3aed);
    font-size:14px;
    font-weight:1000;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(37,99,235,.22);
    white-space:nowrap;
}
@media(max-width:640px){
    .items-title-row{
        align-items:stretch!important;
    }
    .items-title-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .add-category-near-btn,
    .plus-add-btn.add-item-pill{
        width:100%!important;
        min-width:0!important;
        height:42px!important;
        font-size:13px!important;
        padding:0 10px!important;
    }
}

/* ==== food-admin-structural-image-frame-fix-v2 (extracted from admin.php inline <style>) ==== */
.item-image-stack > .food-admin-image-frame {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    width:74px !important;
    height:74px !important;
    min-width:74px !important;
    max-width:74px !important;
    padding:4px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border:1px solid #e5e7eb !important;
    border-radius:16px !important;
}
.food-admin-image-frame > .food-admin-image-inner {
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    zoom:1 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:#fff !important;
}
.bulk-match-card img,
.quick-match-result img,
.bulk-image-preview img,
.image-preview img {
    object-fit:contain !important;
    object-position:center center !important;
    background:#fff !important;
    transform:none !important;
}
@media(max-width:640px){
    .item-image-stack > .food-admin-image-frame {
        width:66px !important;
        height:66px !important;
        min-width:66px !important;
        max-width:66px !important;
        padding:3px !important;
    }
}

/* ==== restaurant-off-admin-main-style (extracted from admin.php inline <style>) ==== */
/* Restaurant Off clean floating card - main admin page */
.restaurant-off-icon-btn{
    border:0 !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    border-radius:50% !important;
    display:inline-grid !important;
    place-items:center !important;
    color:#fff !important;
    background:linear-gradient(135deg,#111827,#2563eb) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.22) !important;
    cursor:pointer !important;
    padding:0 !important;
    line-height:1 !important;
}
.restaurant-off-icon-btn.is-off{background:linear-gradient(135deg,#dc2626,#f97316) !important;animation:restaurantOffPulse 1.25s infinite;}
.restaurant-off-icon-btn svg{width:22px !important;height:22px !important;display:block !important;fill:none !important;stroke:currentColor !important;stroke-width:2.6 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
@keyframes restaurantOffPulse{50%{transform:scale(1.06);filter:brightness(1.08)}}
.restaurant-off-admin-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:99999 !important;
    display:none !important;
    align-items:center !important;
    justify-content:center !important;
    padding:16px !important;
    background:rgba(15,23,42,.62) !important;
    backdrop-filter:blur(7px) !important;
}
.restaurant-off-admin-backdrop.open{display:flex !important;}
.restaurant-off-admin-card{
    width:min(430px,100%) !important;
    border-radius:28px !important;
    background:#fff !important;
    box-shadow:0 28px 80px rgba(15,23,42,.30) !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.55) !important;
}
.restaurant-off-admin-head{
    padding:18px 20px !important;
    color:#fff !important;
    background:linear-gradient(135deg,#dc2626,#f97316) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
}
.restaurant-off-admin-head h3{margin:0 !important;font-size:22px !important;letter-spacing:-.02em !important;color:#fff !important;}
.restaurant-off-admin-close{
    border:0 !important;
    width:34px !important;
    height:34px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.18) !important;
    color:#fff !important;
    font-size:22px !important;
    font-weight:1000 !important;
    cursor:pointer !important;
}
.restaurant-off-admin-body{padding:18px !important;display:grid !important;gap:12px !important;background:#fff !important;}
.restaurant-off-admin-body label{display:grid !important;gap:6px !important;color:#475569 !important;font-size:12px !important;font-weight:1000 !important;text-transform:uppercase !important;letter-spacing:.3px !important;}
.restaurant-off-admin-body input{border:1px solid #cbd5e1 !important;border-radius:14px !important;padding:12px 13px !important;font:inherit !important;font-weight:850 !important;background:#fff !important;color:#0f172a !important;}
.restaurant-off-admin-actions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;margin-top:4px !important;}
.restaurant-off-yes,.restaurant-off-no{border:0 !important;min-height:46px !important;border-radius:15px !important;font-weight:1000 !important;cursor:pointer !important;font:inherit !important;}
.restaurant-off-yes{background:linear-gradient(135deg,#dc2626,#f97316) !important;color:#fff !important;}
.restaurant-off-no{background:#f1f5f9 !important;color:#0f172a !important;}
.restaurant-off-status-pill{display:inline-flex !important;align-items:center !important;gap:6px !important;border-radius:999px !important;padding:8px 11px !important;background:#fee2e2 !important;color:#991b1b !important;font-size:12px !important;font-weight:1000 !important;width:max-content !important;}
.restaurant-off-status-pill.on{background:#dcfce7 !important;color:#166534 !important;}
@media(max-width:640px){
    .restaurant-off-icon-btn{width:42px !important;height:42px !important;min-width:42px !important;}
    .restaurant-off-icon-btn svg{width:20px !important;height:20px !important;}
    .restaurant-off-admin-card{border-radius:22px !important;}
    .restaurant-off-admin-actions{grid-template-columns:1fr !important;}
}

/* ==== food-admin-mobile-header-vertical-actions-fix (extracted from admin.php inline <style>) ==== */
/* Mobile only: Logout top-right, Restaurant Off switch directly under it. Desktop unchanged. */
@media(max-width:640px){
    .header-simple{
        padding:8px 0 !important;
    }
    .header-simple .bar{
        display:flex !important;
        flex-direction:row !important;
        align-items:flex-start !important;
        justify-content:space-between !important;
        gap:10px !important;
        flex-wrap:nowrap !important;
    }
    .header-simple .brand-head{
        flex:1 1 auto !important;
        min-width:0 !important;
        overflow:hidden !important;
        padding-top:3px !important;
    }
    .header-simple .brand-titles h1{
        max-width:calc(100vw - 128px) !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }
    .header-simple .header-actions{
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-end !important;
        justify-content:flex-start !important;
        gap:7px !important;
        flex:0 0 76px !important;
        width:76px !important;
        min-width:76px !important;
        margin-left:auto !important;
    }
    .header-simple .header-actions .danger-btn{
        order:1 !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:76px !important;
        min-width:76px !important;
        height:36px !important;
        min-height:36px !important;
        padding:0 10px !important;
        margin:0 !important;
        border-radius:999px !important;
        font-size:12px !important;
        font-weight:1000 !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }
    .header-simple .restaurant-off-icon-btn{
        order:2 !important;
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        border-radius:14px !important;
        margin:0 !important;
        align-self:flex-end !important;
        box-shadow:0 8px 18px rgba(15,23,42,.16) !important;
    }
    .header-simple .restaurant-off-icon-btn svg{
        width:20px !important;
        height:20px !important;
    }
}
@media(max-width:380px){
    .header-simple .header-actions{
        flex-basis:70px !important;
        width:70px !important;
        min-width:70px !important;
    }
    .header-simple .header-actions .danger-btn{
        width:70px !important;
        min-width:70px !important;
        height:34px !important;
        min-height:34px !important;
        font-size:11px !important;
        padding:0 8px !important;
    }
    .header-simple .restaurant-off-icon-btn{
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
    }
    .header-simple .brand-titles h1{
        max-width:calc(100vw - 118px) !important;
    }
}

/* ==== food-admin-main-page-password-mobile-grid-fix-main (extracted from admin.php inline <style>) ==== */
/* Admin page: Main Setting + Page Passwords buttons and cleaner mobile 2-per-line action grid. */
@media(max-width:640px){
    .admin-action-strip{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
        margin:0 0 14px !important;
    }
    .admin-action-tile{
        min-height:66px !important;
        padding:10px 8px !important;
        border-radius:16px !important;
        font-size:12px !important;
        line-height:1.15 !important;
        text-align:center !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:6px !important;
    }
    .admin-action-tile span{
        width:30px !important;
        height:30px !important;
        min-width:30px !important;
        border-radius:11px !important;
        margin:0 !important;
        font-size:14px !important;
        line-height:1 !important;
    }
    .floating-modal-body .form-grid,
    .admin-settings-password-grid{
        grid-template-columns:1fr !important;
    }
    .admin-settings-main-preview{
        align-items:center !important;
    }
}
.admin-settings-password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-settings-password-box{border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:11px}
.admin-settings-password-box .label{font-size:12px;margin-bottom:6px}
.admin-settings-main-preview{display:flex;gap:12px;align-items:center;margin-bottom:14px;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:12px}
.admin-settings-main-preview img,.admin-settings-logo-fallback{width:64px;height:64px;border-radius:18px;object-fit:cover;border:1px solid #e5e7eb;background:#fff;display:grid;place-items:center;font-weight:1000;color:#0f172a;flex-shrink:0}

/* ==== food-admin-settings-modal-scroll-fix-v2 (extracted from admin.php inline <style>) ==== */
/* Make Admin Main Setting + Page Passwords modals scroll exactly like Brand Settings. */
#adminMainSettingsModal.open,
#adminPagePasswordsModal.open{
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}
#adminMainSettingsModal .floating-modal-card,
#adminPagePasswordsModal .floating-modal-card{
    display:flex !important;
    flex-direction:column !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:0 !important;
}
#adminMainSettingsModal .floating-modal-head,
#adminPagePasswordsModal .floating-modal-head{
    flex:0 0 auto !important;
}
#adminMainSettingsModal .floating-modal-body,
#adminPagePasswordsModal .floating-modal-body{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:calc(92vh - 76px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    padding-bottom:28px !important;
}
@media(max-width:640px){
    #adminMainSettingsModal.open,
    #adminPagePasswordsModal.open{
        align-items:flex-start !important;
        padding:8px !important;
    }
    #adminMainSettingsModal .floating-modal-card,
    #adminPagePasswordsModal .floating-modal-card{
        width:100% !important;
        max-height:96vh !important;
        margin-top:6px !important;
        border-radius:22px !important;
    }
    #adminMainSettingsModal .floating-modal-head,
    #adminPagePasswordsModal .floating-modal-head{
        position:sticky !important;
        top:0 !important;
        z-index:3 !important;
        padding:12px 13px !important;
    }
    #adminMainSettingsModal .floating-modal-head h3,
    #adminPagePasswordsModal .floating-modal-head h3{
        font-size:17px !important;
    }
    #adminMainSettingsModal .floating-modal-head .ghost-btn,
    #adminPagePasswordsModal .floating-modal-head .ghost-btn{
        min-height:34px !important;
        padding:0 11px !important;
        border-radius:12px !important;
        font-size:12px !important;
    }
    #adminMainSettingsModal .floating-modal-body,
    #adminPagePasswordsModal .floating-modal-body{
        max-height:calc(96vh - 58px) !important;
        padding:12px 12px 26px !important;
    }
    #adminMainSettingsModal .inline-actions,
    #adminPagePasswordsModal .inline-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
    }
    #adminMainSettingsModal .inline-actions .solid-btn,
    #adminMainSettingsModal .inline-actions .ghost-btn,
    #adminPagePasswordsModal .inline-actions .solid-btn,
    #adminPagePasswordsModal .inline-actions .ghost-btn{
        width:100% !important;
        min-height:42px !important;
        font-size:12px !important;
        padding:0 10px !important;
    }
}

/* ==== admin-rider-management-style (extracted from admin.php inline <style>) ==== */
/* Rider Panel inside Admin page */
.rider-management-backdrop{position:fixed;inset:0;z-index:10100;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.62);backdrop-filter:blur(8px)}
.rider-management-backdrop.open{display:flex}
.rider-management-card{width:min(860px,100%);max-height:92vh;background:#fff;border-radius:28px;box-shadow:0 32px 100px rgba(15,23,42,.36);overflow:hidden;display:flex;flex-direction:column;border:1px solid #e5e7eb}
.rider-management-head{padding:17px 19px;background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed);color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rider-management-head h3{margin:0;font-size:22px;letter-spacing:-.02em}.rider-management-head small{display:block;margin-top:4px;color:rgba(255,255,255,.82);font-weight:850}.rider-management-close{width:42px;height:42px;border:0;border-radius:14px;background:rgba(255,255,255,.16);color:#fff;font-size:22px;font-weight:1000;cursor:pointer;flex-shrink:0}.rider-management-body{padding:16px;overflow:auto;background:linear-gradient(180deg,#fff,#f8fbff)}
.rider-management-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rider-management-option{border:1px solid #dbeafe;border-radius:22px;padding:18px;background:radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 35%),#fff;box-shadow:0 14px 34px rgba(15,23,42,.07);cursor:pointer;text-align:left}.rider-management-option strong{display:block;font-size:20px;color:#0f172a}.rider-management-option small{display:block;color:#64748b;font-weight:850;margin-top:6px;line-height:1.4}.rider-management-option:hover{border-color:#93c5fd;transform:translateY(-2px)}
.rider-mgmt-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.rider-mgmt-back{border:0;border-radius:999px;background:#eef2ff;color:#3730a3;min-height:38px;padding:0 13px;font-weight:1000;cursor:pointer}.rider-mgmt-list{display:grid;gap:10px}.rider-mgmt-card{border:1px solid #e5e7eb;border-radius:20px;background:#fff;padding:13px;box-shadow:0 10px 26px rgba(15,23,42,.05);cursor:pointer}.rider-mgmt-card:hover{border-color:#93c5fd}.rider-mgmt-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.rider-mgmt-title{font-weight:1000;color:#0f172a;font-size:16px}.rider-mgmt-sub{color:#64748b;font-size:12px;font-weight:850;margin-top:4px;line-height:1.4}.rider-mgmt-count{border-radius:999px;background:#dcfce7;color:#166534;padding:7px 10px;font-size:12px;font-weight:1000;white-space:nowrap}.rider-mgmt-pending{background:#fff7ed;color:#9a3412}.rider-mgmt-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.rider-mgmt-actions button{border:0;border-radius:14px;min-height:44px;font-weight:1000;cursor:pointer}.rider-mgmt-accept{background:#16a34a;color:#fff}.rider-mgmt-decline,.rider-mgmt-delete{background:#dc2626;color:#fff}.rider-mgmt-save{background:#2563eb;color:#fff}.rider-mgmt-cancel{background:#f1f5f9;color:#0f172a}.rider-mgmt-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rider-mgmt-form label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.3px}.rider-mgmt-form input,.rider-mgmt-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:11px 12px;font:inherit;font-weight:850;background:#fff}.rider-mgmt-form textarea{min-height:84px;resize:vertical}.rider-mgmt-full{grid-column:1/-1}.rider-mgmt-note{border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;color:#475569;padding:12px;font-size:13px;font-weight:850;line-height:1.45;margin-bottom:12px}.rider-mgmt-pager{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:10px}.rider-mgmt-pager button{border:0;border-radius:999px;padding:9px 13px;background:#111827;color:#fff;font-weight:1000;cursor:pointer}.rider-mgmt-pager button:disabled{opacity:.4;cursor:not-allowed}.rider-mgmt-page-label{font-size:12px;font-weight:1000;color:#475569}.rider-mgmt-empty{border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc;text-align:center;color:#64748b;font-weight:900;padding:18px}.rider-mgmt-location{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;color:#1e3a8a;font-size:11px;font-weight:1000;line-height:1.25}.rider-mgmt-location span{display:inline-flex;align-items:center;border:1px solid #bfdbfe;background:#eff6ff;border-radius:999px;padding:5px 8px;white-space:nowrap}.rider-mgmt-location a{display:none!important}
@media(max-width:640px){.rider-management-backdrop{align-items:flex-start;padding:10px}.rider-management-card{border-radius:23px;max-height:94vh}.rider-management-head{padding:14px}.rider-management-head h3{font-size:19px}.rider-management-body{padding:13px}.rider-management-options,.rider-mgmt-form,.rider-mgmt-actions{grid-template-columns:1fr}.rider-mgmt-row{flex-direction:column}.rider-mgmt-count{width:100%;text-align:center}}

/* ==== admin-staff-access-style (extracted from admin.php inline <style>) ==== */
/* Admin Staff Access: page assignment only, no owner/admin passwords shown. */
.admin-staff-access-row{display:grid;grid-template-columns:minmax(170px,.85fr) auto minmax(160px,.75fr);gap:10px;align-items:center;border:1px solid #e5e7eb;border-radius:20px;padding:13px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.05);margin-bottom:10px}
.admin-staff-access-title strong{display:block;color:#0f172a;font-size:14px}.admin-staff-access-title small,.admin-staff-access-summary small{display:block;color:#64748b;font-size:11px;font-weight:850;line-height:1.35;margin-top:3px}.admin-staff-access-assign{border:0;min-height:44px;border-radius:15px;padding:0 14px;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);font-weight:1000;cursor:pointer;white-space:nowrap;box-shadow:0 12px 24px rgba(22,163,74,.18)}.admin-staff-access-summary{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:9px 10px}.admin-staff-access-panel{display:none;grid-column:1/-1;border:1px solid #dbeafe;border-radius:18px;padding:12px;background:linear-gradient(135deg,#ffffff,#eff6ff)}.admin-staff-access-panel.open{display:block}.admin-staff-access-panel-title{margin-bottom:10px}.admin-staff-access-panel-title strong{display:block;color:#0f172a}.admin-staff-access-panel-title small{display:block;color:#64748b;font-weight:850;margin-top:2px}.admin-staff-access-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-staff-access-check{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid #e5e7eb;border-radius:15px;background:#fff;padding:10px;box-shadow:0 8px 18px rgba(15,23,42,.04)}.admin-staff-access-check input{width:18px;height:18px;margin-top:2px}.admin-staff-access-check strong{display:block;color:#0f172a;font-size:13px}.admin-staff-access-check small{display:block;color:#64748b;font-size:11px;font-weight:850;margin-top:2px}.admin-staff-password-status{display:inline-flex!important;width:max-content;border-radius:999px;padding:4px 8px;font-size:11px!important;margin-top:6px!important}.admin-staff-password-status.set{background:#dcfce7;color:#166534}.admin-staff-password-status.notset{background:#fee2e2;color:#991b1b}.admin-staff-access-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.admin-staff-empty{border:1px dashed #cbd5e1;border-radius:14px;padding:12px;color:#64748b;font-weight:900;background:#fff}@media(max-width:900px){.admin-staff-access-row{grid-template-columns:1fr}.admin-staff-access-assign{width:100%}.admin-staff-access-list{grid-template-columns:1fr}}

/* ==== admin-staff-members-section-style (extracted from admin.php inline <style>) ==== */
/* Admin Staff Members: combined New Staff + Saved Staff section */
#adminStaffAccessModal.open,
#adminStaffMembersModal.open,
#adminSupplierModal.open{align-items:center!important;justify-content:center!important;overflow:hidden!important;padding:16px!important}
#adminStaffAccessModal .floating-modal-card,
#adminStaffMembersModal .floating-modal-card,
#adminSupplierModal .floating-modal-card{width:min(1080px,100%)!important;max-width:1080px!important;max-height:92vh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:0!important}
#adminStaffAccessModal .floating-modal-head,
#adminStaffMembersModal .floating-modal-head,
#adminSupplierModal .floating-modal-head{flex:0 0 auto!important;position:sticky!important;top:0!important;z-index:8!important}
#adminStaffAccessModal .floating-modal-body,
#adminStaffMembersModal .floating-modal-body,
#adminSupplierModal .floating-modal-body{flex:1 1 auto!important;min-height:0!important;max-height:calc(92vh - 76px)!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:34px!important}
#adminStaffAccessModal .admin-staff-access-list-wrap{display:grid!important;gap:10px!important;padding-right:6px!important;padding-bottom:14px!important}
#adminStaffAccessModal .admin-staff-access-panel.open{max-height:none!important;overflow:visible!important}
#adminStaffAccessModal .admin-staff-access-list{max-height:52vh!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;padding-right:4px!important}
.admin-staff-members-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.admin-staff-members-tab{border:1px solid #dbeafe;border-radius:20px;min-height:70px;padding:12px 14px;text-align:left;background:#fff;color:#0f172a;font-weight:1000;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.06)}.admin-staff-members-tab small{display:block;margin-top:4px;color:#64748b;font-size:12px;font-weight:850;line-height:1.35}.admin-staff-members-tab.active{color:#fff;border-color:#2563eb;background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed)}.admin-staff-members-tab.active small{color:rgba(255,255,255,.86)}.admin-staff-members-panel{display:none}.admin-staff-members-panel.active{display:block}.admin-staff-box{border:1px solid #e5e7eb;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06);padding:14px}.admin-staff-panel-title{margin:0 0 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.admin-staff-panel-title strong{display:block;font-size:18px;color:#0f172a}.admin-staff-panel-title small{display:block;margin-top:3px;color:#64748b;font-weight:850;line-height:1.35}.admin-staff-list{display:grid;gap:10px;max-height:calc(92vh - 260px);overflow:auto;padding-right:4px}.admin-staff-card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 24px rgba(15,23,42,.05)}.admin-staff-head{width:100%;border:0;background:linear-gradient(135deg,#f8fafc,#eef2ff);padding:13px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;text-align:left;cursor:pointer}.admin-staff-head strong{display:block;color:#0f172a}.admin-staff-head small{display:block;color:#64748b;margin-top:3px;font-weight:800}.admin-staff-salary-pill{border-radius:999px;background:#16a34a;color:#fff;padding:7px 10px;font-size:12px;font-weight:1000;white-space:nowrap}.admin-staff-body{display:none;border-top:1px solid #e5e7eb;padding:13px}.admin-staff-card.open .admin-staff-body{display:block}.admin-staff-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}.admin-staff-box-mini{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px;font-size:12px;font-weight:850;line-height:1.4}.admin-staff-save-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:11px}.admin-staff-page-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;margin-top:10px;border:1px solid #dbeafe;background:#eff6ff;border-radius:16px;padding:11px}.admin-staff-page-summary{color:#1e40af;font-size:12px;font-weight:900;line-height:1.35}.admin-staff-page-summary strong{display:block;color:#0f172a;font-size:13px;margin-bottom:2px}.admin-staff-page-panel{display:none;margin-top:10px;border:1px solid #dbeafe;border-radius:16px;padding:11px;background:linear-gradient(135deg,#fff,#eff6ff)}.admin-staff-page-panel.open{display:block}.admin-staff-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-staff-page-check{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;border:1px solid #e5e7eb;border-radius:15px;padding:10px;background:#fff;color:#0f172a;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.04)}.admin-staff-page-check input{width:18px;height:18px}.admin-staff-page-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.admin-staff-delete-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:10px}.admin-staff-delete-note{color:#991b1b;font-size:12px;font-weight:850;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;padding:10px}.admin-staff-empty{border:1px dashed #cbd5e1;border-radius:18px;padding:16px;text-align:center;color:#64748b;font-weight:850;background:#f8fafc;margin-bottom:12px}
@media(max-width:700px){#adminStaffAccessModal.open,#adminStaffMembersModal.open,#adminSupplierModal.open{align-items:flex-start!important;padding:8px!important}#adminStaffAccessModal .floating-modal-card,#adminStaffMembersModal .floating-modal-card,#adminSupplierModal .floating-modal-card{max-height:94vh!important;border-radius:22px!important}#adminStaffAccessModal .floating-modal-body,#adminStaffMembersModal .floating-modal-body,#adminSupplierModal .floating-modal-body{max-height:calc(94vh - 58px)!important;padding:12px 12px 28px!important}.admin-staff-members-tabs,.admin-staff-detail-grid,.admin-staff-save-row,.admin-staff-page-row,.admin-staff-page-grid,.admin-staff-delete-row{grid-template-columns:1fr}.admin-staff-members-tab{text-align:center}.admin-staff-head{display:grid;grid-template-columns:1fr}.admin-staff-salary-pill{width:max-content}.admin-staff-list{max-height:calc(94vh - 250px)}}

/* ==== admin-staff-member-floating-card-fix (extracted from admin.php inline <style>) ==== */
/* Staff member details should open as a clean floating card, not expand inline. */
.admin-staff-card.open .admin-staff-body{
    display:block!important;
    position:fixed!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:min(880px,calc(100vw - 24px))!important;
    max-height:min(88vh,760px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:120000!important;
    border:1px solid rgba(219,234,254,.95)!important;
    border-radius:28px!important;
    background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
    box-shadow:0 34px 110px rgba(15,23,42,.38)!important;
    padding:16px!important;
    -webkit-overflow-scrolling:touch!important;
}
.admin-staff-floating-title{
    position:sticky;top:-16px;z-index:2;margin:-16px -16px 14px;padding:16px 18px;
    display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
    color:#fff;background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed);
    border-radius:28px 28px 0 0;
}
.admin-staff-floating-title strong{display:block;font-size:20px;color:#fff}.admin-staff-floating-title small{display:block;margin-top:4px;color:rgba(255,255,255,.86);font-weight:850}.admin-staff-floating-title .ghost-btn{background:rgba(255,255,255,.16)!important;color:#fff!important;border-color:rgba(255,255,255,.35)!important}
.admin-staff-card.open .admin-staff-head{box-shadow:0 0 0 3px rgba(37,99,235,.16) inset!important}
@media(max-width:700px){
    .admin-staff-card.open .admin-staff-body{width:calc(100vw - 16px)!important;max-height:92dvh!important;top:50%!important;border-radius:22px!important;padding:12px!important}
    .admin-staff-floating-title{margin:-12px -12px 12px;padding:13px 14px;border-radius:22px 22px 0 0;align-items:center}.admin-staff-floating-title strong{font-size:17px}
}

/* ==== admin-navhead-tiles-v1 (extracted from admin.php inline <style>) ==== */
/* ===== NAVHEAD: burger drawer with index.php page list (all screen sizes) ===== */
.navhead-hidden-status{display:none !important;}
.bill-navhead{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 0 12px !important;
    min-height:0 !important;
}
.navhead-burger{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:46px;height:46px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    cursor:pointer;
    padding:0 12px;
    flex-shrink:0;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
    transition:box-shadow .15s ease, transform .15s ease;
}
.navhead-burger:hover{box-shadow:0 10px 26px rgba(0,0,0,.10);transform:translateY(-1px);}
.navhead-burger span{display:block;height:2.5px;width:100%;border-radius:3px;background:#0f172a;}
.navhead-page-title{
    font-size:16px;
    font-weight:1000;
    color:#0f172a;
    letter-spacing:-.02em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0;
}
.navhead-lead{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}
@media(max-width:640px){
    .navhead-page-title{font-size:14px;}
    .navhead-lead{gap:9px;}
}
/* create-posts.php puts the burger on a dark gradient hero, so the dark
   default would be unreadable there. */
.cp-hero .navhead-page-title{color:#fff;}
@media print{.navhead-page-title,.navhead-lead{display:none !important;}}

/* Drawer: identical behaviour on desktop and mobile */
.navhead-links{
    position:fixed;
    top:0;left:0;bottom:0;
    width:min(300px,86vw);
    background:#fff;
    border-right:1px solid var(--line);
    box-shadow:0 0 60px rgba(0,0,0,.22);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:4px;
    padding:18px 12px;
    overflow-y:auto;
    z-index:99998;
    transform:translateX(-102%);
    transition:transform .22s ease;
}
.navhead-links.open{transform:translateX(0);}
.navhead-link{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border-radius:12px;
    text-decoration:none;
    color:#334155;
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
    transition:background .15s ease,color .15s ease;
}
.navhead-link:hover{background:#f1f5f9;color:#0f172a;}
.navhead-link.active{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;}
.navhead-ico{font-size:17px;line-height:1;}
.navhead-backdrop{
    position:fixed;inset:0;
    background:rgba(15,23,42,.5);
    z-index:99997;
    opacity:0;pointer-events:none;
    transition:opacity .22s ease;
}
.navhead-backdrop.open{opacity:1;pointer-events:auto;}


/* Burger left, page title next to it, Restaurant Off pushed to the right */
.header-simple .bar.bill-navhead{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    /* keep the burger clear of the screen edge at every width */
    padding-left:20px !important;
    padding-right:20px !important;
}
.navhead-burger{flex-shrink:0 !important;}
.header-simple .bar.bill-navhead .header-actions{
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
    flex-shrink:0 !important;
}
@media (max-width:520px){
}

/* The old mobile header rules reserved a 76px column for the Logout button and
   stacked the Restaurant Off icon underneath it. Logout is gone, so reset that
   and keep the icon on a single row, hard right. */
@media (max-width:640px){
    .header-simple .bar.bill-navhead{
        align-items:center !important;
    }
    .header-simple .bar.bill-navhead .header-actions{
        flex-direction:row !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:0 !important;
        gap:8px !important;
    }
    .header-simple .bar.bill-navhead .restaurant-off-icon-btn{
        order:0 !important;
        margin:0 !important;
        align-self:center !important;
    }
}
@media (max-width:380px){
    .header-simple .bar.bill-navhead .header-actions{
        flex-basis:auto !important;
        width:auto !important;
        min-width:0 !important;
    }
}

/* ===== Action tiles: clean, evenly aligned rows =====
   There are 9 tiles; a 4-column grid leaves a ragged 1-tile last row, so use 3.
   The mobile 2-up rule (max-width:640px) is left as-is. */
@media (min-width:641px){
    .admin-action-strip{
        display:grid !important;
        grid-template-columns:repeat(3, minmax(0,1fr)) !important;
        gap:12px !important;
        margin:0 0 18px !important;
        align-items:stretch !important;
    }
    .admin-action-tile{
        min-height:0 !important;
        padding:14px 14px !important;
        border-radius:16px !important;
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:11px !important;
        text-align:left !important;
        font-size:14px !important;
        line-height:1.2 !important;
        box-shadow:none !important;
        border:1px solid #e5e7eb !important;
        background:#fff !important;
        transition:box-shadow .15s ease, transform .15s ease, border-color .15s ease !important;
    }
    .admin-action-tile:hover{
        box-shadow:0 10px 26px rgba(15,23,42,.10) !important;
        transform:translateY(-2px) !important;
        border-color:#dbe4f0 !important;
    }
    /* Icon chip: fixed size so every label starts on the same x-axis */
    .admin-action-tile span{
        width:34px !important;
        height:34px !important;
        min-width:34px !important;
        flex:0 0 34px !important;
        border-radius:11px !important;
        margin:0 !important;
        font-size:16px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }
}

/* ===== Full-width page + 4 menu item cards per row ===== */
@media (min-width:981px){
    /* Break out of the narrow centered .container so the page uses full width.
       The header keeps the 16px padding set above so the burger clears the edge. */
    .container.admin-layout,
    .header-simple .container.bar{
        max-width:100% !important;
        width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    .container.admin-layout{
        padding-left:20px !important;
        padding-right:20px !important;
    }

    .item-list{
        display:grid !important;
        grid-template-columns:repeat(4, minmax(0,1fr)) !important;
        gap:16px !important;
        align-items:start !important;
    }

    /* Card becomes a vertical stack: image on top, details beneath.
       These cards carry real controls (Edit / image buttons / availability),
       so the body is roomier than the customer-page menu card. */
    .item-card{
        padding:0 !important;
        border-radius:14px !important;
        border:1px solid #ececec !important;
        background:#fff !important;
        overflow:hidden !important;
        box-shadow:none !important;
        position:relative !important;
        transition:box-shadow .16s ease, transform .16s ease, border-color .16s ease !important;
    }
    .item-card:not(.open):hover{
        box-shadow:0 10px 30px rgba(15,23,42,.09) !important;
        transform:translateY(-2px) !important;
        border-color:#e2e2e2 !important;
    }

    .item-head-toggle{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:0 !important;
    }
    .item-main{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:0 !important;
    }

    /* Image panel spans the full card width */
    .item-image-stack{
        width:100% !important;
        min-width:0 !important;
        gap:0 !important;
    }
    .item-image-stack > .food-admin-image-frame{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:170px !important;
        border:0 !important;
        border-bottom:1px solid #f0f0f0 !important;
        border-radius:0 !important;
        background:linear-gradient(180deg,#fbfbfb,#f6f6f6) !important;
        padding:12px !important;
    }
    .food-admin-image-frame > .food-admin-image-inner{
        background:transparent !important;
    }

    .item-info-side{
        padding:12px !important;
        display:flex !important;
        flex-direction:column !important;
        gap:8px !important;
    }
    .item-name{
        font-size:14px !important;
        font-weight:800 !important;
        line-height:1.35 !important;
        margin:0 !important;
    }
    .item-desc{
        font-size:12px !important;
        line-height:1.45 !important;
        margin:0 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
    }
    .stock-pill{
        align-self:flex-start !important;
        margin:0 !important;
    }

    /* Action buttons wrap onto their own lines instead of overflowing */
    .item-side-actions{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:6px !important;
        margin:0 !important;
    }
    .item-side-actions .image-under-btn{
        flex:1 1 auto !important;
        min-width:0 !important;
        font-size:11.5px !important;
        padding:7px 8px !important;
        white-space:nowrap !important;
    }
    .availability-select-box{margin:0 !important;}
    .availability-inline-select{width:100% !important;}
    .admin-edit-mini{margin:0 !important;}

    /* Expand caret pinned to the card corner */
    .caret{
        position:absolute !important;
        top:10px !important;
        right:10px !important;
        width:26px !important;
        height:26px !important;
        min-width:26px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:50% !important;
        background:rgba(255,255,255,.94) !important;
        border:1px solid #ececec !important;
        font-size:16px !important;
        z-index:2 !important;
    }

    .item-body{padding:0 12px 12px !important;}
}

/* 3 across on mid-size screens, where 4 gets cramped */
@media (min-width:981px) and (max-width:1250px){
    .item-list{
        grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    }
}

/* ===== FLOATING ITEM CARD =====
   The body stays inside .item-card in the DOM (toggleItemCard and the per-item
   handlers walk the card), and is only lifted into a centered overlay with CSS
   when the card is open. */
.item-edit-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.58);
    backdrop-filter:blur(8px);
    z-index:270;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
}
body.item-edit-open .item-edit-backdrop{
    opacity:1;
    pointer-events:auto;
}
body.item-edit-open{overflow:hidden;}

/* .item-card sets overflow:hidden, which would clip a position:fixed child */
.item-card.open{overflow:visible !important;}

/* An open card must never carry a transform/filter: either one makes the
   position:fixed body resolve against the CARD instead of the viewport, so the
   overlay jumps away from the cursor, hover is lost, and it flickers in a loop. */
.item-card.open,
.item-card.open:hover{
    transform:none !important;
    transition:none !important;
    filter:none !important;
    perspective:none !important;
    box-shadow:none !important;
}

.item-card.open .item-body{
    display:block;
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:min(680px, calc(100vw - 28px));
    max-height:88vh;
    overflow-y:auto;
    overflow-x:hidden;
    z-index:280;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:26px;
    box-shadow:0 30px 90px rgba(15,23,42,.42);
    padding:16px !important;
}

/* Sticky header inside the floating card */
.item-float-head{
    display:none;
    position:sticky;
    top:-16px;
    z-index:2;
    margin:-16px -16px 14px;
    padding:14px 16px;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:#fff;
    background:linear-gradient(135deg,#111827,#2563eb,#7c3aed);
    border-radius:26px 26px 0 0;
}
.item-card.open .item-float-head{display:flex;}
.item-float-head strong{
    font-size:16px;
    line-height:1.25;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.item-float-close{
    width:38px;
    height:38px;
    min-width:38px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    color:#fff;
    font-size:20px;
    font-weight:1000;
    cursor:pointer;
    display:grid;
    place-items:center;
}
.item-float-close:hover{background:rgba(255,255,255,.3);}

@media (max-width:640px){
    .item-card.open .item-body{
        width:calc(100vw - 16px);
        max-height:92vh;
        border-radius:22px;
        padding:12px !important;
    }
    .item-float-head{
        top:-12px;
        margin:-12px -12px 12px;
        padding:12px;
        border-radius:22px 22px 0 0;
    }
    .item-float-head strong{font-size:14px;}
}
