.alert{transition:opacity .4s ease,transform .4s ease}
.alert-hide{opacity:0;transform:translateY(-8px);pointer-events:none}
:focus-visible{outline:3px solid rgba(35,190,177,.3);outline-offset:2px}
.material-workbench{display:flex;flex-direction:column;gap:18px}.form-section-card{background:rgba(255,255,255,.94);border:1px solid rgba(214,226,234,.95);border-radius:24px;padding:24px;box-shadow:var(--shadow-soft);position:relative;overflow:visible}.form-section-card>header{display:flex;align-items:flex-start;gap:14px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #e9eef2}.form-section-card>header h3{font-size:16px;margin:5px 0}.form-section-card>header p{font-size:9px;color:var(--muted);margin:0}.step-index{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#dff9f5,#f0fcfa);color:#118a80;font:800 12px Arial;border:1px solid #c9ebe6}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.smart-input,.metric-input,.cas-row{position:relative;display:flex;gap:8px}.smart-input input,.metric-input input{padding-left:63px;background:#f5f8fa;color:#52677a}.auto-chip,.metric-input span{position:absolute;left:9px;top:50%;transform:translateY(-50%);padding:5px 8px;border-radius:7px;background:#daf6f2;color:#0c8177;font:800 8px Arial}.cas-row input{flex:1}.cas-row .btn{white-space:nowrap}.field-status{display:block;color:var(--muted);font-size:8px;font-weight:400;min-height:15px}.field-status.loading{color:#866411}.field-status.success{color:#118477}.field-status.error{color:var(--danger)}.toggle-label{justify-content:flex-start}.switch-row{display:flex;align-items:center;gap:10px;height:43px}.switch-row input{position:absolute;opacity:0;width:1px}.switch-control{width:45px;height:25px;border-radius:30px;background:#bcc8d1;position:relative;transition:.2s}.switch-control:after{content:"";position:absolute;width:19px;height:19px;border-radius:50%;background:white;right:3px;top:3px;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.2s}.switch-row input:checked+.switch-control{background:var(--cyan)}.switch-row input:checked+.switch-control:after{right:23px}.switch-row b{font-size:10px}.suggestion-box{position:absolute;z-index:20;top:69px;right:0;left:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--shadow)}.suggestion-box a{display:flex;justify-content:space-between;gap:10px;padding:9px;border-radius:8px;font-size:9px}.suggestion-box a:hover{background:#edf9f7}.suggestion-box b{color:#b2671c}.duplicate-warning{background:#fff8e8;border:1px solid #edd49c;border-radius:16px;padding:14px;margin-bottom:17px}.duplicate-warning>b{display:flex;align-items:center;gap:7px;color:#9a6516;font-size:11px}.duplicate-warning>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.duplicate-warning a{display:flex;gap:12px;background:#fff;border:1px solid #eadbb8;padding:7px 10px;border-radius:9px;font-size:9px}.duplicate-warning strong{color:#b66c1c}.confirm-box{flex-direction:row;align-items:center;background:#fff6e5;padding:12px;border:1px solid #eed9ac;border-radius:12px}.confirm-box input{width:auto}.mrp-insight{display:flex;align-items:center;gap:11px;padding:13px;background:linear-gradient(135deg,#edf9ff,#f2fbf9);border:1px solid #d7e9ef;border-radius:13px}.mrp-insight>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:#187f9a}.mrp-insight b,.mrp-insight p{display:block;margin:0}.mrp-insight b{font-size:10px}.mrp-insight p{font-size:8px;color:var(--muted);line-height:1.7;margin-top:4px}.landed-cost{display:grid;grid-template-columns:1fr auto;gap:5px 18px;align-items:center;border-radius:18px;padding:20px;background:linear-gradient(120deg,#071827,#0d3440);color:#fff;box-shadow:0 15px 35px rgba(7,26,39,.15)}.landed-cost>span{font-size:10px;color:#a8c2cd}.landed-cost strong{grid-row:span 2;font:800 29px Arial;color:var(--cyan-2)}.landed-cost small{font-size:8px;color:#7896a4}.attachment-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.attachment-list>a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dde8ed;border-radius:14px;background:#fafcfd}.attachment-list>a>span{color:#168e84}.attachment-list b,.attachment-list small{display:block}.attachment-list b{font-size:10px}.attachment-list small{font-size:8px;color:var(--muted);margin-top:5px}.attachment-list strong{margin-right:auto;color:#12877d;font-size:9px}.sticky-form-actions{position:sticky;bottom:14px;z-index:15;display:flex;align-items:center;justify-content:space-between;background:rgba(7,22,36,.93);backdrop-filter:blur(16px);padding:12px 15px;border:1px solid rgba(255,255,255,.1);border-radius:17px;box-shadow:0 18px 50px rgba(5,18,30,.23);color:#c8d8e1}.sticky-form-actions>div:first-child{display:flex;align-items:center;gap:9px;font-size:9px}.smart-search select{width:180px}.inactive-row{opacity:.62;background:#f7f7f8}
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#294359 transparent}.sidebar-health{flex-shrink:0}.module-pills{display:flex;gap:7px;flex-wrap:wrap}.module-pills a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:9px;font-weight:800;color:#62758a}.module-pills a:hover{border-color:#8fd9d1;color:#118c82}.module-stats{grid-template-columns:repeat(3,1fr)}.module-section{margin-bottom:18px;scroll-margin-top:110px}.module-columns{align-items:start}.action-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.action-grid>a{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #e6edf2;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fbfc);transition:.25s}.action-grid>a:hover{transform:translateY(-3px);border-color:#bfe1dc;box-shadow:var(--shadow-soft)}.action-grid>a>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e5faf6;color:#128d83}.action-grid b,.action-grid small{display:block}.action-grid b{font-size:10px}.action-grid small{font-size:8px;color:var(--muted);margin-top:4px}.quick-create{border:1px solid #dce7ed;border-radius:15px;background:#f8fbfc;margin-bottom:16px}.quick-create>summary{display:flex;align-items:center;gap:7px;padding:12px 14px;cursor:pointer;color:#167f77;font-size:10px;font-weight:800;list-style:none}.quick-create>summary::-webkit-details-marker{display:none}.quick-create[open]>summary{border-bottom:1px solid #e5edf1}.compact-form{padding:16px}.compact-form textarea{min-height:74px}.table-sub{display:block;color:var(--muted);font-size:8px;margin-top:4px}.record-stack{display:flex;flex-direction:column;gap:8px;max-height:540px;overflow:auto}.record-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e8eef2;border-radius:13px;background:#fafcfd}.record-row b,.record-row small{display:block}.record-row small{color:var(--muted);font-size:8px;margin-top:5px}.record-row strong{font-size:10px}.row-action{position:relative}.row-action>summary{list-style:none}.row-action>summary::-webkit-details-marker{display:none}.popover-form{position:absolute;z-index:5;left:0;top:38px;width:360px;background:#fff;padding:13px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.popover-form label{min-width:110px}.process-banner{display:flex;align-items:center;justify-content:center;gap:11px;background:linear-gradient(135deg,#e9faf7,#f5fbff);border:1px solid #d5ebe8;border-radius:14px;padding:14px;margin-top:20px;color:#24766f;font-size:9px;font-weight:800}.process-banner i{width:36px;height:1px;background:#9ccfc9}.toggle-panel{margin-bottom:18px}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.case-card{border-top:3px solid #91a7ba}.case-card.severity-بالا,.case-card.severity-بحرانی{border-top-color:var(--danger)}.case-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.case-head h3{font-size:14px;margin:7px 0 0}.case-card>p{color:var(--muted);font-size:10px;line-height:1.9;min-height:58px}.case-meta{display:grid;grid-template-columns:1fr;gap:7px;background:#f7f9fb;padding:11px;border-radius:12px;font-size:9px}.finding{border-right:3px solid var(--cyan);padding:4px 10px;margin-top:12px}.finding b{font-size:9px}.finding p{font-size:9px;color:var(--muted);line-height:1.8;margin:5px 0}.case-card>.quick-create{margin:13px 0 0}.case-card>.quick-create form{padding:13px}@media(max-width:1120px){.case-grid{grid-template-columns:repeat(2,1fr)}.action-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.module-stats,.case-grid{grid-template-columns:1fr}.module-columns{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr 1fr}.popover-form{position:static;width:100%;margin-top:8px}.process-banner{align-items:flex-start;flex-direction:column}.process-banner i{width:1px;height:15px;margin-right:8px}}@media(max-width:520px){.action-grid{grid-template-columns:1fr}}
@media(max-width:1120px){.form-grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.form-section-card{padding:18px}.form-grid-3{grid-template-columns:1fr}.form-grid-3 .full{grid-column:auto}.attachment-list{grid-template-columns:1fr}.sticky-form-actions{position:static;align-items:flex-start;gap:12px;flex-direction:column}.sticky-form-actions .actions{width:100%}}@media(max-width:520px){.cas-row{flex-direction:column}.landed-cost{grid-template-columns:1fr}.landed-cost strong{grid-row:auto}.smart-search select{width:100%}}

/* Material control tower */
.material-page-head{align-items:flex-end}.material-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.material-kpis article{position:relative;display:flex;align-items:center;gap:13px;min-height:92px;padding:17px 18px;border:1px solid #dfe9ee;border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,251,252,.94));box-shadow:0 10px 28px rgba(11,38,56,.055);overflow:hidden}.material-kpis article:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;left:-28px;bottom:-46px;background:rgba(25,184,170,.08)}.material-kpis .kpi-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#e8faf7;color:#138b81}.material-kpis small,.material-kpis strong{display:block}.material-kpis small{font-size:9px;color:var(--muted);font-weight:700}.material-kpis strong{font:800 24px Arial;margin-top:7px;color:#102c3d}.material-kpis em,.material-kpis a{margin-right:auto;font:800 8px Arial;color:#168c83}.material-kpis .kpi-warning{border-color:#f0ddba}.material-kpis .kpi-warning .kpi-icon{background:#fff5dd;color:#bd7718}.material-kpis .kpi-danger{border-color:#f0ccca}.material-kpis .kpi-danger .kpi-icon{background:#fff0ef;color:#c34a43}.material-control-card{padding:0;overflow:hidden}.material-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:12px;padding:20px;background:linear-gradient(135deg,#f7fbfc,#fbfdfd);border-bottom:1px solid #e4ecef}.material-filters label{gap:7px}.material-filters label>span{font-size:8px;font-weight:800;color:#617588}.material-filters input,.material-filters select{background:#fff}.filter-actions{display:flex;gap:7px}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid #e7eef1;background:#fff}.catalog-toolbar>div{font-size:9px;color:var(--muted)}.catalog-toolbar>div b{font:800 15px Arial;color:#19384a}.export-actions{display:flex;gap:7px}.bulk-toolbar{position:relative;z-index:7;display:flex;align-items:flex-end;gap:12px;padding:12px 18px;background:linear-gradient(100deg,#092434,#0c3a42);color:#fff}.bulk-toolbar[hidden]{display:none}.bulk-toolbar>div{margin-left:auto;font-size:9px}.bulk-toolbar>div b{font:800 17px Arial;color:#4ee0d0}.bulk-toolbar label{color:#bdd0d8;font-size:8px;gap:4px}.bulk-toolbar select{min-width:175px;height:35px;background:#123c49;border-color:#315966;color:#fff;padding-block:5px}.materials-table-wrap{overflow:auto;max-height:calc(100vh - 355px);min-height:280px;scrollbar-width:thin}.materials-table{min-width:1100px;border-collapse:separate;border-spacing:0}.materials-table thead{position:sticky;top:0;z-index:6}.materials-table th{background:#f3f7f9;border-bottom:1px solid #d9e4e9;box-shadow:0 1px 0 rgba(255,255,255,.8);white-space:nowrap}.materials-table td{transition:background .2s;border-bottom-color:#edf2f4}.materials-table tr:hover td{background:#f5fbfb}.materials-table tr.inventory-low td:first-child{box-shadow:inset -3px 0 #e6a129}.materials-table tr.inventory-zero td:first-child{box-shadow:inset -3px 0 #dc5b54}.materials-table tr.inventory-low td{background:rgba(255,249,236,.42)}.materials-table tr.inventory-zero td{background:rgba(255,242,241,.47)}.select-cell{width:42px;text-align:center}.select-cell input{width:16px;height:16px;accent-color:#13a99c}.sort-head{display:inline-flex;align-items:center;gap:7px;color:#496071;font-size:9px;font-weight:800}.sort-head i{font-style:normal;color:#9aabb5}.sort-head.active{color:#118c82}.sort-head.active i{color:#12a496}.material-name{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0;border:0;background:transparent;text-align:right;cursor:pointer;color:#102b3c}.material-name b{font-size:10px}.material-name small{font:400 8px Arial;color:#718494}.material-name:hover b{color:#118c82}.category-chip{display:inline-block;max-width:190px;padding:5px 8px;border-radius:8px;background:#edf4f7;color:#455f70;font-size:8px;font-weight:800}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c5ccd1;margin-left:5px}.status-dot.online{background:#21b68d;box-shadow:0 0 0 3px rgba(33,182,141,.12)}.stock-value{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:9px;font-size:8px}.stock-value.safe{background:#eaf9f3;color:#148163}.stock-value.warning{background:#fff4da;color:#a66a13}.stock-value.danger{background:#ffebe9;color:#bd413b}.stock-value b{font:800 11px Arial}.price-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.price-cell>b{font:800 11px Arial}.price-cell>small{font-size:7px;color:var(--muted)}.price-alert{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:7px;background:#ffebe9;color:#bd413b;font:800 8px Arial}.price-neutral{color:#6b7f8e;font:700 8px Arial}.row-actions{display:flex;gap:5px;white-space:nowrap}.icon-action{display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid #dbe6ea;border-radius:9px;background:#fff;color:#526d7d;cursor:pointer;transition:.2s}.icon-action:hover{transform:translateY(-2px);border-color:#8ed6cf;color:#10887f;box-shadow:0 6px 13px rgba(16,136,127,.1)}.icon-action.danger-action:hover{border-color:#e9aaa6;color:#c2453e;background:#fff7f6}.catalog-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:14px 20px;background:#fafcfd;border-top:1px solid #e3ebef;color:#667b8a;font-size:8px}.catalog-pagination form{justify-self:end}.catalog-pagination label{display:flex;align-items:center;gap:8px}.catalog-pagination select{height:32px;width:65px;padding-block:4px}.page-links{display:flex;align-items:center;gap:5px}.page-links a{display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border:1px solid #dce6ea;border-radius:8px;background:#fff;color:#536b79;font:700 9px Arial}.page-links a.current{border-color:#16a79b;background:#16a79b;color:#fff}
.drawer-scrim{position:fixed;inset:0;z-index:90;background:rgba(5,19,31,.38);backdrop-filter:blur(3px)}.material-drawer{position:fixed;z-index:91;top:0;bottom:0;left:0;width:min(480px,94vw);padding:23px;background:#f8fbfc;box-shadow:25px 0 70px rgba(3,20,33,.2);transform:translateX(-105%);transition:transform .3s ease;overflow:auto}.material-drawer.open{transform:translateX(0)}.material-drawer>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #dde8ec}.material-drawer>header h3{margin:5px 0 0;font-size:17px}.material-drawer>header .icon-btn{font-size:25px}.drawer-loading{display:grid;place-items:center;min-height:280px;color:#708592;font-size:10px}.material-hero{display:flex;align-items:center;gap:14px;padding:20px 0}.material-hero>span{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#0b3340,#107c78);color:#fff;font-size:17px;font-weight:900}.material-hero>div{flex:1}.material-hero small,.material-hero h4,.material-hero p{display:block;margin:0}.material-hero small{font:700 9px Arial;color:#14877e}.material-hero h4{font-size:15px;margin-top:5px}.material-hero p{font:400 9px Arial;color:#718490;margin-top:5px}.material-hero>b{padding:6px 9px;border-radius:9px;background:#e7f8f2;color:#158264;font-size:8px}.drawer-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.drawer-metrics article{padding:13px;border:1px solid #e0e9ed;border-radius:13px;background:#fff}.drawer-metrics small,.drawer-metrics strong{display:block}.drawer-metrics small{font-size:7px;color:#748895}.drawer-metrics strong{font:800 11px Arial;margin-top:7px;color:#173647}.material-drawer section{margin-top:20px;padding:17px;border:1px solid #e0e9ed;border-radius:16px;background:#fff}.material-drawer section h5{font-size:10px;margin:0 0 14px}.price-chart{height:115px;display:flex;align-items:flex-end;gap:6px;padding:8px 5px;border-bottom:1px solid #d9e5e9;background:linear-gradient(180deg,#f5fbfa,#fff)}.price-chart i{flex:1;min-width:8px;max-width:28px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#33d0c0,#138a82);box-shadow:0 4px 10px rgba(20,151,140,.14)}.drawer-empty{color:#7b8e99;font-size:8px;line-height:1.8}.supplier-stack{display:flex;flex-direction:column;gap:8px}.supplier-stack>div{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:#f4f8fa}.supplier-stack b{font-size:8px}.supplier-stack span{color:#6d818e;font-size:7px}.drawer-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.drawer-details>div{padding:12px;border-radius:12px;background:#edf4f6}.drawer-details dt{color:#728692;font-size:7px}.drawer-details dd{margin:6px 0 0;font-size:9px;font-weight:800}.drawer-actions{display:flex;gap:8px}.drawer-actions .btn{flex:1}
.import-layout{grid-template-columns:1.15fr .85fr;margin-bottom:18px}.upload-zone{display:flex!important;align-items:center;justify-content:center;min-height:185px;padding:25px;border:2px dashed #9ccfc9;border-radius:18px;background:linear-gradient(145deg,#f0fbf9,#f9fcfd);color:#197f77;cursor:pointer;text-align:center}.upload-zone b{font-size:12px;color:#193949}.upload-zone span{font-size:8px;color:#718591}.upload-zone input{width:auto;padding:6px;border:0;background:transparent}.import-rules{display:flex;flex-wrap:wrap;gap:7px}.import-rules p{width:100%;margin:0}.import-rules span{padding:6px 9px;border-radius:999px;background:#edf5f7;color:#5b7280;font-size:8px}.reference-groups{display:grid;grid-template-columns:1fr;gap:14px}.reference-groups>div{display:flex;flex-wrap:wrap;gap:6px}.reference-groups b{width:100%;font-size:9px;margin-bottom:3px}.reference-groups span{padding:6px 8px;border:1px solid #dfe8ec;border-radius:8px;background:#f9fbfc;font-size:8px}.reference-groups small{color:#159083;font:700 7px Arial}.import-errors{margin-bottom:18px;border:1px solid #edc2bd;border-radius:18px;background:#fff7f6;overflow:hidden}.import-errors header{display:flex;align-items:center;gap:10px;padding:14px 17px;color:#b6403b}.import-errors header b,.import-errors header span{display:block}.import-errors header span{font-size:8px;margin-top:4px}.import-errors ol{max-height:260px;overflow:auto;margin:0;padding:0 38px 15px 15px}.import-errors li{padding:8px 4px;font-size:8px}.import-errors li b{margin-left:8px}.material-profile-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;margin-bottom:18px}.profile-summary{text-align:center}.profile-mark{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 13px;border-radius:23px;background:linear-gradient(145deg,#0b3340,#13998f);color:#fff;font-size:22px;font-weight:900}.profile-summary h3{font-size:17px;margin:8px}.profile-stock{margin-top:22px;padding:17px;border-radius:15px;background:#edf9f5}.profile-stock.critical{background:#fff0ee;color:#b9443e}.profile-stock small,.profile-stock strong,.profile-stock span{display:block}.profile-stock strong{font:800 19px Arial;margin:7px}.profile-stock span{font-size:8px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-grid>div{padding:13px;border:1px solid #e3ebee;border-radius:12px;background:#fafcfd}.detail-grid dt{color:#748793;font-size:8px}.detail-grid dd{margin:7px 0 0;font-size:10px;font-weight:800}.detail-stats{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.history-section{margin-bottom:18px}
@media(max-width:1200px){.material-kpis{grid-template-columns:repeat(2,1fr)}.material-filters{grid-template-columns:repeat(2,1fr)}.filter-actions{grid-column:span 2}.materials-table-wrap{max-height:none}.detail-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.material-page-head{align-items:flex-start}.material-kpis{grid-template-columns:1fr 1fr}.material-filters{grid-template-columns:1fr}.filter-actions{grid-column:auto}.catalog-toolbar,.bulk-toolbar{align-items:flex-start;flex-direction:column}.bulk-toolbar>div{margin-left:0}.catalog-pagination{grid-template-columns:1fr;justify-items:center}.catalog-pagination form{justify-self:center}.material-profile-grid{grid-template-columns:1fr}.import-layout{grid-template-columns:1fr}.drawer-metrics,.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.material-kpis{grid-template-columns:1fr}.material-page-head .actions,.drawer-actions{width:100%;flex-direction:column}.material-page-head .btn{width:100%}.material-drawer{width:100%;padding:18px}.drawer-metrics,.drawer-details,.detail-grid,.detail-stats{grid-template-columns:1fr}.export-actions{width:100%}.export-actions .btn{flex:1}.page-links{max-width:100%;overflow:auto}}

/* Product engineering wizard and versioned BOM */
.wizard-steps{display:grid;grid-template-columns:minmax(220px,1fr) 90px minmax(220px,1fr);align-items:center;max-width:820px;margin:0 auto 22px;padding:10px 18px;border:1px solid rgba(16,137,127,.15);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 14px 34px rgba(7,36,49,.06);backdrop-filter:blur(15px)}
.wizard-steps>div{display:flex;align-items:center;gap:11px;color:#7b8c96}.wizard-steps>div>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:13px;background:#e9eff1;color:#647782;font:900 13px Arial}.wizard-steps b,.wizard-steps small{display:block}.wizard-steps b{font-size:10px}.wizard-steps small{margin-top:3px;font-size:7.5px}.wizard-steps>i{height:2px;background:linear-gradient(90deg,#dfe8eb,#abcfc9)}.wizard-steps .active{color:#0b776f}.wizard-steps .active>span,.wizard-steps.wizard-complete>div:first-child>span{background:linear-gradient(145deg,#0d9d91,#086f69);color:#fff;box-shadow:0 8px 18px rgba(13,157,145,.23)}
.product-header-form{display:grid;gap:18px}.product-header-form .form-section-card{margin:0}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.smart-input,.batch-input{position:relative}.smart-input input{padding-left:66px!important;color:#08776f;font:bold 12px Arial;letter-spacing:.6px}.auto-chip{position:absolute;left:8px;top:50%;transform:translateY(-50%);padding:5px 8px;border-radius:8px;background:#dff6f1;color:#087c73;font:900 7px Arial}.batch-input{display:flex;align-items:stretch}.batch-input input{border-radius:0 10px 10px 0!important}.batch-input span{display:flex;align-items:center;max-width:130px;padding:0 12px;border:1px solid #d9e4e7;border-right:0;border-radius:10px 0 0 10px;background:#f1f6f7;color:#60747e;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.engineering-note{display:flex;align-items:flex-start;gap:11px;padding:15px 17px;border:1px solid #cfe9e5;border-radius:15px;background:linear-gradient(135deg,#edf9f6,#f9fcfc);color:#09766e}.engineering-note b,.engineering-note p{display:block}.engineering-note p{margin:4px 0 0;color:#61777f;font-size:8px;line-height:1.8}.sticky-form-actions{position:sticky;bottom:16px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border:1px solid rgba(193,216,218,.9);border-radius:17px;background:rgba(255,255,255,.93);box-shadow:0 15px 40px rgba(8,36,49,.13);backdrop-filter:blur(18px)}.sticky-form-actions>div:first-child{display:flex;align-items:center;gap:8px;color:#5f747d;font-size:8px}
.version-command{display:flex;align-items:center;gap:18px;margin-bottom:16px;padding:14px 16px;border:1px solid #dce8ea;border-radius:17px;background:#fff;box-shadow:0 12px 30px rgba(12,44,57,.05)}.version-identity{display:flex;align-items:center;gap:10px;min-width:205px}.version-identity b,.version-identity small{display:block}.version-identity small{margin-top:4px;color:#758890;font-size:7px}.version-badge{display:grid;place-items:center;min-width:58px;height:40px;padding:0 9px;border-radius:12px;background:#092f3b;color:#76e1d5;font:bold 10px Arial}.version-history{display:flex;align-items:center;flex-wrap:wrap;gap:7px;flex:1}.version-history>span{color:#71858e;font-size:8px}.version-history a{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #e0eaec;border-radius:10px;color:#536c76;font:bold 8px Arial;text-decoration:none}.version-history a.active{border-color:#0e9a8e;background:#e9f8f5;color:#08766e}.version-history i{width:6px;height:6px;border-radius:50%;background:#87969d}.version-history i.approved{background:#13a072;box-shadow:0 0 0 3px #dcf5eb}.version-history i.draft{background:#e8a62b}.version-history i.superseded{background:#8b98a0}.revision-form{display:flex;gap:7px;min-width:310px}.revision-form input{min-width:0}.locked-banner{display:flex;align-items:center;gap:11px;margin-bottom:16px;padding:13px 16px;border:1px solid #badfd6;border-radius:15px;background:#edf9f5;color:#08756d}.locked-banner b,.locked-banner span{display:block}.locked-banner span{margin-top:3px;color:#607980;font-size:8px}
.formulation-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px}.bom-canvas{min-width:0;display:grid;gap:16px}.quick-add-component{padding:18px;border:1px solid #bfe2dc;border-radius:20px;background:linear-gradient(145deg,#f8fdfc,#eaf8f5);box-shadow:0 15px 35px rgba(12,80,76,.07)}.quick-add-component>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.quick-add-component h3{margin:5px 0 0;font-size:14px}.quick-add-component>header>span{color:#668089;font-size:8px}.quick-add-component form{display:grid;grid-template-columns:minmax(230px,2fr) minmax(125px,.8fr) minmax(110px,.7fr) minmax(105px,.7fr) minmax(105px,.65fr) auto;align-items:end;gap:10px}.quick-add-component label{font-size:8px}.component-search{position:relative}.component-results{position:absolute;z-index:20;top:calc(100% + 5px);right:0;left:0;overflow:auto;max-height:290px;border:1px solid #d3e4e4;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(3,37,47,.16)}.component-result{display:flex;width:100%;align-items:center;gap:10px;padding:11px 12px;border:0;border-bottom:1px solid #eef3f4;background:#fff;text-align:right;cursor:pointer}.component-result:last-child{border:0}.component-result:hover,.component-result:focus{background:#eff9f7}.component-result>span,.selected-component>span{padding:5px 7px;border-radius:7px;background:#e7f5f2;color:#08796f;font-size:7px;white-space:nowrap}.component-result b,.component-result small,.selected-component b,.selected-component small{display:block}.component-result small,.selected-component small{margin-top:3px;color:#72868e;font-size:7px}.selected-component{display:flex;align-items:center;gap:9px;margin-top:6px;padding:8px 10px;border:1px solid #c8e4df;border-radius:11px;background:#fff}.selected-component>div{flex:1}.selected-component button{display:grid;place-items:center;width:25px;height:25px;border:0;border-radius:8px;background:#f3eded;color:#a34242;cursor:pointer}.scale-preview{display:flex;min-height:45px;flex-direction:column;justify-content:center;padding:7px 10px;border-radius:11px;background:#092f3b;color:#fff}.scale-preview small{color:#79cfc7;font-size:7px}.scale-preview strong{margin:2px 0;font:bold 12px Arial}.scale-preview span{font-size:7px;color:#b6cccf}.component-empty{padding:15px;color:#758990;font-size:8px;text-align:center}
.bom-grid-card{padding:0;overflow:visible}.bom-grid-card .card-head{padding:17px 18px 0}.formula-status{display:flex;gap:6px}.bom-table{min-width:850px}.bom-table td{vertical-align:middle}.bom-table td:last-child{display:flex;align-items:center;gap:5px}.scrap-chip{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eff3f4;color:#6b7d85;font:bold 8px Arial}.scrap-chip.has-scrap{background:#fff0d8;color:#a76908}.row-action{position:relative}.row-action summary{list-style:none}.row-action summary::-webkit-details-marker{display:none}.bom-row-editor{position:absolute;z-index:15;top:34px;left:0;display:grid;width:220px;gap:8px;padding:13px;border:1px solid #d8e5e7;border-radius:13px;background:#fff;box-shadow:0 18px 35px rgba(5,33,44,.17)}.bom-row-editor label{font-size:7px}.locked-cell{color:#7e9299}
.live-cost-panel{position:sticky;top:88px;overflow:hidden;border:1px solid rgba(120,219,207,.2);border-radius:21px;background:linear-gradient(155deg,#0b3340,#071f2a 75%);color:#fff;box-shadow:0 18px 42px rgba(5,32,43,.2)}.live-cost-panel>header{display:flex;align-items:center;gap:10px;padding:18px;border-bottom:1px solid rgba(255,255,255,.09)}.live-cost-panel>header>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:rgba(84,219,202,.12);color:#69dace}.live-cost-panel small,.live-cost-panel h3{display:block}.live-cost-panel header small{color:#62cbbf;font:800 7px Arial;letter-spacing:1px}.live-cost-panel h3{margin:4px 0 0;font-size:12px}.cost-main{padding:22px 18px;text-align:center;background:rgba(32,184,166,.08)}.cost-main small{color:#9eb9bd;font-size:8px}.cost-main strong{display:block;margin:8px 0 5px;color:#7ce5d9;font:900 25px Arial}.cost-main span{color:#8faeb3;font-size:8px}.live-cost-panel dl{margin:0;padding:9px 18px}.live-cost-panel dl>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.live-cost-panel dt{color:#9db3b7;font-size:8px}.live-cost-panel dd{margin:0;font:bold 9px Arial}.live-cost-panel dl .total{border:0;color:#78ded2}.live-cost-panel>p{margin:0;padding:0 18px 15px;color:#90a8ad;font-size:7.5px;line-height:1.9}.live-cost-panel form{padding:0 18px 10px}.live-cost-panel .btn{width:100%;border-color:rgba(255,255,255,.2);color:#fff}.live-cost-panel .final-approve{margin-bottom:9px;border-color:#1db49f;background:linear-gradient(135deg,#0eaa99,#08786f)}
.production-requirements{margin-top:18px}.production-requirements .card-head p{margin:6px 0 0;color:#72858d;font-size:8px}.production-requirements table{min-width:820px}.issue-quantity{color:#0b8b7f}.product-type-pill{white-space:nowrap}
@media(max-width:1200px){.formulation-layout{grid-template-columns:1fr}.live-cost-panel{position:relative;top:auto}.quick-add-component form{grid-template-columns:repeat(3,minmax(0,1fr))}.component-search{grid-column:span 3}.version-command{flex-wrap:wrap}.revision-form{min-width:280px}}
@media(max-width:900px){.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-steps{grid-template-columns:1fr 45px 1fr}.quick-add-component form{grid-template-columns:repeat(2,minmax(0,1fr))}.component-search{grid-column:span 2}.version-history{order:3;flex-basis:100%}}
@media(max-width:620px){.wizard-steps{grid-template-columns:1fr;padding:12px}.wizard-steps>i{width:2px;height:18px;margin-right:18px}.form-grid-3{grid-template-columns:1fr}.sticky-form-actions,.quick-add-component>header{align-items:stretch;flex-direction:column}.sticky-form-actions .actions{width:100%}.sticky-form-actions .btn{flex:1}.version-command{align-items:stretch;flex-direction:column}.revision-form{min-width:0;flex-direction:column}.quick-add-component form{grid-template-columns:1fr}.component-search{grid-column:auto}.bom-row-editor{position:fixed;right:16px;bottom:16px;top:auto;left:16px;width:auto}.cost-main strong{font-size:21px}}
.live-cost-panel .btn-outline{background:transparent}.live-cost-panel .btn-outline:hover{background:rgba(255,255,255,.08)}
@media(max-width:620px){.sticky-form-actions{position:static}}

/* Product catalog control tower */
.product-image-field{grid-column:span 2}.product-image-field img{width:64px;height:64px;margin-top:8px;border-radius:16px;object-fit:cover;border:1px solid #dce8ea}.product-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.product-kpis article{display:flex;align-items:center;gap:13px;min-height:92px;padding:17px 18px;border:1px solid #e0eaed;border-radius:20px;background:linear-gradient(145deg,#fff,#f7fbfc);box-shadow:0 11px 28px rgba(9,43,57,.055)}.product-kpis .kpi-orb{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:15px;background:#eaf7f5;color:#0d8178;font:900 11px Arial}.product-kpis small,.product-kpis strong{display:block}.product-kpis small{font-size:8px;color:#6f838d}.product-kpis strong{margin-top:6px;font:900 24px Arial;color:#153747}.product-kpis em{margin-right:auto;color:#68808a;font:800 7px Arial;font-style:normal}.product-kpis .kpi-rd{border-color:#eedfb9}.product-kpis .kpi-rd .kpi-orb{background:#fff5dc;color:#aa7318}.product-kpis .kpi-active{border-color:#cfe8dc}.product-kpis .kpi-active .kpi-orb{background:#e7f8ef;color:#16835a}.product-kpis .kpi-alert{border-color:#efcfcb}.product-kpis .kpi-alert .kpi-orb{background:#fff0ee;color:#ba4b43}.product-catalog-card{padding:0;overflow:visible}.product-filters{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(135px,1fr)) auto;align-items:end;gap:11px;padding:19px;border-bottom:1px solid #e5edef;background:linear-gradient(135deg,#f6fbfb,#fbfdfd)}.product-filters label>span{font-size:8px;font-weight:800;color:#667b86}.product-filters input,.product-filters select{background:#fff}.catalog-legend{display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;border-radius:50%;background:#e0a52f}.status-dot.active{background:#1da16c}.status-dot.obsolete{background:#bc5a54}.product-table-wrap{overflow:auto;max-height:calc(100vh - 365px);min-height:290px;scrollbar-width:thin}.product-catalog-table{min-width:1180px;border-collapse:separate;border-spacing:0}.product-catalog-table thead{position:sticky;top:0;z-index:6}.product-catalog-table th{background:#f0f6f7;box-shadow:0 1px 0 #dce7ea}.product-catalog-table th a{display:flex;align-items:center;gap:6px;color:inherit}.product-main-row{transition:.2s}.product-main-row:hover{background:#f7fbfb}.bom-expand{display:grid;place-items:center;width:29px;height:29px;border:1px solid #d4e3e5;border-radius:10px;background:#fff;color:#167e76;font:900 20px Arial;cursor:pointer;transition:.2s}.bom-expand[aria-expanded="true"]{transform:rotate(90deg);border-color:#78c9bf;background:#e9f8f5}.product-thumb{display:grid;width:42px;height:42px;border-radius:13px;object-fit:cover;border:1px solid #dbe7e9;box-shadow:0 5px 13px rgba(8,43,57,.08)}.product-thumb-fallback{place-items:center;background:linear-gradient(145deg,#0d4b57,#11a193);color:#fff;font:900 10px Arial}.product-name-link{color:#173947}.revision-tag{display:inline-flex;margin-right:7px;padding:4px 7px;border-radius:7px;background:#e8f2f4;color:#42707a;font:bold 7px Arial}.lifecycle-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;font-size:7.5px;font-weight:800;white-space:nowrap}.lifecycle-tag i{width:6px;height:6px;border-radius:50%;background:currentColor}.lifecycle-rd{background:#fff4d9;color:#9b6710}.lifecycle-active{background:#e7f8ef;color:#147952}.lifecycle-obsolete{background:#f7e9e8;color:#a54741}.cost-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cost-cell>b{font:800 11px Arial}.cost-cell>small{font-size:7px;color:#758991}.variance-alert,.variance-ok{display:inline-flex;padding:4px 6px;border-radius:7px;font:bold 7px Arial}.variance-alert.up{background:#ffebe9;color:#b9433d}.variance-alert.down{background:#e9f6ff;color:#28799e}.variance-ok{background:#ebf7f1;color:#21805d}.product-actions{position:relative}.product-actions>summary{display:grid;place-items:center;width:31px;height:31px;border:1px solid #d7e3e6;border-radius:10px;background:#fff;cursor:pointer;font:bold 17px Arial;list-style:none}.product-actions>summary::-webkit-details-marker{display:none}.product-actions>div{position:absolute;z-index:30;left:0;top:37px;width:210px;padding:6px;border:1px solid #d8e5e7;border-radius:13px;background:#fff;box-shadow:0 16px 36px rgba(5,35,46,.17)}.product-actions a,.product-actions button{display:block;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#264955;font:inherit;font-size:8px;text-align:right;cursor:pointer}.product-actions a:hover,.product-actions button:hover{background:#edf8f6;color:#087a71}.product-actions form{margin:0;border-top:1px solid #edf1f2}.bom-expanded-row td{padding:0!important;background:#f3f8f8}.bom-inline-panel{margin:0 18px 15px;padding:16px 18px;border:1px solid #cfe2e2;border-radius:0 0 17px 17px;background:linear-gradient(140deg,#f7fcfb,#edf7f5)}.bom-inline-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.bom-inline-head b{font-size:10px}.bom-inline-head span{font:800 8px Arial;color:#168077}.bom-tree{display:grid;gap:6px}.bom-tree-row{display:grid;grid-template-columns:22px 90px minmax(170px,1fr) 115px 115px 85px;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dfe9e9;border-radius:11px;background:#fff;font-size:8px}.bom-tree-row.depth-1{margin-right:28px;border-right:3px solid #56bbb0}.bom-tree-row.depth-2{margin-right:56px}.bom-tree-row .tree-mark{color:#14857b}.bom-inline-loading,.bom-inline-error{padding:18px;color:#6e838b;text-align:center;font-size:8px}.bom-inline-error{color:#af453f}.simulation-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px}.simulation-modal[hidden]{display:none}.simulation-backdrop{position:absolute;inset:0;background:rgba(3,19,27,.65);backdrop-filter:blur(7px)}.simulation-modal>section{position:relative;z-index:1;width:min(760px,100%);max-height:88vh;overflow:auto;padding:25px;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}.simulation-modal h3{margin:7px 0;font-size:18px}.simulation-modal>section>p{color:#6b8089;font-size:9px}.modal-close{position:absolute;top:15px;left:15px;width:34px;height:34px;border:0;border-radius:10px;background:#eef3f4;color:#49616a;font-size:20px;cursor:pointer}.simulation-modal form{display:flex;align-items:end;gap:9px;margin:18px 0}.simulation-modal form label{flex:1}.simulation-result{min-height:80px}.simulation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.simulation-summary>div{padding:12px;border-radius:12px;background:#f0f6f7}.simulation-summary small,.simulation-summary strong{display:block}.simulation-summary strong{margin-top:5px;font:900 15px Arial}.simulation-summary .not-ready{background:#fff0ee;color:#ad443e}.simulation-summary .ready{background:#eaf8f0;color:#167c57}.simulation-table{width:100%;font-size:8px}.simulation-table .shortage{color:#bd423a;font-weight:800}.simulation-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.catalog-pagination{border-radius:0 0 18px 18px}.product-catalog-table .empty{height:190px}
@media(max-width:1200px){.product-kpis{grid-template-columns:repeat(2,1fr)}.product-filters{grid-template-columns:repeat(2,1fr)}.product-filters .filter-actions{grid-column:span 2}.product-table-wrap{max-height:none}}
@media(max-width:760px){.product-kpis,.product-filters{grid-template-columns:1fr}.product-filters .filter-actions{grid-column:auto}.product-catalog-head{align-items:flex-start}.product-catalog-head .btn{width:100%}.bom-tree-row{grid-template-columns:20px 72px minmax(120px,1fr);overflow:auto}.bom-tree-row span:nth-child(n+4){display:none}.simulation-modal>section{padding:20px 16px}.simulation-modal form,.simulation-actions{align-items:stretch;flex-direction:column}.simulation-summary{grid-template-columns:1fr}.product-image-field{grid-column:auto}}
.product-actions .action-disabled{display:block;padding:9px 10px;color:#8b999f;font-size:7.5px}

/* Controlled warehouse receiving */
.inbound-workbench{display:flex;flex-direction:column;gap:18px}.inbound-status-strip{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:14px 18px;border:1px solid #d8e7e9;border-radius:18px;background:linear-gradient(135deg,#f8fcfc,#eef8f6);box-shadow:var(--shadow-soft)}.inbound-status-strip>div{display:flex;align-items:center;gap:8px;color:#6b8088;font-size:8px;font-weight:800;white-space:nowrap}.inbound-status-strip>div b{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#e2ecee;color:#55717a;font:900 9px Arial}.inbound-status-strip>div.active{color:#087b72}.inbound-status-strip>div.active b{background:#12a492;color:#fff;box-shadow:0 7px 17px rgba(18,164,146,.22)}.inbound-status-strip>i{height:1px;flex:1;background:linear-gradient(90deg,#9fd8d0,#d5e4e5)}.inbound-card>header{align-items:center}.inbound-card>header>div{flex:1}.span-2{grid-column:span 2}.input-action{position:absolute;left:5px;top:5px;bottom:5px;padding:0 13px;border:0;border-radius:9px;background:#0d8278;color:#fff;font:800 8px inherit;cursor:pointer}.smart-input:has(.input-action) input{padding-left:88px}.po-summary,.qc-lock{display:flex;align-items:center;gap:11px;min-height:74px;padding:13px 14px;border:1px solid #d9e6e8;border-radius:15px;background:#f7fafb}.po-summary>span,.qc-lock>span{display:grid;place-items:center;flex:0 0 41px;height:41px;border-radius:12px;background:#e4f6f3;color:#0a8177;font:900 9px Arial}.po-summary b,.po-summary small,.qc-lock b,.qc-lock small{display:block}.po-summary b,.qc-lock b{font-size:9px}.po-summary small,.qc-lock small{margin-top:4px;color:#72858c;font-size:7.5px;line-height:1.7}.quarantine-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #efd697;border-radius:999px;background:#fff7df;color:#9c6a14;font-size:8px;font-weight:900;white-space:nowrap}.quarantine-pill i{width:8px;height:8px;border-radius:50%;background:#e5a426;box-shadow:0 0 0 4px rgba(229,164,38,.14)}.qc-lock{background:linear-gradient(135deg,#edf9f7,#f8fcfc);border-color:#cde7e2}.unit-locked-input{position:relative;display:flex}.unit-locked-input input{padding-left:68px}.unit-locked-input span{position:absolute;left:6px;top:6px;bottom:6px;display:grid;min-width:52px;place-items:center;padding:0 8px;border-radius:8px;background:#edf3f4;color:#4f6972;font-size:8px;font-weight:900;pointer-events:none}.receipt-value{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-radius:18px;background:linear-gradient(125deg,#092c38,#075d61);color:#fff}.receipt-value span,.receipt-value strong,.receipt-value small{display:block}.receipt-value span{color:#91b8bb;font-size:8px}.receipt-value strong{margin:6px 0;color:#75e3d5;font:900 26px Arial}.receipt-value small{color:#8daaad;font-size:7px}.receipt-value .value-orb{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.07);color:#7ee2d6;font:900 10px Arial}.location-rows{display:grid;gap:10px}.location-row{display:grid;grid-template-columns:36px minmax(220px,1.5fr) minmax(140px,.7fr) 34px;align-items:end;gap:10px;padding:12px;border:1px solid #dfe9eb;border-radius:15px;background:#f9fbfc}.location-index{display:grid;place-items:center;width:32px;height:42px;border-radius:10px;background:#e5f5f2;color:#0a8076;font:900 9px Arial}.remove-location{height:42px;border:0;border-radius:10px;background:#f9e9e8;color:#a9453f;font-size:19px;cursor:pointer}.remove-location:disabled{opacity:.35;cursor:not-allowed}.allocation-meter{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px;padding:12px 14px;border:1px solid #d9e7e8;border-radius:13px;background:#f5f9f9;color:#62777f;font-size:8px}.allocation-meter span:nth-child(2){text-align:left}.allocation-meter em{font-style:normal}.allocation-meter>div{grid-column:1/-1;overflow:hidden;height:6px;border-radius:9px;background:#dfe9ea}.allocation-meter i{display:block;width:0;height:100%;border-radius:9px;background:linear-gradient(90deg,#0b9d90,#49cabc);transition:.25s}.allocation-meter i.invalid{background:linear-gradient(90deg,#e5a531,#d27137)}.inbound-actions{z-index:25}.receiving-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.receiving-kpis article{display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid #e0eaec;border-radius:17px;background:#fff;box-shadow:var(--shadow-soft)}.receiving-kpis .kpi-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px}.kpi-icon.amber{background:#fff3da;color:#a56c10}.kpi-icon.green{background:#e7f8ef;color:#147c55}.kpi-icon.blue{background:#e7f4f8;color:#207d95}.receiving-kpis b,.receiving-kpis small{display:block}.receiving-kpis b{font:900 18px Arial}.receiving-kpis small{margin-top:3px;color:#6f838b;font-size:8px}.receiving-table{min-width:1180px}.quarantine-row{background:#fffdf7}.allocation-chips{display:flex;max-width:210px;flex-wrap:wrap;gap:5px}.allocation-chips span{padding:5px 7px;border-radius:7px;background:#edf5f5;color:#35636a;font-size:7px;white-space:nowrap}.receipt-actions{display:flex;min-width:155px;flex-direction:column;align-items:stretch;gap:5px}.receipt-actions form,.receipt-actions button{width:100%}.qc-role-note{padding:6px;color:#92701f;font-size:7px;text-align:center}.badge-warning{background:#fff3d6!important;color:#986812!important}
@media(max-width:900px){.inbound-status-strip>i{min-width:15px}.span-2{grid-column:auto}.receiving-kpis{grid-template-columns:1fr 1fr}.location-row{grid-template-columns:32px 1fr 1fr 32px}}
@media(max-width:620px){.inbound-status-strip{align-items:stretch;flex-direction:column}.inbound-status-strip>i{width:1px;height:10px;margin-right:14px;flex:none}.receiving-kpis{grid-template-columns:1fr}.location-row{grid-template-columns:32px 1fr 32px}.location-row label:nth-of-type(2){grid-column:2/3}.location-row .remove-location{grid-column:3;grid-row:1/3}.inbound-card>header{align-items:flex-start;flex-wrap:wrap}.inbound-actions .actions{flex-wrap:wrap}}

/* Batch ledger control tower */
.ledger-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.ledger-kpis article{display:flex;align-items:center;gap:13px;min-height:96px;padding:17px 18px;border:1px solid #dfe9ed;border-radius:20px;background:linear-gradient(145deg,#fff,#f7fbfc);box-shadow:0 11px 30px rgba(6,37,52,.055)}.ledger-kpi-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:15px}.ledger-kpi-icon.physical{background:#e6f4fa;color:#277d9e}.ledger-kpi-icon.allocated{background:#eeeafd;color:#7058bb}.ledger-kpi-icon.available{background:#e5f8f1;color:#16845e}.ledger-kpi-icon.quarantine{background:#fff1dc;color:#b17416}.ledger-kpis small,.ledger-kpis strong,.ledger-kpis em{display:block}.ledger-kpis small{color:#6e828d;font-size:8px;font-weight:800}.ledger-kpis strong{margin-top:5px;color:#153647;font:900 23px Arial}.ledger-kpis em{margin-top:4px;color:#91a0a7;font-size:7px;font-style:normal}.ledger-control-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px;padding:15px 17px}.ledger-search{display:flex;flex:1;gap:7px}.ledger-searchbox{position:relative;flex:1;max-width:570px}.ledger-searchbox>span{position:absolute;z-index:1;right:12px;top:50%;transform:translateY(-50%);color:#71909a}.ledger-searchbox input{padding-right:39px;background:#f8fbfc}.ledger-quick-views{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #dfe9ec;border-radius:12px;background:#f5f8f9}.ledger-quick-views a{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:9px;color:#5d727c;font-size:8px;font-weight:800;white-space:nowrap}.ledger-quick-views a:hover,.ledger-quick-views a.active{background:#fff;color:#087d74;box-shadow:0 4px 13px rgba(12,63,78,.08)}.ledger-quick-views .dot{width:6px;height:6px;border-radius:50%}.dot.green{background:#20ad76}.dot.amber{background:#e1a22d}.dot.red{background:#d95b54}.ledger-table-card{padding:0;overflow:visible}.ledger-table-meta{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid #e5edef;color:#71838d;font-size:8px}.ledger-table-meta b{margin-left:3px;color:#173a49;font:900 14px Arial}.fefo-legend{display:flex;align-items:center;gap:5px}.fefo-star{color:#18a77b}.ledger-table-wrap{max-height:calc(100vh - 390px);min-height:330px;overflow:auto}.ledger-table{min-width:1190px;border-collapse:separate;border-spacing:0}.ledger-table thead{position:sticky;z-index:8;top:0}.ledger-table th{background:#f2f7f8;box-shadow:0 1px 0 #dce6ea}.ledger-table td{vertical-align:middle}.ledger-main-row:hover td{background:#f7fbfb}.ledger-row-alert td{background:rgba(255,241,239,.5)}.ledger-expand{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d6e3e6;border-radius:10px;background:#fff;color:#198178;cursor:pointer;transition:.2s}.ledger-expand[aria-expanded="true"]{transform:rotate(90deg);border-color:#77cabf;background:#e7f8f4}.material-cell{display:flex;align-items:center;gap:10px}.material-monogram{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#0c4854,#0f9b90);color:#fff;font-weight:900}.material-cell b,.material-cell small,.batch-cell small{display:block}.material-cell b{font-size:9px}.material-cell small,.batch-cell small{margin-top:5px;color:#73868f;font-size:7px}.batch-cell{min-width:185px}.fefo-tag{display:inline-flex;margin-right:7px;padding:4px 7px;border:1px solid #bce6d2;border-radius:999px;background:#e9f9f1;color:#13815a;font-size:7px;font-weight:900}.location-chip{display:inline-flex;padding:6px 8px;border-radius:8px;background:#ebf2f4;color:#3b626d;font:bold 8px Arial}.stock-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;min-width:240px}.stock-stack>div{padding:7px 8px;border:1px solid #e3eaed;border-radius:9px;background:#fafcfc}.stock-stack span,.stock-stack strong{display:block}.stock-stack span{color:#83939b;font-size:6.5px}.stock-stack strong{margin-top:3px;color:#244754;font:bold 9px Arial}.stock-stack strong small{font-size:6px;color:#78909a}.stock-stack .allocated-number{color:#705bb0}.stock-stack .available-number{color:#10805d}.expiry-cell{display:flex;align-items:center;gap:8px;min-width:142px}.expiry-cell>i{width:9px;height:9px;border-radius:50%;background:#22aa78;box-shadow:0 0 0 4px rgba(34,170,120,.1)}.expiry-cell b,.expiry-cell small{display:block}.expiry-cell b{font:800 9px Arial}.expiry-cell small{margin-top:4px;color:#70858e;font-size:7px}.expiry-watch>i{background:#e5a42b;box-shadow:0 0 0 4px rgba(229,164,43,.11)}.expiry-warning>i{background:#e8892b;box-shadow:0 0 0 4px rgba(232,137,43,.12)}.expiry-expired>i{background:#d94f4b;box-shadow:0 0 0 4px rgba(217,79,75,.12)}.expiry-expired b,.expiry-warning b{color:#bd4943}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:#eef3f4;color:#637983;font-size:7px;font-weight:900}.status-badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.active{background:#e7f8ef;color:#137b56}.status-badge.quarantine{background:#fff3d8;color:#9e6d17}.status-badge.expired{background:#ffebe9;color:#b74640}.row-warning{display:flex;align-items:center;gap:3px;margin-top:6px;color:#bf5a42;font-size:6.5px;white-space:normal}.ledger-actions{position:relative}.action-menu-toggle{width:32px;height:32px;border:1px solid #d7e3e6;border-radius:10px;background:#fff;color:#415e69;font:bold 14px Arial;cursor:pointer}.action-menu{position:absolute;z-index:40;top:37px;left:0;display:none;width:185px;padding:6px;border:1px solid #d7e4e7;border-radius:13px;background:#fff;box-shadow:0 17px 38px rgba(3,29,42,.18)}.action-menu.open{display:block}.action-menu button,.action-menu a{display:block;width:100%;padding:9px;border:0;border-radius:8px;background:transparent;color:#294b57;font:inherit;font-size:8px;text-align:right;cursor:pointer}.action-menu button:hover,.action-menu a:hover{background:#edf8f6;color:#08796f}.action-menu .danger{color:#b6423d}.action-menu .danger:hover{background:#fff0ee}.ledger-history-row td{padding:0!important;background:#eef6f6}.ledger-history-panel{margin:0 18px 15px;padding:17px 19px;border:1px solid #ccdfdf;border-radius:0 0 17px 17px;background:linear-gradient(145deg,#f7fcfb,#edf7f5)}.ledger-history-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ledger-history-heading b{font-size:10px}.ledger-history-heading span{font:bold 9px Arial;color:#138278}.ledger-event-timeline{position:relative;display:grid;gap:8px;padding-right:18px}.ledger-event-timeline:before{content:"";position:absolute;top:8px;right:4px;bottom:8px;width:2px;background:#c6dfdc}.ledger-event{position:relative;display:flex;gap:10px;padding:11px 12px;border:1px solid #dce8e8;border-radius:12px;background:#fff}.ledger-event>i{position:absolute;right:-18px;top:17px;width:9px;height:9px;border:2px solid #eaf6f4;border-radius:50%;background:#13a294}.ledger-event.document>i{background:#735dba}.ledger-event.receipt>i{background:#2381a0}.ledger-event>div{flex:1}.ledger-event header,.ledger-event footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.ledger-event header b{font-size:8px}.ledger-event header strong{color:#0e7d73;font:bold 9px Arial}.ledger-event p{margin:5px 0;color:#647a83;font-size:7.5px}.ledger-event footer{justify-content:flex-start;color:#8999a0;font-size:6.5px}.ledger-event footer span{padding-right:9px;border-right:1px solid #dce5e7}.history-loading,.history-error{padding:17px;color:#6f838c;font-size:8px;text-align:center}.ledger-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:13px 18px;border-top:1px solid #e3ebee;background:#fafcfc;color:#677c85;font-size:8px}.ledger-pagination nav{display:flex;gap:5px}.ledger-pagination form{justify-self:end}.ledger-pagination label{display:flex;align-items:center;gap:7px}.ledger-pagination select{width:68px;height:32px;padding-block:4px}.inventory-dialog{width:min(540px,calc(100vw - 28px));padding:24px;border:1px solid #d7e5e7;border-radius:23px;background:#fff;box-shadow:0 30px 90px rgba(2,23,34,.3)}.inventory-dialog::backdrop{background:rgba(3,17,26,.64);backdrop-filter:blur(6px)}.dialog-close-form{position:absolute;top:14px;left:14px}.dialog-close-form button{width:32px;height:32px;border:0;border-radius:10px;background:#eef3f4;color:#4c656e;font-size:20px;cursor:pointer}.dialog-heading{display:flex;align-items:flex-start;gap:12px;padding-bottom:17px;border-bottom:1px solid #e5ecee}.dialog-heading h3{margin:5px 0;font-size:16px}.dialog-heading p{margin:0;color:#74868e;font-size:8px}.inventory-action-form{display:grid;gap:14px;padding-top:17px}.inventory-action-form>div:not(.form-actions){display:grid;gap:13px}.dialog-notice{padding:11px 12px;border:1px solid #cbe4df;border-radius:11px;background:#edf9f6;color:#27736b;font-size:8px;line-height:1.8}.dialog-notice.danger{border-color:#edcdca;background:#fff2f0;color:#a44943}
@media(max-width:1200px){.ledger-kpis{grid-template-columns:repeat(2,1fr)}.ledger-control-card{align-items:stretch;flex-direction:column}.ledger-quick-views{align-self:flex-start}.ledger-table-wrap{max-height:none}}
@media(max-width:720px){.ledger-kpis{grid-template-columns:1fr 1fr}.ledger-control-card{padding:13px}.ledger-search{display:grid;grid-template-columns:1fr auto}.ledger-searchbox{grid-column:1/-1;max-width:none}.ledger-quick-views{width:100%;overflow:auto}.ledger-table-meta{align-items:flex-start;gap:8px;flex-direction:column}.ledger-pagination{grid-template-columns:1fr auto}.ledger-pagination form{grid-column:1/-1;justify-self:start}.inventory-dialog{padding:20px 16px}}
@media(max-width:440px){.ledger-kpis{grid-template-columns:1fr}.ledger-page-head .btn{width:100%}.ledger-search{grid-template-columns:1fr}.ledger-searchbox{grid-column:auto}.ledger-quick-views a{padding-inline:8px}}
.inventory-action-form>div[hidden]{display:none}

/* Smart work-order planning */
.wo-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px;align-items:start}.wo-layout>.wo-form-card{grid-column:1}.wo-layout>.wo-form-card:nth-of-type(2){margin-top:-1px}.wo-full{grid-column:1/-1}.ctb-panel{grid-column:2;grid-row:1/4;position:sticky;top:88px;overflow:hidden;background:linear-gradient(155deg,#fff,#f6fbfb)}.ctb-hero{display:flex;align-items:center;gap:14px;padding:3px 0 18px;border-bottom:1px solid #e2ecee}.ctb-hero>span{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:18px;background:#e9f2f4;color:#63808b;font:900 24px Arial;transition:.25s}.ctb-hero h3{margin:5px 0 3px;font-size:19px}.ctb-hero p{margin:0;color:#6f838b;font-size:8px;line-height:1.8}.wo-layout[data-ctb="ready"] .ctb-hero>span{background:#dff8ed;color:#11805a;box-shadow:0 0 0 7px rgba(28,169,117,.08)}.wo-layout[data-ctb="ready"] .ctb-hero h3{color:#117a57}.wo-layout[data-ctb="blocked"] .ctb-hero>span{background:#ffebe9;color:#bc4640;box-shadow:0 0 0 7px rgba(207,75,67,.07)}.wo-layout[data-ctb="blocked"] .ctb-hero h3{color:#ad423d}.wo-layout[data-ctb="loading"] .ctb-hero>span{animation:woPulse 1s infinite alternate}.ctb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.ctb-stats>div{padding:11px;border:1px solid #e0eaec;border-radius:13px;background:#fff}.ctb-stats span,.ctb-stats strong{display:block}.ctb-stats span{color:#768991;font-size:7px}.ctb-stats strong{margin-top:5px;color:#183c49;font:900 14px Arial}.ctb-table{max-height:265px;border:1px solid #e2eaed;border-radius:13px}.ctb-table table{min-width:560px}.ctb-table th{position:sticky;top:0;background:#f1f6f7}.ctb-table td{font-size:7.5px}.ctb-shortage td{background:#fff5f3}.danger-text{color:#bd4640;font-weight:900}.input-with-unit,.input-with-status{position:relative;display:flex}.input-with-unit input{padding-left:94px}.input-with-unit>span{position:absolute;left:6px;top:6px;bottom:6px;display:grid;min-width:76px;place-items:center;border-radius:8px;background:#edf3f4;color:#4e6871;font-size:8px;font-weight:900}.input-with-status input{padding-left:35px}.input-with-status .status-dot{position:absolute;left:13px;top:50%;transform:translateY(-50%)}.status-dot.ok{background:#1bad80;box-shadow:0 0 0 4px rgba(27,173,128,.12)}.schedule-metric{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px 16px;border:1px solid #d2e8e4;border-radius:14px;background:linear-gradient(130deg,#edf9f6,#f7fbfc)}.schedule-metric span{color:#607981;font-size:8px}.schedule-metric strong{grid-row:span 2;color:#0b8176;font:900 20px Arial}.schedule-metric small{color:#819299;font-size:7px}.request-context{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding:13px 14px;border:1px solid #d7e7e7;border-radius:13px;background:#f3faf9}.request-context[hidden]{display:none}.request-context strong,.request-context span,.request-context b{font-size:8px}.request-context span{color:#6d838a}.request-context b{color:#b44740}.stacked-actions{flex-wrap:wrap}.stacked-actions small{flex-basis:100%;color:#71858d;font-size:7px;line-height:1.7}.stacked-actions .btn{flex:1}.btn:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.3)}
@keyframes woPulse{to{transform:scale(.92);opacity:.58}}
@media(max-width:1080px){.wo-layout{grid-template-columns:1fr}.wo-layout>.wo-form-card,.ctb-panel{grid-column:1;grid-row:auto}.ctb-panel{position:static}}
@media(max-width:620px){.wo-layout{gap:13px}.ctb-stats{grid-template-columns:1fr 1fr}.ctb-stats>div:last-child{grid-column:1/-1}.stacked-actions{align-items:stretch;flex-direction:column}}

/* Production control tower */
.production-page-head{align-items:flex-end}.production-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:17px}.production-kpis article{position:relative;display:flex;align-items:center;gap:14px;min-height:104px;padding:18px 20px;border:1px solid #dce8eb;border-radius:21px;background:linear-gradient(145deg,#fff,#f6fafb);box-shadow:0 12px 32px rgba(5,38,52,.06);overflow:hidden}.production-kpis article:after{content:"";position:absolute;left:-28px;bottom:-48px;width:105px;height:105px;border-radius:50%;background:rgba(21,168,155,.07)}.production-kpi-icon{display:grid;place-items:center;flex:0 0 50px;height:50px;border-radius:16px}.production-kpi-icon.active{background:#e5f8f3;color:#138461}.production-kpi-icon.danger{background:#ffebe9;color:#bd4942}.production-kpi-icon.efficiency{background:#e7f3fb;color:#277f9e}.production-kpis small,.production-kpis strong,.production-kpis em{display:block}.production-kpis small{color:#6c808a;font-size:8px;font-weight:800}.production-kpis strong{margin-top:5px;color:#143746;font:900 26px Arial}.production-kpis em{margin-top:4px;color:#8a9aa1;font-size:7px;font-style:normal}.production-kpis .attention{border-color:#efceca}.production-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:17px;padding:15px 17px}.production-filter-form{display:grid;grid-template-columns:minmax(230px,1.6fr) minmax(160px,.8fr) auto auto;align-items:end;gap:9px;flex:1}.production-filter-form label>span{font-size:7px;color:#6d818a;font-weight:800}.production-filter-form input,.production-filter-form select{background:#f8fbfc}.view-switch{display:flex;gap:4px;padding:4px;border:1px solid #dce7ea;border-radius:12px;background:#f3f7f8}.view-switch a{padding:9px 11px;border-radius:9px;color:#5e747d;font-size:8px;font-weight:900;white-space:nowrap}.view-switch a.active{background:#fff;color:#0a7e75;box-shadow:0 4px 13px rgba(6,47,61,.09)}.production-table-card{padding:0;overflow:visible}.production-table-meta{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid #e3ebed;color:#74868e;font-size:8px}.production-table-meta b{color:#153947;font:900 15px Arial}.kitting-legend{display:flex;gap:12px}.kitting-legend span{display:flex;align-items:center;gap:5px}.kitting-legend i{width:7px;height:7px;border-radius:50%}.kitting-legend .green{background:#18a373}.kitting-legend .yellow{background:#e6a22c}.kitting-legend .red{background:#d44e48}.production-table-wrap{min-height:330px;max-height:calc(100vh - 405px);overflow:auto}.production-control-table{min-width:1320px;border-collapse:separate;border-spacing:0}.production-control-table thead{position:sticky;top:0;z-index:8}.production-control-table th{background:#eff5f6;box-shadow:0 1px 0 #dce7e9}.production-control-table td{vertical-align:middle}.production-order-row:hover td{background:#f7fbfb}.production-order-row.stopped td{background:rgba(255,238,235,.72);border-bottom-color:#efd4d1}.production-order-row.stopped td:first-child{box-shadow:inset -3px 0 #d6544c}.production-order-row.delayed:not(.stopped) td:first-child{box-shadow:inset -3px 0 #e39a2d}.order-code-cell{display:flex;align-items:center;gap:10px;min-width:170px}.order-code-cell small{display:block;margin-top:5px;color:#6e838c;font-size:7px}.kitting-signal{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dde6e8;border-radius:11px;background:#f1f5f6;font-size:15px;filter:grayscale(.8)}.kitting-signal.green{border-color:#bde5d4;background:#e8f8f0;filter:none;box-shadow:0 0 0 4px rgba(23,161,112,.07)}.kitting-signal.yellow{border-color:#ecd9ac;background:#fff5dd;filter:none}.kitting-signal.red{border-color:#efcbc8;background:#ffedeb;filter:none}.live-progress{min-width:195px}.live-progress>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:#617982;font-size:7.5px}.live-progress b{color:#153e4a;font:bold 9px Arial}.live-progress progress{display:block;width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;background:#e3ebed}.live-progress progress::-webkit-progress-bar{background:#e3ebed}.live-progress progress::-webkit-progress-value{border-radius:20px;background:linear-gradient(90deg,#13a596,#27c39c)}.live-progress progress::-moz-progress-bar{border-radius:20px;background:linear-gradient(90deg,#13a596,#27c39c)}.live-progress.compact{min-width:0}.delay-chip{display:inline-flex;margin-top:6px;padding:4px 6px;border-radius:7px;background:#fff1dd;color:#aa6c13;font-size:6.5px;font-weight:900}.order-status{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:#eef3f4;color:#637983;font-size:7px;font-weight:900;white-space:nowrap}.order-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-ready{background:#e8f7f2;color:#137e5b}.status-wip{background:#e7f3fb;color:#22799c}.status-hold{background:#ffebe9;color:#b9453f}.status-completed{background:#e8f8ee;color:#168054}.status-waiting{background:#fff4dd;color:#a66c14}.andon-live{display:block;margin-top:6px;color:#b7443e;font:900 6.5px Arial;letter-spacing:.08em}.sla-cell b,.sla-cell span,.sla-cell small{display:block}.sla-cell b{font-size:8px}.sla-cell span{margin-top:4px;color:#b4543d;font-size:7px;font-weight:900}.sla-cell small{margin-top:4px;color:#819198;font-size:6.5px}.production-actions{position:relative}.production-actions>.action-menu-toggle{display:grid;place-items:center}.production-actions .action-menu form{margin:0;border-top:1px solid #edf2f3}.production-actions .action-menu button:disabled{color:#aab5b9;cursor:not-allowed}.production-actions .action-menu button:disabled:hover{background:transparent}.production-kanban{display:grid;grid-template-columns:repeat(5,minmax(245px,1fr));gap:12px;align-items:start;overflow:auto;padding-bottom:10px}.kanban-column{min-height:440px;border:1px solid #dae6e8;border-radius:19px;background:#f3f7f8;overflow:hidden}.kanban-column>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 16px;border-bottom:1px solid #dce7e9;background:rgba(255,255,255,.78)}.kanban-column>header h3{margin:0;font-size:11px}.kanban-column>header small{display:block;margin-top:5px;color:#7a8b92;font-size:6.5px}.kanban-column>header>b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:#e6f5f2;color:#0e7f75;font:bold 10px Arial}.column-wip>header{border-top:3px solid #2c91b2}.column-hold>header{border-top:3px solid #d3544d}.column-completed>header{border-top:3px solid #20a16d}.column-ready>header{border-top:3px solid #d9a12f}.kanban-stack{display:grid;gap:10px;padding:11px}.kanban-card{position:relative;padding:13px;border:1px solid #dde7e9;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(5,39,51,.045)}.kanban-card.stopped{border-color:#ebc5c2;background:#fff8f7}.kanban-card-head,.kanban-card-head>div,.kanban-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.kanban-card-head .kitting-signal{display:inline-grid;width:28px;height:28px;font-size:12px}.kanban-card h4{margin:11px 0 5px;font-size:10px}.kanban-card p{margin:0 0 12px;color:#71848c;font-size:7px}.kanban-card footer{margin-top:12px;padding-top:10px;border-top:1px solid #edf1f2;color:#607780;font-size:7px}.kanban-card .production-actions .action-menu{left:0;right:auto}.kanban-sla{margin-top:8px;padding:7px 8px;border-radius:9px;background:#fff0e9;color:#ac563d;font-size:7px;font-weight:900}.kanban-empty{padding:35px 10px;color:#93a1a6;text-align:center;font-size:7px}.production-dialog textarea{min-height:92px}.btn-danger{background:#c84e47;color:#fff;border-color:#c84e47}.muted{color:#8a9a9f;font-size:7px}
@media(max-width:1100px){.production-toolbar{align-items:stretch;flex-direction:column}.production-filter-form{width:100%}.view-switch{align-self:flex-start}.production-kanban{grid-template-columns:repeat(5,280px)}}
@media(max-width:820px){.production-kpis{grid-template-columns:1fr}.production-filter-form{grid-template-columns:1fr 1fr}.production-filter-form label:first-of-type{grid-column:1/-1}.production-table-wrap{max-height:none}.production-page-head{align-items:flex-start}.production-page-head .btn{width:100%}}
@media(max-width:520px){.production-filter-form{grid-template-columns:1fr}.production-filter-form label:first-of-type{grid-column:auto}.view-switch{width:100%}.view-switch a{flex:1;text-align:center}.production-kpis article{min-height:90px}.production-kanban{grid-template-columns:repeat(5,86vw)}}
/* Identity and access control */
.access-page-head { align-items: flex-end; }
.access-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.access-kpis article { min-height: 120px; position: relative; overflow: hidden; display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid rgba(148,163,184,.16); border-radius: 20px; background: linear-gradient(145deg, rgba(17,31,50,.96), rgba(8,18,31,.96)); box-shadow: 0 14px 34px rgba(0,0,0,.16); }
.access-kpis article::after { content: ""; position: absolute; inset-inline-end: -28px; bottom: -38px; width: 110px; height: 110px; border-radius: 50%; background: rgba(34,211,238,.06); }
.access-kpis article.attention { border-color: rgba(251,113,133,.35); box-shadow: inset 0 0 28px rgba(244,63,94,.06), 0 14px 34px rgba(0,0,0,.16); }
.access-kpis div { display: grid; gap: 3px; z-index: 1; }
.access-kpis small { color: #aab8c9; font-size: .73rem; }
.access-kpis strong { font-size: 1.85rem; line-height: 1; color: #f7fbff; }
.access-kpis em { color: #718399; font-style: normal; font-size: .68rem; }
.access-kpi-orb { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: #7dd3fc; background: rgba(14,165,233,.13); border: 1px solid rgba(56,189,248,.22); font-size: 1.2rem; font-weight: 800; }
.access-kpi-orb.pending { color: #fbbf24; background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.22); }
.access-kpi-orb.locked,.access-kpi-orb.denied { color: #fb7185; background: rgba(244,63,94,.12); border-color: rgba(244,63,94,.23); }
.access-kpi-orb.shield { color: #c4b5fd; background: rgba(139,92,246,.13); border-color: rgba(167,139,250,.24); }
.access-table-card,.login-audit-card { overflow: visible; margin-bottom: 20px; }
.access-table-card .card-head,.login-audit-card .card-head { padding: 20px 22px; }
.access-table-card .card-head p,.login-audit-card .card-head p { margin: 4px 0 0; color: #8393a8; font-size: .78rem; }
.access-total,.audit-live { padding: 8px 12px; border-radius: 999px; color: #9bdcf7; background: rgba(14,165,233,.1); border: 1px solid rgba(56,189,248,.2); font-size: .72rem; white-space: nowrap; }
.audit-live { color: #86efac; background: rgba(34,197,94,.1); border-color: rgba(74,222,128,.2); }
.audit-live i { display: inline-block; width: 7px; height: 7px; margin-inline-end: 6px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 12px #4ade80; }
.access-table { min-width: 1050px; }
.access-user-row { position: relative; }
.access-user-row::after { content: ""; position: absolute; inset-inline-start: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 4px; background: #22c55e; opacity: .7; }
.access-user-row.state-pending::after { background: #f59e0b; }
.access-user-row.state-locked::after,.access-user-row.state-suspended::after { background: #f43f5e; }
.identity-cell { display: flex; align-items: center; gap: 12px; min-width: 190px; }
.identity-avatar { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 14px; color: #d9f6ff; font-weight: 900; background: linear-gradient(145deg, #164e63, #0e7490); box-shadow: 0 8px 20px rgba(8,145,178,.22); }
.identity-cell div { display: grid; gap: 2px; }
.identity-cell small { color: #7790a9; }
.identity-cell em { width: max-content; padding: 2px 6px; border-radius: 7px; color: #67e8f9; background: rgba(6,182,212,.1); font-size: .6rem; font-style: normal; }
.role-chips { display: flex; flex-wrap: wrap; gap: 5px; max-width: 220px; }
.role-chips span { padding: 4px 8px; border: 1px solid rgba(125,211,252,.17); border-radius: 8px; color: #b9e8fb; background: rgba(14,165,233,.08); font-size: .68rem; }
.scope-cell,.session-cell { display: grid; gap: 4px; max-width: 240px; }
.scope-cell span,.scope-cell small,.session-cell small { color: #879bb1; font-size: .7rem; }
.scope-cell .scope-all { color: #6ee7b7; }
.session-cell b { font-size: .77rem; }
.account-state { display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px; border-radius: 999px; color: #86efac; background: rgba(34,197,94,.1); border: 1px solid rgba(74,222,128,.18); font-size: .69rem; white-space: nowrap; }
.account-state i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.account-state.pending { color: #fbbf24; background: rgba(245,158,11,.1); border-color: rgba(245,158,11,.2); }
.account-state.locked,.account-state.suspended { color: #fb7185; background: rgba(244,63,94,.1); border-color: rgba(244,63,94,.2); }
.two-factor-chip,.suspend-reason { display: block; width: max-content; max-width: 160px; margin-top: 5px; padding: 3px 7px; border-radius: 7px; color: #c4b5fd; background: rgba(139,92,246,.1); font-size: .62rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suspend-reason { color: #fda4af; background: rgba(244,63,94,.08); }
.access-actions { position: relative; }
.access-actions .action-menu { min-width: 210px; }
.access-actions .action-menu button { text-align: start; }
.login-result { padding: 4px 9px; border-radius: 999px; font-size: .67rem; color: #86efac; background: rgba(34,197,94,.1); }
.login-result.failed { color: #fda4af; background: rgba(244,63,94,.1); }
.audit-agent { display: block; max-width: 340px; margin-top: 3px; color: #64748b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.access-dialog { width: min(720px, calc(100vw - 26px)); }
.access-dialog.compact { width: min(540px, calc(100vw - 26px)); }
.security-dialog-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: #7dd3fc; background: rgba(14,165,233,.12); border: 1px solid rgba(56,189,248,.22); }
.security-dialog-icon.warning { color: #fbbf24; background: rgba(245,158,11,.1); border-color: rgba(245,158,11,.2); }
.security-dialog-icon.danger { color: #fb7185; background: rgba(244,63,94,.1); border-color: rgba(244,63,94,.2); }
.access-form { display: grid; gap: 15px; margin-top: 18px; }
.access-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.access-form label { display: grid; gap: 7px; color: #cbd5e1; font-size: .75rem; font-weight: 700; }
.access-form label small { color: #718399; font-size: .65rem; font-weight: 400; }
.access-form select[multiple] { min-height: 120px; padding: 8px; }
.access-form select[multiple] option { padding: 7px 8px; margin-bottom: 2px; border-radius: 6px; }
.access-form select[multiple] option:checked { color: #e6f9ff; background: linear-gradient(90deg,#0e7490,#155e75); }
.security-toggles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.security-toggles label { grid-template-columns: auto 1fr; align-items: start; gap: 9px; padding: 12px; border: 1px solid rgba(148,163,184,.14); border-radius: 13px; background: rgba(15,23,42,.4); cursor: pointer; }
.security-toggles input { margin-top: 3px; accent-color: #06b6d4; }
.security-toggles span { display: grid; gap: 2px; }

@media (max-width: 1200px) { .access-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) { .access-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } .access-kpis article { min-height: 100px; padding: 14px; } .access-form-grid,.security-toggles { grid-template-columns: 1fr; } .access-page-head { align-items: stretch; } .access-table-card .card-head,.login-audit-card .card-head { align-items: flex-start; flex-direction: column; gap: 12px; } .access-table-card .card-head > div,.login-audit-card .card-head > div { width: 100%; } .access-table-card .card-head p,.login-audit-card .card-head p { max-width: none; line-height: 1.9; } .access-total,.audit-live { align-self: flex-start; } }
@media (max-width: 460px) { .access-kpis { grid-template-columns: 1fr; } }
.security-dashboard-alert { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding: 14px 17px; border: 1px solid rgba(251,113,133,.3); border-radius: 16px; color: #fecdd3; background: linear-gradient(90deg,rgba(136,19,55,.24),rgba(76,5,25,.14)); text-decoration: none; box-shadow: inset 0 0 24px rgba(244,63,94,.05); }
.security-dashboard-alert > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #fb7185; background: rgba(244,63,94,.12); }
.security-dashboard-alert div { flex: 1; display: grid; gap: 2px; }
.security-dashboard-alert small { color: #be8e99; }
/* Enterprise control plane v4 */
.enterprise-hero,.mes-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px;border:1px solid rgba(86,211,255,.2);border-radius:24px;background:linear-gradient(125deg,rgba(9,30,53,.96),rgba(17,40,70,.86)),radial-gradient(circle at 80% 10%,rgba(91,94,246,.3),transparent 35%);box-shadow:0 24px 70px rgba(0,0,0,.22);margin-bottom:22px;color:#f7fbff}.enterprise-hero h2,.mes-header h2{font-size:clamp(1.4rem,2.7vw,2.35rem);margin:8px 0;color:#f7fbff}.enterprise-hero p,.mes-header p{color:#b8c9dc;max-width:720px}.metric-copy{color:var(--muted);max-width:720px}.enterprise-stats{margin-bottom:22px}.good-text{color:#56e6a5}.enterprise-form{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:12px;align-items:end;margin-bottom:18px}.enterprise-form fieldset{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:9px 12px}.enterprise-form fieldset label{display:flex;flex-direction:row;gap:5px;align-items:center}.enterprise-form input,.stack-form input,.stack-form select,.decision-form textarea,.inline-form input,.filter-bar input,.filter-bar select{background:rgba(7,17,31,.65);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:10px;min-width:0}.btn-block{display:flex;width:100%;justify-content:center}.workflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px}.workflow-card{border-top:3px solid #f4b942}.workflow-card.approved{border-color:#35d59d}.workflow-card.rejected{border-color:#ff647c}.workflow-card h3{margin:9px 0 0}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.meta-grid div{padding:10px;border-radius:12px;background:rgba(255,255,255,.025)}.meta-grid dt{font-size:.72rem;color:var(--muted)}.meta-grid dd{margin:3px 0 0}.decision-timeline{border-right:2px solid var(--line);margin:14px 7px}.decision-timeline>div{display:flex;gap:10px;margin:10px 0}.decision-timeline>div>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#233b5d}.decision-timeline p{margin:0;display:grid}.decision-timeline small{color:var(--muted)}.decision-form textarea{width:100%;min-height:70px;resize:vertical}.decision-form>div{display:flex;gap:8px;margin-top:8px}.integrity-banner{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-radius:18px;margin-bottom:18px;background:rgba(53,213,157,.09);border:1px solid rgba(53,213,157,.3)}.integrity-banner.failed{background:rgba(255,100,124,.08);border-color:rgba(255,100,124,.35)}.integrity-banner>div{display:grid}.integrity-banner small{color:var(--muted)}.integrity-banner>span{font:700 .78rem monospace;letter-spacing:.12em}.tall-table{max-height:70vh}.tall-table td code{display:block;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9fdffa}.tall-table td small{display:block;color:var(--muted)}.notification-list{display:grid;gap:12px}.notification{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.notification.unread{border-color:rgba(86,211,255,.3);background:linear-gradient(110deg,rgba(86,211,255,.06),var(--card))}.notification-dot{width:10px;height:10px;border-radius:50%;background:#56d3ff;box-shadow:0 0 16px #56d3ff}.notification.warning .notification-dot{background:#f4b942}.notification.danger .notification-dot{background:#ff647c}.notification h3,.notification p{margin:0 0 4px}.notification small{color:var(--muted)}.yield-ring{width:130px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle,#0b1829 57%,transparent 58%),conic-gradient(#35d59d 0 82%,#20354f 82%);box-shadow:0 0 40px rgba(53,213,157,.15)}.yield-ring strong{font-size:1.45rem}.yield-ring small{color:var(--muted)}.operation-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:20px 0}.operation{position:relative;border-top:3px solid #7286a4}.operation.running{border-color:#56d3ff;box-shadow:0 0 30px rgba(86,211,255,.09)}.operation.completed{border-color:#35d59d}.operation .sequence{position:absolute;inset:12px auto auto 12px;width:28px;height:28px;border-radius:9px;background:#172d48;display:grid;place-items:center}.operation dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.operation dt{font-size:.68rem;color:var(--muted)}.operation dd{margin:3px 0;font-size:.85rem}.operation form{display:inline-flex;margin-left:6px}.inline-form{display:flex;gap:6px;min-width:280px}.inline-form input{max-width:130px}.filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:16px;margin-bottom:20px}.filter-bar label,.enterprise-form label,.stack-form label{display:grid;gap:6px;color:var(--muted);font-size:.78rem}.bi-bars{display:grid;gap:16px}.bi-bars>div{display:grid;grid-template-columns:minmax(130px,1fr) 4fr 140px;align-items:center;gap:14px}.bi-bars>div>div{height:12px;border-radius:20px;background:#152942;overflow:hidden}.bi-bars i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5668f6,#56d3ff);box-shadow:0 0 15px rgba(86,211,255,.35)}.compliance-note{padding:14px 18px;border-radius:14px;background:rgba(244,185,66,.08);color:#d8c08d;border:1px solid rgba(244,185,66,.2)}
@media(max-width:900px){.enterprise-form{grid-template-columns:1fr}.enterprise-hero,.mes-header{align-items:flex-start;flex-direction:column}.notification{grid-template-columns:auto 1fr}.notification form{grid-column:2}.bi-bars>div{grid-template-columns:1fr}.inline-form{min-width:0;flex-wrap:wrap}.yield-ring{width:105px}}
.scanner-shell{max-width:720px;margin:0 auto}.scanner-card{text-align:center;padding:clamp(22px,5vw,52px);border-radius:28px;background:radial-gradient(circle at 50% 0,rgba(86,211,255,.13),transparent 40%),var(--card);border:1px solid rgba(86,211,255,.25)}.scanner-icon{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 16px;border-radius:24px;font-size:3rem;background:#102b45;color:#56d3ff;box-shadow:0 0 40px rgba(86,211,255,.15)}#warehouseScanner{display:grid;gap:12px;margin:24px 0}#warehouseScanInput{font:700 1.35rem monospace;text-align:center;padding:18px;border-radius:14px;background:#06111f;color:#e9f7ff;border:2px solid #2b6582}.scan-result{min-height:155px;display:grid;place-items:center;align-content:center;gap:6px;padding:18px;border-radius:18px;background:rgba(0,0,0,.16);margin-bottom:12px}.scan-result h3,.scan-result p{margin:3px}.scanner-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.scanner-shortcuts a{padding:16px;text-align:center;border-radius:14px;background:var(--card);border:1px solid var(--line)}@media(max-width:600px){.scanner-shortcuts{grid-template-columns:1fr}.scanner-card .btn{min-height:54px;font-size:1rem}}
