/*
 * RegioPartner Hub — Main Stylesheet Entry Point
 *
 * Sections:
 *  01-base.css      :root tokens (colors, shadows, radius, typography)
 *  02-layout.css    Portal shell, sidebar, topbar, nav, forms, buttons, tables, admin general
 *  03-responsive.css Mobile UX, breakpoints, sticky bars, drawer, filter toggle
 *  04-orders.css    Order status communication, order cards
 *  05-admin.css     Admin panels: suppliers, partner edit, cron
 *  06-theme.css     Premium visual upgrade: typography, warm buttons, inputs, sidebar
 *  08-products.css  B2B product cards, image hover, badges, cart stepper
 *  10-shared.css    Status colors, empty states, filter bar, partner orders, flash, misc
 *  11-statistics.css Statistics admin pages
 *  12-pages.css     Generic page layouts
 *  13-admin-orders.css Admin orders list + order detail redesign
 *  14-admin-suppliers.css Supplier detail page redesign
 *  16-product-grid.css  Sortimentszentrale admin product grid (pcc-)
 *  17-admin-products.css Admin product list redesign Phase A+B (ap-kpi-* · ap-chip-* · pq-*)
 *  18-backup.css        Datensicherung — backup status/alert styles
 */

/* Einheitliches Cache-Busting: ALLE Sub-Dateien teilen eine Version.
   Bei jeder CSS-Änderung nur diese eine Datums-Version hochzählen. */
@import url("css/01-base.css?v=20260728d");
@import url("css/components.css?v=20260728d");
@import url("css/02-layout.css?v=20260728c");
@import url("css/03-responsive.css?v=20260728c");
@import url("css/04-orders.css?v=20260728a");
@import url("css/05-admin.css?v=20260707a");
@import url("css/06-theme.css?v=20260707a");
@import url("css/08-products.css?v=20260707a");
@import url("css/10-shared.css?v=20260728b");
@import url("css/11-statistics.css?v=20260707a");
@import url("css/12-pages.css?v=20260728a");
@import url("css/13-admin-orders.css?v=20260708a");
@import url("css/14-admin-suppliers.css?v=20260707a");
@import url("css/16-product-grid.css?v=20260707a");
@import url("css/17-admin-products.css?v=20260710a");
@import url("css/18-backup.css?v=20260707a");
@import url("css/22-mrm-consolidation.css?v=20260728c");
@import url("css/customer-ui.css?v=20260715b");
@import url("css/customer-components.css?v=20260728e");
@import url("css/customer-pages.css?v=20260728l");
@import url("css/23-product-detail.css?v=20260715e");
/* 19-interactions bewusst ZULETZT — app-weite Interaktions-/Focus-Schicht (globaler :focus-visible-Ring, Transitions, reduced-motion) */
@import url("css/19-interactions.css?v=20260727a");

