/* Dashboard KPI icon ownership moved from shared layers. */
.kpi-icon{position:relative; z-index:1;
            inline-size:54px; block-size:54px; flex:0 0 54px;
            display:grid; place-items:center;
            border-radius:17px;
            color:var(--kpi-color);
            background:var(--kpi-soft);
            border:1px solid color-mix(in srgb, var(--kpi-color) 18%, transparent);
            font-size:24px;}
.kpi-icon[data-ui-icon]{display:grid; place-items:center;}
.kpi-icon[data-ui-icon]{--ui-icon-size: 24px;}
.warehouse-app .kpi-icon{    color:var(--kpi-color); background:var(--kpi-soft); }
.warehouse-app .kpi-icon{width:38px;height:38px;flex-basis:38px;border-radius:12px;}
.warehouse-app .kpi-icon .ui-icon{width:20px;height:20px;}
.warehouse-app .kpi-icon{box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 8%,transparent),0 10px 24px -20px currentColor}
/* Warehouse EXP Date — Dashboard module visual owner.
   v21.26 root-first ownership: module-specific selectors live here once. */
/* Migrated from app/app.css; source-order preserved inside this owner. */
.kpi-card{background: var(--card-bg);
            border: 1px solid var(--border);
            
            box-shadow: var(--shadow-card);}
.kpi-card h2{font-family: Arial,Tahoma,sans-serif; font-variant-numeric: tabular-nums;}
.dashboard-shell{display: grid; gap: 18px;}
.dashboard-hero{position: relative;
            overflow: hidden;
            min-height: 150px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 20px;
            padding: 24px 26px;}
.dashboard-hero-copy h2{margin:0;font-weight:900;}
.dashboard-hero-copy p{margin:7px 0 0;font-size:12px;font-weight:700;}
.dashboard-health-ring{inline-size: 106px;
            block-size: 106px;
            flex: 0 0 106px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            background: conic-gradient(var(--success) var(--health-angle, 0deg), rgba(148,163,184,.18) 0deg);
            box-shadow: 0 18px 42px -26px rgba(5,150,105,.7);}
.dashboard-health-ring::before{content: "";
            inline-size: 78px;
            block-size: 78px;
            border-radius: 50%;
            background: var(--card-bg);
            box-shadow: inset 0 0 0 1px var(--border);
            grid-area: 1/1;}
.dashboard-health-value{position: relative; z-index: 1; grid-area: 1/1; text-align: center; direction: ltr;}
.dashboard-health-value strong{display:block; font: 900 23px/1 Arial,Tahoma,sans-serif; color: var(--success);}
.dashboard-health-value span{display:block; margin-top:4px; color:var(--text-muted); font-size:9px; font-weight:900;}
.kpi-grid{grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 0;}
.kpi-card{position: relative;
            overflow: hidden;
            min-height: 142px;
            padding: 20px;
            display: flex;
            align-items: center;
            gap: 16px;
            border-radius: 22px;
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.kpi-card:hover{transform: translateY(-3px); box-shadow: 0 28px 54px -38px rgba(15,23,42,.58);}
.kpi-card::after{content:"";
            position:absolute;
            inset-inline-end:-36px;
            inset-block-start:-42px;
            inline-size:110px;
            block-size:110px;
            border-radius:50%;
            background:var(--kpi-soft, rgba(194,24,117,.08));}
.kpi-card.blue{--kpi-color:#c21875; --kpi-soft:rgba(194,24,117,.10);}
.kpi-card.red{--kpi-color:#dc2626; --kpi-soft:rgba(220,38,38,.09);}
.kpi-card.purple{--kpi-color:#9d2c7d; --kpi-soft:rgba(157,44,125,.09);}
.kpi-content{position:relative; z-index:1; min-width:0;}
.kpi-label{display:block; color:var(--text-muted);  font-weight:900;}
.kpi-value{margin:7px 0 4px; color:var(--kpi-color); font:900 31px/1 Arial,Tahoma,sans-serif; font-variant-numeric:tabular-nums; direction:ltr;}
html[dir="rtl"] .kpi-value{text-align:right;}
.kpi-note{color:var(--text-muted);  font-weight:700;}
.dashboard-status-grid{display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:12px;}
.dashboard-status-card{padding:14px 16px;
            border:1px solid var(--border);
            border-radius:18px;
            background:var(--card-bg);
            box-shadow:var(--shadow-soft);}
.dashboard-status-name{font-size:11px; font-weight:900; color:var(--primary);}
.dashboard-status-number{font:900 16px/1 Arial,Tahoma,sans-serif; direction:ltr;}
.dashboard-status-bar{height:7px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.14);}
.dashboard-status-fill{height:100%; width:0%; border-radius:999px; transition:width .35s ease;}
.dashboard-status-card.safe .dashboard-status-number{color:var(--success);}
.dashboard-status-card.safe .dashboard-status-fill{background:linear-gradient(90deg,#059669,#34d399);}
.dashboard-status-card.warning .dashboard-status-number{color:var(--warning);}
.dashboard-status-card.warning .dashboard-status-fill{background:linear-gradient(90deg,#d97706,#fbbf24);}
.dashboard-status-card.danger .dashboard-status-number{color:var(--danger);}
.dashboard-status-card.danger .dashboard-status-fill{background:linear-gradient(90deg,#dc2626,#fb7185);}
.dashboard-chart-card{height: 390px; padding: 22px 24px; border-radius: 22px;}
.dashboard-chart-card .card-title{margin-bottom: 16px;}
.dashboard-chart-title-wrap{display:flex; align-items:center; gap:10px;}
.dashboard-chart-icon{inline-size:34px; block-size:34px; border-radius:11px; display:grid; place-items:center; background:rgba(194,24,117,.09); color:var(--secondary);}
.dashboard-pro{gap: 16px;}
.dashboard-topbar{display:flex; justify-content:space-between; align-items:flex-end; gap:20px;
            padding:4px 4px 2px;}
.dashboard-eyebrow,.dashboard-attention-kicker{display:block; color:var(--secondary); font:900 9px/1.2 Arial,Tahoma,sans-serif;
            letter-spacing:1.4px; direction:ltr; text-align:inherit;}
.dashboard-title-block h2{margin:6px 0 3px; color:var(--primary); font-weight:900;}
.dashboard-title-block p{margin:0; color:var(--text-muted);  font-weight:700;}
.dashboard-meta{display:flex; align-items:center; gap:10px;}
.dashboard-live-pill,.dashboard-updated{min-height:42px; display:flex; align-items:center; gap:8px; padding:9px 13px;
            border:1px solid var(--border); border-radius:14px; background:var(--card-bg); box-shadow:var(--shadow-soft);
            color:var(--text-muted); font-size:10px; font-weight:800;}
.dashboard-updated{flex-direction:column; align-items:flex-start; gap:1px; direction:ltr;}
.dashboard-updated strong{color:var(--primary); font:900 12px/1.2 Arial,Tahoma,sans-serif;}
.dashboard-hero-pro{min-height:190px; padding:28px 30px;}
.dashboard-mini-label{display:inline-flex; padding:5px 9px; border-radius:999px; color:var(--secondary); background:rgba(194,24,117,.08); font-size:9px; font-weight:900;}
.dashboard-hero-pro .dashboard-hero-copy h2{margin-top:10px;}
.dashboard-hero-pro .dashboard-hero-copy p{max-width:620px;}
.dashboard-hero-stats{display:flex; gap:10px; margin-top:18px; flex-wrap:wrap;}
.dashboard-hero-stats > div{min-width:82px; display:flex; align-items:baseline; gap:6px; padding:8px 10px;
            border:1px solid rgba(148,163,184,.18); border-radius:12px; background:rgba(255,255,255,.48);}
body[data-theme="dark"] .dashboard-hero-stats > div{background:rgba(15,23,42,.28);}
.dashboard-hero-stats strong{color:var(--primary); font:900 14px/1 Arial,Tahoma,sans-serif; direction:ltr;}
.dashboard-hero-stats span{color:var(--text-muted); font-size:9px; font-weight:800;}
.dashboard-hero-pro .dashboard-health-ring{width:126px; height:126px; flex-basis:126px;}
.dashboard-hero-pro .dashboard-health-ring::before{width:92px; height:92px;}
.dashboard-hero-pro .dashboard-health-value strong{font-size:27px;}
.dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;}
.kpi-card.cyan{--kpi-color:#d2388d; --kpi-soft:rgba(8,145,178,.10);}
.dashboard-kpi-grid .kpi-card{min-height:132px; padding:18px;}
.dashboard-kpi-grid .kpi-icon{width:50px; height:50px; flex-basis:50px; font-size:22px;}
.dashboard-kpi-grid .kpi-value{font-size:29px;}
.dashboard-status-grid-pro .dashboard-status-card{padding:16px;}
.dashboard-status-top{display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:8px; margin-bottom:6px;}
.dashboard-status-card.safe .status-orb{background:var(--success); box-shadow:0 0 0 5px rgba(5,150,105,.08);}
.dashboard-status-card.warning .status-orb{background:var(--warning); box-shadow:0 0 0 5px rgba(217,119,6,.08);}
.dashboard-status-card.danger .status-orb{background:var(--danger); box-shadow:0 0 0 5px rgba(220,38,38,.08);}
.dashboard-status-meta{display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; color:var(--text-muted); font-size:9px; font-weight:800;}
.dashboard-status-meta span:first-child{color:var(--primary); font-family:Arial,Tahoma,sans-serif; direction:ltr;}
.dashboard-lower-grid{display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr); gap:16px; align-items:stretch;}
.dashboard-main-chart{height:400px; margin:0;}
.dashboard-card-badge{padding:5px 9px; border-radius:999px; color:var(--success); background:rgba(5,150,105,.09); font:900 9px/1 Arial,sans-serif; letter-spacing:.5px;}
.dashboard-attention-card{min-height:400px; padding:20px; border:1px solid var(--border); border-radius:22px; background:var(--card-bg);
            box-shadow:var(--shadow-card); overflow:hidden;}
.dashboard-attention-head{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px;}
.dashboard-attention-head h3{margin:5px 0 0; color:var(--primary); font-size:15px; font-weight:900;}
.dashboard-attention-count{min-width:34px; height:34px; display:grid; place-items:center; border-radius:11px; color:var(--danger); background:rgba(220,38,38,.08); font:900 12px/1 Arial,sans-serif;}
.dashboard-attention-list{display:flex; flex-direction:column; gap:9px; max-height:315px; overflow:auto; padding-inline-end:2px;}
@media (max-width:1180px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.dashboard-lower-grid{grid-template-columns:1fr;}
.dashboard-attention-card{min-height:auto;}}
@media (max-width:760px){.dashboard-topbar,.dashboard-hero-pro{align-items:flex-start; flex-direction:column;}
.dashboard-meta{width:100%; justify-content:space-between;}
.dashboard-health-ring{align-self:center;}
.dashboard-kpi-grid,.dashboard-status-grid-pro{grid-template-columns:1fr;}
.dashboard-hero-stats{width:100%;}
.dashboard-hero-stats > div{flex:1; justify-content:center;}}
@media (max-width: 900px){.kpi-grid,.dashboard-status-grid{grid-template-columns:1fr 1fr;}
.dashboard-hero{padding:20px;}}
@media (max-width: 620px){.kpi-grid,.dashboard-status-grid{grid-template-columns:1fr;}
.dashboard-hero{align-items:flex-start;}
.dashboard-health-ring{inline-size:90px; block-size:90px; flex-basis:90px;}
.dashboard-health-ring::before{inline-size:66px; block-size:66px;}}
.dashboard-chart-icon[data-ui-icon]{display:grid; place-items:center;}
.dashboard-chart-icon[data-ui-icon]{--ui-icon-size: 19px;}
@media (max-width: 760px){.dashboard-hero,.dashboard-topbar{border-radius:16px}}
/* Migrated from app/styles/architecture-system.css; source-order preserved inside this owner. */
.warehouse-app .kpi-card,.warehouse-app .dashboard-status-card,.warehouse-app .dashboard-live-pill,.warehouse-app .dashboard-updated{color:var(--text-main); background:var(--surface); border-color:var(--border); box-shadow:var(--shadow-card);}
.warehouse-app .dashboard-kpi-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr));}
.warehouse-app .kpi-card{--kpi-color:var(--brand-strong); --kpi-soft:rgba(185,21,104,.085);
  min-height:128px; padding:18px; align-items:center; gap:14px; border:1px solid var(--border); 
  background:linear-gradient(145deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 97%,var(--kpi-soft) 3%) 100%);
   isolation:isolate;}
.warehouse-app .kpi-card::before{  inset-block:16px;   border-radius:0 4px 4px 0;  z-index:0;}
html[dir="rtl"] .warehouse-app .kpi-card::before{border-radius:4px 0 0 4px;}
.warehouse-app .kpi-card::after{display:none; content:none;}
.warehouse-app .kpi-card.blue,.warehouse-app .kpi-card.cyan{--kpi-color:var(--brand-strong); --kpi-soft:rgba(185,21,104,.085);}
.warehouse-app .kpi-card.purple{--kpi-color:#875273; --kpi-soft:rgba(135,82,115,.09);}
.warehouse-app .kpi-card.red{--kpi-color:var(--danger); --kpi-soft:rgba(206,51,69,.08);}
.warehouse-app .kpi-label{color:var(--text-muted); font-size:11px; line-height:1.55;}
.warehouse-app .kpi-value{margin:6px 0 3px; color:var(--text-main); font-size:29px;}
.warehouse-app .kpi-note{color:var(--text-muted); font-size:10px; line-height:1.5;}
.warehouse-app .dashboard-title-block h2{color:var(--text-main); font-size:var(--type-section-title);}
.warehouse-app .dashboard-title-block p{font-size:11.5px; line-height:1.7;}
.warehouse-app .dashboard-eyebrow,.warehouse-app .dashboard-attention-kicker{color:var(--brand-strong);}
.warehouse-app .dashboard-hero,.warehouse-app .dashboard-hero-pro{border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.10),transparent 22%),linear-gradient(130deg,#35172c,#65113f 64%,#891251);color:#fff;}
.warehouse-app .dashboard-hero-copy h2{color:#fff;font-size:var(--type-section-title);}
.warehouse-app .dashboard-hero-copy p{color:rgba(255,255,255,.76);}
.warehouse-app .dashboard-status-name{color:var(--text-main);}
.warehouse-app .dashboard-mini-label{color:var(--brand-strong); background:var(--brand-soft);}
.warehouse-app .dashboard-hero-stats > div{background:var(--surface-elevated); border-color:var(--border);}
body[data-theme="dark"].warehouse-app .kpi-card,body[data-theme="dark"].warehouse-app .dashboard-status-card,body[data-theme="dark"].warehouse-app .dashboard-live-pill,body[data-theme="dark"].warehouse-app .dashboard-updated{color:var(--text-main); background:var(--surface); border-color:var(--border);}
body[data-theme="dark"].warehouse-app .dashboard-hero,body[data-theme="dark"].warehouse-app .dashboard-hero-pro{color:#fff;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.055),transparent 22%),linear-gradient(130deg,#281520,#43152f 64%,#591238);border-color:rgba(255,255,255,.08);}
body[data-theme="dark"].warehouse-app .dashboard-title-block h2,body[data-theme="dark"].warehouse-app .dashboard-status-name,body[data-theme="dark"].warehouse-app .kpi-value{color:var(--text-main);}
body[data-theme="dark"].warehouse-app .dashboard-hero-copy h2{color:#fff;}
body[data-theme="dark"].warehouse-app .kpi-label,body[data-theme="dark"].warehouse-app .kpi-note{color:var(--text-muted);}
@media (max-width:1200px){.warehouse-app .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){.warehouse-app .dashboard-kpi-grid .kpi-card{min-height:112px; padding:14px; border-radius:15px;}
.warehouse-app .dashboard-kpi-grid .kpi-icon{width:42px; height:42px; flex-basis:42px;}
.warehouse-app .dashboard-kpi-grid .kpi-value{font-size:25px;}}
.warehouse-app .kpi-card{border-color:var(--erp-border);box-shadow:var(--erp-shadow-1);border-radius:var(--erp-radius-lg)}
.warehouse-app .kpi-card{position:relative;overflow:hidden}
.warehouse-app .kpi-card::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--brand)}
.warehouse-app .kpi-card.blue::before{background:var(--erp-blue)}
.warehouse-app .kpi-card.cyan::before{background:var(--success)}
.warehouse-app .kpi-card.purple::before{background:var(--purple)}
.warehouse-app .kpi-card.red::before{background:var(--danger)}
.warehouse-app .dashboard-kpi-grid{gap:14px}
.warehouse-app .dashboard-hero,.warehouse-app .dashboard-hero-pro{border-radius:var(--erp-radius-xl);box-shadow:var(--erp-shadow-2)}
.warehouse-app .dashboard-status-card{border-radius:16px;border:1px solid var(--erp-border);box-shadow:none}
.warehouse-app .dashboard-status-card.safe{background:var(--erp-success-soft)}
.warehouse-app .dashboard-status-card.warning{background:var(--erp-warning-soft)}
.warehouse-app .dashboard-status-card.danger{background:var(--erp-danger-soft)}
@media (max-width:760px){.warehouse-app .dashboard-kpi-grid{grid-template-columns:1fr 1fr;gap:8px;}
.warehouse-app .kpi-card{min-height:96px;padding:12px;grid-template-columns:38px minmax(0,1fr);gap:9px;border-radius:15px;}
.warehouse-app .kpi-value{font-size:22px;}
.warehouse-app .kpi-label{font-size:9px;}
.warehouse-app .kpi-note{display:none;}
.warehouse-app .dashboard-topbar,.warehouse-app .dashboard-meta,.warehouse-app .dashboard-hero-pro{min-width:0;}
.warehouse-app .dashboard-hero-pro{grid-template-columns:1fr;padding:15px;}
.warehouse-app .dashboard-health-ring{margin:auto;}}
@media (max-width:430px){.warehouse-app .dashboard-kpi-grid{grid-template-columns:1fr;}
.warehouse-app .kpi-card{min-height:82px;}}
.warehouse-app .dashboard-status-card,.warehouse-app .kpi-card{border-color:var(--premium-line);
  box-shadow:var(--premium-shadow-sm),inset 0 1px 0 color-mix(in srgb,#fff 62%,transparent);}
.warehouse-app .kpi-card,.warehouse-app .dashboard-status-card{border-radius:20px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.warehouse-app .kpi-card:hover,.warehouse-app .dashboard-status-card:hover{transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--brand) 17%,var(--border));
  box-shadow:0 20px 42px -30px rgba(65,22,48,.45);}
.warehouse-app .dashboard-shell{gap:18px}
.warehouse-app .dashboard-topbar{padding:4px 2px 2px}
.warehouse-app .dashboard-title-block h2{letter-spacing:-.4px}
.warehouse-app .dashboard-health-ring{filter:drop-shadow(0 18px 26px rgba(20,4,12,.20))}
.warehouse-app .dashboard-live-pill{box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.warehouse-app #dashboardSection{position:relative;}
.warehouse-app #dashboardSection::before{content:"";
  position:absolute;
  z-index:0;
  width:190px;
  height:190px;
  inset-inline-end:18px;
  top:18px;
  background:url("../assets/warehouse-exp-mark.svg") center/contain no-repeat;
  opacity:.018;
  filter:grayscale(1);
  pointer-events:none;}
.warehouse-app #dashboardSection>*{position:relative;z-index:1}
@media (max-width:760px){.warehouse-app .kpi-card,.warehouse-app .dashboard-status-card{border-radius:16px}
.warehouse-app #dashboardSection::before{width:120px;height:120px;opacity:.012}}