/* Authoritative app tables: muss nach allen Modul-Imports stehen. */
.table-wrap,
.c-table-wrap,
.data-table-wrap,
.mrm-table-wrap,
.admin-product-table-wrap,
.category-table-wrap,
.orders-table-wrap,
.ao-table-wrap,
.slr-table-wrap,
.gt-table-wrap,
.wh-tbl-wrap,
.od-items-table-wrap{width:100%;overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-xs)}
.table-card>.table-wrap,
.table-card>.c-table-wrap,
.table-card>.data-table-wrap,
.table-card>.mrm-table-wrap,
.table-card>.admin-product-table-wrap,
.table-card>.category-table-wrap,
.table-card>.orders-table-wrap,
.table-card>.ao-table-wrap,
.table-card>.slr-table-wrap,
.table-card>.gt-table-wrap,
.table-card>.wh-tbl-wrap,
.table-card>.od-items-table-wrap{border:0;border-radius:0;box-shadow:none}
.app-table,
.admin-table,
.customer-table,
.c-table,
.data-table,
.category-table,
.pcc-list-table,
.pcc-compact-table,
.slr-table,
.stat-table,
.trash-table,
.wh-tbl,
.al-tbl,
.u-table,
.wp-detail-table,
.notif-table,
.od-items-table,
.oh-items-table,
.od-ship-table,
.order-invoices-table,
.od-inv-table,
.so-items-table,
.so-table,
.sd-table,
.admin-product-table,
.orders-table{width:100%;border-collapse:collapse;font-size:13px;color:var(--ink)}
.customer-table,
.od-items-table,
.oh-items-table{font-size:14px}
.app-table th,
.admin-table th,
.customer-table th,
.c-table th,
.data-table th,
.category-table th,
.category-table thead th,
.pcc-list-table th,
.pcc-list-table thead th,
.pcc-compact-table th,
.pcc-compact-table thead th,
.slr-table th,
.stat-table th,
.trash-table th,
.wh-tbl th,
.al-tbl th,
.u-table th,
.wp-detail-table th,
.notif-table th,
.od-items-table th,
.oh-items-table th,
.od-ship-table th,
.order-invoices-table th,
.od-inv-table th,
.so-items-table th,
.so-table th,
.sd-table th,
.admin-product-table th,
.orders-table th{padding:13px 16px;text-align:left;color:var(--muted);background:var(--cream);border-bottom:1px solid var(--line);font-size:10px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;vertical-align:bottom}
.customer-table th,
.od-items-table th,
.oh-items-table th{background:var(--panel)}
.app-table td,
.admin-table td,
.customer-table td,
.c-table td,
.data-table td,
.category-table td,
.category-table tbody td,
.pcc-list-table td,
.pcc-list-table tbody td,
.pcc-compact-table td,
.pcc-compact-table tbody td,
.slr-table td,
.stat-table td,
.trash-table td,
.wh-tbl td,
.al-tbl td,
.u-table td,
.wp-detail-table td,
.notif-table td,
.od-items-table td,
.oh-items-table td,
.od-ship-table td,
.order-invoices-table td,
.od-inv-table td,
.so-items-table td,
.so-table td,
.sd-table td,
.admin-product-table td,
.orders-table td{padding:14px 16px;border-bottom:1px solid var(--soft);vertical-align:middle;transition:background var(--motion-fast) var(--ease-standard)}
.app-table tbody tr:hover td,
.admin-table tbody tr:hover td,
.customer-table tbody tr:hover td,
.c-table tbody tr:hover td,
.data-table tbody tr:hover td,
.category-table tbody tr:hover td,
.pcc-list-table tbody tr:hover td,
.pcc-compact-table tbody tr:hover td,
.slr-table tbody tr:hover td,
.stat-table tbody tr:hover td,
.trash-table tbody tr:hover td,
.wh-tbl tbody tr:hover td,
.al-tbl tbody tr:hover td,
.u-table tbody tr:hover td,
.wp-detail-table tbody tr:hover td,
.notif-table tbody tr:hover td,
.od-items-table tbody tr:hover td,
.oh-items-table tbody tr:hover td,
.od-ship-table tbody tr:hover td,
.order-invoices-table tbody tr:hover td,
.od-inv-table tbody tr:hover td,
.so-items-table tbody tr:hover td,
.so-table tbody tr:hover td,
.sd-table tbody tr:hover td,
.admin-product-table tbody tr:hover td,
.orders-table tbody tr:hover td{background:var(--cream)}
.app-table tbody tr:last-child td,
.admin-table tbody tr:last-child td,
.customer-table tbody tr:last-child td,
.c-table tbody tr:last-child td,
.data-table tbody tr:last-child td,
.category-table tbody tr:last-child td,
.pcc-list-table tbody tr:last-child td,
.pcc-compact-table tbody tr:last-child td,
.slr-table tbody tr:last-child td,
.stat-table tbody tr:last-child td,
.trash-table tbody tr:last-child td,
.wh-tbl tbody tr:last-child td,
.al-tbl tbody tr:last-child td,
.u-table tbody tr:last-child td,
.wp-detail-table tbody tr:last-child td,
.notif-table tbody tr:last-child td,
.od-items-table tbody tr:last-child td,
.oh-items-table tbody tr:last-child td,
.od-ship-table tbody tr:last-child td,
.order-invoices-table tbody tr:last-child td,
.od-inv-table tbody tr:last-child td,
.so-items-table tbody tr:last-child td,
.so-table tbody tr:last-child td,
.sd-table tbody tr:last-child td,
.admin-product-table tbody tr:last-child td,
.orders-table tbody tr:last-child td{border-bottom:0}
.app-table th.num,.app-table td.num,
.admin-table th.num,.admin-table td.num,
.customer-table th.num,.customer-table td.num,
.wh-tbl th.num,.wh-tbl td.num,
.stat-table th.num,.stat-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.app-table td.category-name-cell,
.c-table td.category-name-cell{padding-left:calc(16px + var(--category-depth-indent,0px))}
.app-table--dense,
.c-table--dense,
.pcc-compact-table{font-size:12px}
.app-table--dense th,
.c-table--dense th,
.pcc-compact-table th{padding:9px 12px;font-size:9px}
.app-table--dense td,
.c-table--dense td,
.pcc-compact-table td{padding:9px 12px}
.app-status,
.c-badge.status,
.status{display:inline-flex;align-items:center;gap:.35em;min-height:24px;padding:3px 9px;border:1px solid var(--status-neutral-line);border-radius:var(--r-pill);background:var(--status-neutral-bg);color:var(--status-neutral-fg);font-size:11px;font-weight:800;line-height:1.35;white-space:nowrap}
.app-status--success,.status.success{background:var(--status-success-bg);color:var(--status-success-fg);border-color:var(--status-success-line)}
.app-status--warning,.status.warning{background:var(--status-warning-bg);color:var(--status-warning-fg);border-color:var(--status-warning-line)}
.app-status--error,.status.error{background:var(--status-error-bg);color:var(--status-error-fg);border-color:var(--status-error-line)}
.app-status--info,.status.info{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-line)}
.app-status--neutral,.status.secondary-status{background:var(--status-neutral-bg);color:var(--status-neutral-fg);border-color:var(--status-neutral-line)}
.table-action,
.table-actions,
.c-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);text-align:right;white-space:nowrap}
.table-action form,
.table-actions form,
.c-table__actions form{margin:0}
.table-action .button,
.table-actions .button,
.c-table__actions .button{white-space:nowrap}
.table-empty,
.empty-state,
.category-empty,
.orders-empty,
.wh-tbl-empty td{padding:var(--sp-10) var(--sp-5);color:var(--muted);text-align:center}
@media (max-width:700px){
    .app-table thead,
    .admin-table thead,
    .customer-table thead,
    .c-table thead,
    .data-table thead,
    .category-table thead,
    .pcc-list-table thead,
    .pcc-compact-table thead,
    .slr-table thead,
    .stat-table thead,
    .trash-table thead,
    .wh-tbl thead,
    .al-tbl thead,
    .u-table thead,
    .wp-detail-table thead,
    .notif-table thead,
    .od-items-table thead,
    .oh-items-table thead,
    .od-ship-table thead,
    .order-invoices-table thead,
    .od-inv-table thead,
    .so-items-table thead,
    .so-table thead,
    .sd-table thead,
    .admin-product-table thead,
    .orders-table thead{display:none}
    .app-table tbody tr,
    .admin-table tbody tr,
    .customer-table tbody tr,
    .c-table tbody tr,
    .data-table tbody tr,
    .category-table tbody tr,
    .pcc-list-table tbody tr,
    .pcc-compact-table tbody tr,
    .slr-table tbody tr,
    .stat-table tbody tr,
    .trash-table tbody tr,
    .wh-tbl tbody tr,
    .al-tbl tbody tr,
    .u-table tbody tr,
    .wp-detail-table tbody tr,
    .notif-table tbody tr,
    .od-items-table tbody tr,
    .oh-items-table tbody tr,
    .od-ship-table tbody tr,
    .order-invoices-table tbody tr,
    .od-inv-table tbody tr,
    .so-items-table tbody tr,
    .so-table tbody tr,
    .sd-table tbody tr,
    .admin-product-table tbody tr,
    .orders-table tbody tr{display:block;padding:6px 0;border-bottom:1px solid var(--line)}
    .app-table td,
    .admin-table td,
    .customer-table td,
    .c-table td,
    .data-table td,
    .category-table td,
    .pcc-list-table td,
    .pcc-compact-table td,
    .slr-table td,
    .stat-table td,
    .trash-table td,
    .wh-tbl td,
    .al-tbl td,
    .u-table td,
    .wp-detail-table td,
    .notif-table td,
    .od-items-table td,
    .oh-items-table td,
    .od-ship-table td,
    .order-invoices-table td,
    .od-inv-table td,
    .so-items-table td,
    .so-table td,
    .sd-table td,
    .admin-product-table td,
    .orders-table td{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:9px 14px;border-bottom:0}
    .app-table td::before,
    .admin-table td::before,
    .customer-table td::before,
    .c-table td::before,
    .data-table td::before,
    .category-table td::before,
    .pcc-list-table td::before,
    .pcc-compact-table td::before,
    .slr-table td::before,
    .stat-table td::before,
    .trash-table td::before,
    .wh-tbl td::before,
    .al-tbl td::before,
    .u-table td::before,
    .wp-detail-table td::before,
    .notif-table td::before,
    .od-items-table td::before,
    .oh-items-table td::before,
    .od-ship-table td::before,
    .order-invoices-table td::before,
    .od-inv-table td::before,
    .so-items-table td::before,
    .so-table td::before,
    .sd-table td::before,
    .admin-product-table td::before,
    .orders-table td::before{content:attr(data-label);min-width:108px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
    .table-action,
    .table-actions,
    .c-table__actions{justify-content:flex-start;flex-wrap:wrap;text-align:left;white-space:normal}
}

/* ════════════════════════════════════════════════════════════════════════
   AUTHORITATIVE — Product detail modal (centering + full-page backdrop)

   Lives here in the cache-busted entry file (app.css?v=mtime) so it is ALWAYS
   delivered fresh and wins over any stale-cached or conflicting `.pdm-*` rules
   coming from the un-versioned @imported sub-files above.
   ID-scoped to #product-detail-modal so the gift-admin modal (which reuses the
   .pdm-* class names in 09-gifts.css) is left untouched.

   The modal element is also portaled to <body> in JS (see products/_scripts.php)
   so that NO transformed / blurred ancestor can trap its position:fixed and
   confine the backdrop to the content column.
   ──────────────────────────────────────────────────────────────────────── */
