/* Pixel-matched desktop layer for the 2039 × 1280 TradeFlow reference. */
:root{--sidebar-w:335px;--content-gutter:42px;--panel-gap:22px}
html,body{background:#f8f8f4;overflow-x:hidden}
.app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
.sidebar{width:var(--sidebar-w);padding:12px 11px 86px;border-color:#deded6;border-radius:0 14px 14px 0;background:#f8f8f2;box-shadow:2px 0 10px rgba(18,23,29,.035);scrollbar-width:thin;scrollbar-color:#d8d8d2 transparent}
.brand{height:100px;padding:1px 10px 18px;margin-bottom:14px}
.brand-mark{width:78px;height:69px;margin-right:10px}
.brand-title{font-size:25px;letter-spacing:-1.2px}
.brand-sub{font-size:9px;margin-left:7px}
.brand-version{font-size:11px;margin-top:5px}
.menu-section{margin:35px 10px 9px;font-size:14px}
.brand+.menu-section{margin-top:25px}
.menu-item{height:50px;border-radius:9px;padding:0 13px;gap:12px;font-size:15px}
.menu-item.active{background:#ecece6}
.submenu{padding-left:37px;margin-left:25px}
.submenu .menu-item{height:46px}
.sidebar-account{left:11px;bottom:8px;width:312px;height:61px;padding:8px 15px;background:rgba(248,248,242,.97)}
.avatar{width:42px;height:42px;border-radius:13px;font-size:13px}
.account-name{font-size:15px}.account-role{font-size:12px}.account-bell{margin-right:3px}
.main{grid-column:2}
.topbar{height:66px;padding:0 28px 0 34px;background:rgba(250,250,247,.96)}
.sidebar-toggle{margin-right:22px}
.module-icon{width:42px;height:42px;margin-left:0;border-radius:13px}
.breadcrumb{margin-left:14px;font-size:14px}
.breadcrumb strong{font-size:16px;margin-left:8px}
.top-actions{gap:9px}
.top-pill{height:43px;border-radius:12px;padding:0 16px;font-size:14px;gap:9px}
.apple-mark{width:15px;height:17px;overflow:hidden;display:inline-grid;place-items:center;color:#05060a;font-size:19px;line-height:1;transform:scaleX(.84)}
.wechat-mark{color:#10b866;font-size:10px;letter-spacing:-5px;width:20px;transform:translateX(-2px)}
.currency{height:42px;padding:0 9px;font-size:13px;letter-spacing:.2px}
.flag-icon{width:14px;height:10px;border-radius:1px;display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.flag-icon.us{background:repeating-linear-gradient(to bottom,#c64b51 0 1px,#fff 1px 2px)}
.flag-icon.eu{background:#21437e;position:relative}.flag-icon.eu:after{content:'·';color:#ffd85a;position:absolute;inset:-5px 0 0;text-align:center;font-size:15px}
.flag-icon.cn{position:relative;background:#de2910}.flag-icon.cn:after{content:'★';position:absolute;left:1px;top:-2px;color:#ffde00;font-size:7px;line-height:10px}
.currency{border-radius:9px;transition:background-color .18s ease,color .18s ease}.currency:hover{background:#f1f1ec;color:#181a1e}.currency.stale{color:#a26918;background:#fff9e8}
.page{padding:0 28px 56px var(--content-gutter)}
.hero{height:147px}
.hero-greeting{min-width:690px}
.salad{width:82px;height:82px;flex:0 0 82px;margin-left:0;border-radius:50%;background-image:url('./assets/tradeflow-reference.jpg');background-size:2039px 1280px;background-position:-377px -94px;background-repeat:no-repeat;box-shadow:none}
.hero-text{margin-left:20px;font-size:35px;letter-spacing:.5px;white-space:nowrap}
.hero-line{height:4px;margin:7px 0 0 20px}
.hero-filters{gap:10px;white-space:nowrap}
.filter-label{font-size:14px;margin-right:6px}
.hero-filters .select{height:46px;min-width:170px;border-radius:10px;font-size:15px}
.periods{gap:3px}.period{height:44px;padding:0 16px;font-size:15px}.period.active{border-color:#e2e2dc}
.dashboard{padding-top:32px}
.dashboard-top{grid-template-columns:minmax(0,3fr) minmax(310px,2fr);gap:var(--panel-gap);align-items:stretch}
.panel{border-color:#e4e4df;box-shadow:0 2px 8px rgba(18,22,29,.055)}
.cockpit,.rhythm{height:395px}
.cockpit{padding:25px 27px}
.cockpit-head{min-height:112px}
.health-chip,.date-chip{height:28px;font-size:13px}
.cockpit-title{font-family:"STSong","Songti SC",serif;font-size:29px;font-weight:600;margin:18px 0 3px}
.cockpit-sub{font-size:14px}
.panel-actions{gap:10px}
.panel-actions .btn{height:47px;border-radius:12px;padding:0 17px;font-size:15px}
.metric-grid{gap:14px;margin-top:37px}
.metric{min-height:177px;border-radius:11px;padding:21px 20px}
.metric-label{font-size:14px}.metric-value{font-size:34px;margin:10px 0 18px}.metric-note{font-size:13px}
.metric-icon{width:43px;height:43px;right:17px;top:18px;border-radius:11px}
.metric-next{right:16px;bottom:21px}.progress{height:7px}
.rhythm{padding:27px 27px}.section-kicker{font-size:15px}.rhythm-value{font-size:45px;margin:17px 0 24px}.rhythm .progress{height:10px}
.rhythm-icon{width:47px;height:47px}.rhythm-stats{margin-top:27px;gap:22px}.rhythm-stat span{font-size:14px}.rhythm-stat strong{font-size:16px}
.secondary-metrics{gap:18px;margin-top:19px}
.secondary-metrics .metric{height:184px;min-height:184px;padding:22px 21px}
.secondary-metrics .metric-value{font-size:34px}
.health-panel{position:relative;height:370px;margin-top:26px;padding:27px 28px;overflow:hidden}
.health-head h2{font-size:18px}.health-sub{font-size:13px;margin:7px 0 29px}
.health-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.health-card{min-height:143px;padding:18px}
.health-card h3{font-size:15px}.health-card p{font-size:13px}.health-card strong{font-size:23px;left:18px;bottom:17px}
.status{right:16px;top:15px;font-size:12px}
.operator-mascot{position:absolute;right:41px;top:26px;width:86px;height:178px;background-image:url('./assets/tradeflow-reference.jpg');background-size:2039px 1280px;background-position:-1873px -882px;background-repeat:no-repeat;pointer-events:none;z-index:3}
.ai-fab{right:28px;bottom:58px;width:126px;height:59px;padding:0 19px;border-radius:19px;display:flex;align-items:center;justify-content:center;gap:9px}.fab-monogram{font-size:16px;font-weight:800}.fab-label{font-size:14px;font-weight:700;white-space:nowrap}
.footer{position:fixed;z-index:24;left:var(--sidebar-w);right:0;bottom:0;height:39px;padding:0;background:rgba(250,250,247,.96);border-top:1px solid #ecece7;display:flex;align-items:center;justify-content:center;font-size:11px;backdrop-filter:blur(12px)}
.assistant-drawer{right:4%;top:10%;width:720px;height:82%}
@media(max-width:1500px){:root{--sidebar-w:282px;--content-gutter:28px}.brand-mark{width:65px}.brand-title{font-size:22px}.sidebar-account{width:259px}.hero-greeting{min-width:520px}.hero-text{font-size:29px}.period{padding:0 10px}.cockpit,.rhythm{height:auto}.metric{min-height:160px;padding:17px}.health-panel{height:auto;min-height:350px}}
@media(max-width:1180px){:root{--sidebar-w:220px;--content-gutter:22px}.sidebar-account{width:197px}.hero{height:auto;min-height:145px;align-items:flex-start;padding:24px 0;gap:18px;flex-direction:column}.hero-filters{margin-left:0}.dashboard-top{grid-template-columns:1fr}.secondary-metrics,.health-grid{grid-template-columns:repeat(2,1fr)}.operator-mascot{display:none}}

/* Production-grade resource forms */
.form-drawer{width:min(720px,100vw)}
.drawer-header{height:auto;min-height:86px;padding-top:15px;padding-bottom:15px}
.drawer-header h2{margin:0 0 5px}
.drawer-header p{margin:0;color:#8a8e94;font-size:12px}
.resource-form{min-height:0;display:flex;flex:1;flex-direction:column}
.form-section{margin:5px 0 -2px;padding:12px 0 9px;border-bottom:1px solid #e8e8e2;color:#172238;font-size:13px}
.form-section:first-child{margin-top:-5px}
.form-field input[readonly]{background:#f4f4ef;color:#656a71;cursor:not-allowed}
.permission-field{margin:0;padding:0;border:0}.permission-field.full{grid-column:1/-1}.permission-field legend{margin-bottom:9px;color:#666b72;font-size:12px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.permission-grid label{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e1e2dc;border-radius:10px;background:#fff;color:#33383e;font-size:12px;cursor:pointer}
.permission-grid input{width:16px;height:16px;margin:0;accent-color:#10aeb7}
.product-permission-field{margin-top:5px;padding:16px!important;border:1px solid rgba(18,110,100,.14)!important;border-radius:14px!important;background:#f7fbfa}
.product-permission-field legend{padding:0 6px;color:#183c38;font-size:13px;font-weight:700}
.product-permission-field>p{margin:-1px 0 12px;color:#707b79;font-size:12px;line-height:1.55}
.product-permission-grid label{align-items:flex-start;min-width:0;background:#fff;box-shadow:0 1px 2px rgba(25,36,43,.025)}
.product-permission-grid label>span{display:grid;min-width:0;gap:3px}
.product-permission-grid strong{color:#263431;font-size:12px;font-weight:650}
.product-permission-grid small{color:#7a8582;font-size:10px;line-height:1.4}
.form-field input:invalid:not(:placeholder-shown),.form-field textarea:invalid:not(:placeholder-shown){border-color:#d96862}
.line-items{display:grid;gap:9px;margin-bottom:10px}
.line-item{display:grid;grid-template-columns:1fr 1.45fr 82px 100px 34px;gap:8px;align-items:end;padding:11px;border:1px solid #e4e4df;border-radius:11px;background:#fff}
.line-item label{margin:0}
.line-item label span{display:block;margin:0 0 5px;color:#858990;font-size:10px}
.line-item input{height:38px;padding:8px 9px}
.line-price-hint{grid-column:1/-2;min-height:16px;color:#67737b;font-size:11px;line-height:1.35}
.line-item-remove{width:34px;height:38px;border:1px solid #eadfdb;border-radius:9px;background:#fff8f6;color:#b8524d;font-size:18px}
.add-line-item{margin-top:1px}
.receipt-allocations{display:grid;gap:9px;margin-bottom:10px}
.receipt-allocation-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 34px;gap:8px;align-items:end;padding:11px;border:1px solid #e4e4df;border-radius:11px;background:#fff}
.receipt-allocation-row label{margin:0}
.receipt-allocation-row label span{display:block;margin:0 0 5px;color:#858990;font-size:10px}
.receipt-allocation-row input{height:38px;padding:8px 9px}
.receipt-allocation-plan{grid-column:1/-2;min-height:16px;color:#4e7774;font-size:11px;line-height:1.4}
.form-hint{display:block;margin-top:7px;color:#78838a;font-size:12px;line-height:1.5}
.image-uploader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.image-preview{min-height:112px;border:1px dashed #cfd7d4;border-radius:12px;background:#f8faf8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#87908d;overflow:hidden}
.image-preview img{width:100%;height:150px;object-fit:contain;background:#fff}
.image-preview small{font-size:11px}
.receipt-voucher-image{display:flex;max-width:460px;max-height:340px;overflow:hidden;border:1px solid #e2e7e4;border-radius:12px;background:#f7faf8}.receipt-voucher-image img{display:block;width:100%;height:100%;max-height:340px;object-fit:contain;background:#fff}.receipt-voucher .detail-history-head a{color:#168b7c;font-size:12px;font-weight:700;text-decoration:none}
.upload-trigger{cursor:pointer}
.image-uploader input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.drawer-footer{flex:0 0 72px}
.product-thumb img{width:100%;height:100%;object-fit:contain;padding:24px;background:linear-gradient(145deg,#f2f1eb,#fbfbf8)}
.product-actions{margin-left:auto;display:flex;gap:7px}
.detail-overlay{position:fixed;inset:0;z-index:65;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(15,17,21,.3);backdrop-filter:blur(2px)}
.detail-overlay.open{display:flex}
.detail-dialog{width:min(820px,100%);max-height:min(820px,92vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid #deded8;border-radius:20px;background:#fbfbf8;box-shadow:0 24px 70px rgba(15,18,24,.23)}
.detail-head{min-height:86px;padding:18px 24px;display:flex;align-items:center;border-bottom:1px solid #e7e7e1;background:#fff}
.detail-head span{color:#1aa4a7;font-size:11px;font-weight:700;letter-spacing:1px}
.detail-head h2{margin:4px 0 0;font-size:20px}
.detail-head button{margin-left:auto}
.detail-body{padding:23px 25px;overflow:auto}
.detail-image{height:210px;margin-bottom:18px;border:1px solid #e4e4df;border-radius:14px;overflow:hidden;background:#fff}
.detail-image img{width:100%;height:100%;object-fit:contain;padding:18px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.detail-field{min-width:0;padding:13px 14px;border:1px solid #e7e7e1;border-radius:11px;background:#fff}
.detail-field span{display:block;margin-bottom:6px;color:#878b91;font-size:11px}
.detail-field strong{display:block;overflow-wrap:anywhere;color:#20242a;font-size:13px;line-height:1.45}
.detail-field-cost{border-color:#cfe9e4;background:#f3fbf9}
.detail-field-cost span{color:#4f7770}
.detail-field-cost strong{color:#0f6d60;font-variant-numeric:tabular-nums}
.table-actions{flex-wrap:wrap;min-width:96px}
.detail-items{margin-top:22px}.detail-items h3{font-size:14px}
.detail-items-table{overflow:auto;border:1px solid #e5e5df;border-radius:12px;background:#fff}
.detail-item{min-width:620px;display:grid;grid-template-columns:1fr 1.6fr .6fr .8fr .9fr;gap:10px;padding:12px 14px;border-top:1px solid #eeeeea;font-size:12px}
.detail-item:first-child{border-top:0}.detail-item-head{background:#f7f7f3;color:#777c83;font-weight:600}
.dashboard-revenue-table .detail-item{min-width:1040px;grid-template-columns:1.15fr 1fr 1.45fr .45fr .8fr .75fr .8fr 1.05fr;align-items:center}
.dashboard-revenue-table .detail-item span{min-width:0;overflow-wrap:anywhere}.dashboard-revenue-table .detail-item span small{display:block;margin-top:3px;color:#8b9198;font-size:11px}
.detail-history{margin-top:22px}.detail-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.detail-history-head h3{margin:0;font-size:14px}.detail-history-head span{color:#7e848a;font-size:11px}.detail-history-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-history-columns section,.detail-history-list{min-width:0;padding:14px;border:1px solid #e5e5df;border-radius:12px;background:#fff}.detail-history-columns h4{margin:0 0 9px;font-size:12px}.detail-history-columns p{margin:0;color:#8a8e94;font-size:12px}.detail-history-list{display:grid;gap:8px}.detail-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;border-radius:9px;background:#f7f8f6}.detail-history-row strong{min-width:0;overflow-wrap:anywhere;font-size:12px}.detail-history-row span{color:#148f7d;font-size:11px;font-weight:700}.detail-history-row small{grid-column:1/-1;overflow:hidden;color:#7d8289;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.detail-footer{min-height:70px;padding:14px 24px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;border-top:1px solid #e5e5df;background:#fff}
.confirm-overlay{position:fixed;inset:0;z-index:70;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(15,17,21,.34);backdrop-filter:blur(2px)}
.confirm-overlay.open{display:flex}
.confirm-dialog{width:min(410px,100%);padding:28px;border:1px solid #e5e0da;border-radius:18px;background:#fff;box-shadow:0 22px 60px rgba(15,18,24,.24);text-align:center}
.confirm-icon{width:52px;height:52px;margin:0 auto 15px;display:grid;place-items:center;border-radius:15px;background:#fff4e8;color:#c87022}
.confirm-dialog h2{margin:0 0 8px;font-size:19px}.confirm-dialog p{margin:0;color:#777c83;font-size:13px;line-height:1.6}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.btn.danger{border-color:#bc4d47;background:#bc4d47;color:#fff}
.rhythm{position:relative}.rhythm-edit{position:absolute;right:22px;top:68px}
.embedded-records{margin-top:18px;overflow:hidden}.embedded-head{padding:18px 20px;border-bottom:1px solid #ecece6}.embedded-head h3{margin:0 0 5px;font-size:16px}.embedded-head p{margin:0;color:#85898f;font-size:12px}.embedded-scroll{overflow:auto}
.target-overlay{position:fixed;inset:0;background:rgba(15,17,21,.3);z-index:75;display:none;align-items:center;justify-content:center;padding:20px}.target-overlay.open{display:flex}
.target-dialog{display:flex;width:min(560px,100%);max-height:calc(100dvh - 40px);min-height:0;flex-direction:column;background:#fbfbf8;border:1px solid #deded8;border-radius:18px;box-shadow:0 24px 70px rgba(18,20,25,.22);overflow:hidden}
.target-head{padding:18px 22px;background:#fff;border-bottom:1px solid #e7e7e2;display:flex;align-items:center}.target-head span{display:block;color:#149a82;font-size:11px;font-weight:700;letter-spacing:1px}.target-head h2{margin:4px 0 0;font-size:20px}.target-head .icon-btn{margin-left:auto}
.target-dialog>form{display:flex;min-height:0;flex:1;flex-direction:column}.target-head,.target-actions{flex:0 0 auto}.target-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px;scrollbar-gutter:stable}.target-actions{padding:14px 22px;background:#fff;border-top:1px solid #e7e7e2;display:flex;justify-content:flex-end;gap:9px}
.product-selector{max-height:260px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid #deded8;border-radius:11px;background:#fff}.product-choice{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #ecece6;border-radius:9px;cursor:pointer}.product-choice:has(input:checked){border-color:#62cdd0;background:#f2fcfb}.product-choice input{width:auto;margin-top:3px}.product-choice span{min-width:0}.product-choice strong,.product-choice small{display:block}.product-choice strong{font-size:12px}.product-choice small{margin-top:4px;color:#85898f;font-size:10px}.product-selector-state{grid-column:1/-1;padding:20px;text-align:center;color:#85898f;font-size:12px}
.movement-list{display:grid;gap:10px}.movement-row{display:grid;grid-template-columns:90px 1fr auto;gap:6px 14px;padding:14px 16px;border:1px solid #e8e8e2;border-radius:11px;background:#fff}.movement-row>span{grid-row:1/3;color:#168b77;font-size:12px;font-weight:700}.movement-row strong{font-size:13px}.movement-row small{color:#85898f;font-size:11px}.movement-row em{grid-column:2/-1;color:#5f6670;font-size:11px;font-style:normal}
.notification-trigger{position:relative}.notification-count{position:absolute;right:2px;top:1px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border:2px solid #f9f9f6;border-radius:9px;background:#d95a53;color:#fff;font-size:9px;font-weight:700;line-height:1}
.assistant-body[data-assistant-conversation]{display:flex;flex-direction:column;gap:12px}.assistant-chat-row{display:flex}.assistant-chat-row.user{justify-content:flex-end}.assistant-chat-bubble{max-width:78%;padding:12px 15px;border:1px solid #e4e4de;border-radius:16px 16px 16px 5px;background:#f8f8f4;color:#2a2d32;font-size:14px;line-height:1.6;white-space:pre-wrap}.assistant-chat-row.user .assistant-chat-bubble{border-color:#17192a;border-radius:16px 16px 5px 16px;background:#111326;color:#fff}.assistant-compose .prompt-send:disabled{opacity:.45;cursor:wait}
[hidden]{display:none!important}
.operation-detail{margin:0;padding:16px;border:1px solid #e7e7e1;border-radius:10px;background:#f7f8f7;color:#3b4046;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.data-table td.date-cell{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Storage keeps a critical layout copy in the main fidelity bundle.
   The dedicated storage.css remains the module stylesheet, while these rules
   prevent the admin page from collapsing if that secondary request is stale
   or temporarily unavailable. */
.storage-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}

/* Aggregated workflow refinements: dense, scannable, and overflow-safe. */
.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px}
.toolbar .toolbar-date-range,.report-custom-range{display:flex;align-items:center;gap:8px;min-width:0}
.toolbar-date-range input,.report-custom-range input{min-width:138px;height:38px;border:1px solid var(--line,#dde2df);border-radius:10px;padding:0 10px;background:#fff;color:var(--ink,#17233b)}
.customer-filter-popover{position:relative}
.customer-filter-popover>summary{list-style:none;cursor:pointer;white-space:nowrap}
.customer-filter-popover>summary::-webkit-details-marker{display:none}
.customer-filter-grid{position:absolute;z-index:24;right:0;top:calc(100% + 8px);display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:12px;width:min(560px,calc(100vw - 40px));padding:18px;border:1px solid #dfe6e2;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(17,28,50,.14)}
.customer-filter-grid label{display:grid;gap:6px;color:#65716f;font-size:12px}
.customer-filter-grid input,.customer-filter-grid select{width:100%;min-width:0;height:38px;border:1px solid #dfe6e2;border-radius:10px;padding:0 10px;background:#fff;color:#17233b}
.customer-filter-grid .check-filter{display:flex;align-items:center;gap:8px;align-self:end;height:38px}
.customer-filter-grid .check-filter input{width:16px;height:16px}
.customer-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:4px}

.procurement-line{display:grid;gap:8px;padding:14px;border:1px solid #e1e7e4;border-radius:13px;background:#fbfcfb}
.procurement-decision{display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(3,minmax(110px,.7fr));gap:10px;padding-top:10px;border-top:1px solid #e5ebe8}
.procurement-decision label{display:grid;gap:5px;font-size:11px;color:#697573}
.procurement-decision input,.procurement-decision select{width:100%;min-width:0;height:38px;border:1px solid #dce4e0;border-radius:9px;padding:0 9px;background:#fff;color:#17233b}
.procurement-review-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:14px}
.procurement-card-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:12px 0 0}.procurement-card-toolbar .btn,.procurement-review-actions .btn{width:auto;margin-top:0}.procurement-requirement:not(.is-processing) .procurement-decision,.procurement-requirement:not(.is-processing) .procurement-commercial,.procurement-requirement:not(.is-processing) .procurement-review-actions{display:none}.procurement-commercial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;padding:14px;border:1px solid #dce8e4;border-radius:11px;background:#f7fbfa}.procurement-commercial label{display:grid;gap:5px;color:#697573;font-size:11px}.procurement-commercial label.wide{grid-column:1/-1}.procurement-commercial input,.procurement-commercial textarea{width:100%;min-width:0;border:1px solid #dce4e0;border-radius:9px;padding:9px;background:#fff;color:#17233b}.procurement-detail-lines{display:grid;gap:8px}.procurement-detail-lines article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid #e7ecea;border-radius:10px;background:#fff}.procurement-detail-lines article div{display:grid;gap:4px}.procurement-detail-lines small{color:#778288}.procurement-detail-lines b{color:#087d76}

.shipment-line-selector{min-width:0}
.shipment-selector-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 12px}
.shipment-selector-head .search-wrap{flex:1;max-width:none}
.shipment-selector-head>span{white-space:nowrap;color:#64716e;font-size:12px}
.shipment-order-options{display:grid;gap:12px;max-height:48vh;overflow:auto;padding:2px 6px 2px 2px}
.shipment-order-option{min-width:0;border:1px solid #dfe6e2;border-radius:14px;background:#fff;overflow:hidden}
.shipment-order-option>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 14px;background:#f6f8f7;border-bottom:1px solid #e4e9e6}
.shipment-order-option>header div{display:grid;gap:3px;min-width:0}
.shipment-order-option>header strong,.shipment-order-option>header span,.shipment-order-option>header small{overflow-wrap:anywhere}
.shipment-item-options{display:grid}
.shipment-item-option{display:grid;grid-template-columns:auto minmax(0,1fr) 100px;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #edf0ee}
.shipment-item-option:last-child{border-bottom:0}
.shipment-item-option>span{display:grid;gap:3px;min-width:0}
.shipment-item-option strong,.shipment-item-option small{overflow-wrap:anywhere}
.shipment-item-option>input[type=number]{width:100%;min-width:0;height:38px;border:1px solid #dce4e0;border-radius:9px;padding:0 9px}
.shipment-selection-summary{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border-radius:12px;background:#ecf7f4;color:#285f57;font-size:12px}

.customs-documents{min-width:0;padding:16px;border:1px solid #dfe6e2;border-radius:14px;background:#fbfcfb}
.customs-document-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.customs-document-head>div{display:grid;gap:4px;min-width:0}.customs-document-head strong{color:#16233a;font-size:13px}.customs-document-head small,.customs-document-head>span{color:#74807d;font-size:11px;line-height:1.5}
.customs-document-list{display:grid;gap:8px;margin-bottom:12px}.customs-document-empty{padding:18px;border:1px dashed #ced9d4;border-radius:11px;color:#7b8784;text-align:center;font-size:12px}
.customs-document-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e2e8e5;border-radius:11px;background:#fff}
.customs-document-row>div{display:grid;gap:3px;min-width:0}.customs-document-row strong{overflow:hidden;color:#1a273c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.customs-document-row small{color:#7c8785;font-size:11px}.customs-document-kind{min-width:48px;padding:5px 8px;border-radius:999px;background:#eaf7f4;color:#117e70;font-size:10px;font-weight:800;text-align:center}.customs-document-row button{width:28px;height:28px;border:0;border-radius:8px;background:#f3f5f4;color:#7c8683;cursor:pointer}.customs-document-row button:hover{background:#feecea;color:#b84d45}
.customs-document-actions{display:flex;flex-wrap:wrap;gap:8px}.customs-document-add{width:max-content}.customs-documents>input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.customs-system-picker{min-width:0;margin-top:12px;padding:14px;border:1px solid #d8e3df;border-radius:12px;background:#fff}.customs-system-picker[hidden]{display:none}
.customs-system-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.customs-system-picker-head>div{display:grid;gap:3px;min-width:0}.customs-system-picker-head strong{font-size:13px;color:#17243a}.customs-system-picker-head small{font-size:11px;color:#778381;line-height:1.5}.customs-system-picker-head .icon-btn{flex:0 0 auto;width:30px;height:30px}
.customs-system-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customs-system-option{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid #e1e8e5;border-radius:10px;background:#fbfcfc;cursor:pointer}.customs-system-option:hover{border-color:#8ccfc5;background:#f4fbf9}.customs-system-option.is-linked{opacity:.62;cursor:default}.customs-system-option>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eaf7f4;color:#0c897a}.customs-system-option>div{display:grid;gap:2px;min-width:0}.customs-system-option strong,.customs-system-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customs-system-option strong{font-size:12px;color:#17243a}.customs-system-option small{font-size:10px;color:#788381}.customs-system-empty{grid-column:1/-1;padding:18px;border:1px dashed #d4dfdb;border-radius:10px;color:#73807d;text-align:center;font-size:12px}.customs-system-empty.is-error{color:#a6443e;background:#fff7f6}.customs-system-picker-actions{display:flex;justify-content:flex-end;margin-top:10px}
.customs-detail-lines{overflow:auto;border:1px solid #e1e7e4;border-radius:12px;background:#fff}.customs-detail-line{min-width:720px;display:grid;grid-template-columns:minmax(180px,1.5fr) 100px 85px 120px minmax(150px,1fr);gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #edf1ef;color:#3e4947;font-size:12px}.customs-detail-line:first-child{border-top:0}.customs-detail-line.head{background:#f5f7f6;color:#77817f;font-size:11px;font-weight:700}.customs-detail-line>span{min-width:0;overflow-wrap:anywhere}.customs-detail-line strong,.customs-detail-line small{display:block}.customs-detail-line small{margin-top:3px;color:#7b8583}

@media (max-width:1100px){
  .procurement-decision{grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-filter-grid{right:auto;left:0}
}
@media (max-width:720px){
  .toolbar-date-range,.report-custom-range{width:100%;display:grid!important;grid-template-columns:1fr auto 1fr auto}
  .toolbar-date-range input,.report-custom-range input{min-width:0;width:100%}
  .customer-filter-popover{width:100%}
  .customer-filter-popover>summary{width:100%;justify-content:center}
  .customer-filter-grid{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:72vh;overflow:auto;grid-template-columns:1fr;border-radius:18px}
  .customer-filter-actions{position:sticky;bottom:-18px;margin:0 -18px -18px;padding:12px 18px;background:#fff;border-top:1px solid #e5ebe8}
  .procurement-decision{grid-template-columns:1fr}
  .shipment-selector-head{align-items:stretch;flex-direction:column}
  .shipment-item-option{grid-template-columns:auto minmax(0,1fr)}
  .shipment-item-option>input[type=number]{grid-column:2}
  .shipment-selection-summary{flex-direction:column}
  .customs-document-head{display:grid;gap:8px}
  .customs-system-list{grid-template-columns:1fr}
  .customs-document-actions>*{flex:1 1 150px;justify-content:center}
}
.storage-card{
  min-height:132px;
  padding:20px;
  border:1px solid #e2e6e4;
  border-radius:15px;
  background:#fff;
  box-shadow:0 3px 12px rgba(21,35,52,.035);
  display:flex;
  flex-direction:column;
}
.storage-card span{font-size:13px;color:#78838f}
.storage-card strong{margin-top:12px;color:#0f1d35;font-size:29px;line-height:1.1}
.storage-card small{margin-top:auto;padding-top:12px;color:#89939d;font-size:12px}
.storage-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:16px;
  align-items:start;
}
.storage-panel{padding:24px;min-width:0}
.storage-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}
.storage-panel-head .btn{flex:0 0 auto;white-space:nowrap}
.storage-panel-head h3{margin:0 0 5px;color:#112039;font-size:19px}
.storage-panel-head p{margin:0;color:#7b8792;font-size:13px;line-height:1.55}
.storage-checked{color:#8c969f;font-size:12px;white-space:nowrap}
.storage-scope{display:grid;gap:8px}
.storage-scope>span{font-size:13px;color:#5e6976;font-weight:750}
.storage-scope select{
  width:100%;
  height:46px;
  border:1px solid #dce3e3;
  border-radius:11px;
  padding:0 13px;
  background:#fff;
  color:#16243b;
  font:inherit;
}
.storage-warning{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:16px 0;
  padding:13px 14px;
  border:1px solid #f2dfb5;
  border-radius:12px;
  background:#fffaf0;
  color:#8a6622;
}
.storage-warning svg{flex:0 0 auto;margin-top:1px}
.storage-warning p{margin:0;font-size:13px;line-height:1.55}
.maintenance-preview{margin-top:18px;padding:17px;border-radius:13px;border:1px solid #d8e5e5;background:#f7fbfb}
.maintenance-preview strong{display:block;color:#17263c;font-size:15px}
.maintenance-preview p{margin:6px 0 0;color:#687681;font-size:13px;line-height:1.6}
.maintenance-preview b{color:#b54e3c}
.maintenance-preview.is-blocked{border-color:#f0d0c9;background:#fff6f3}
.maintenance-preview.is-empty{border-color:#e3e6e4;background:#fafbf9}
.maintenance-preview label{display:grid;gap:7px;margin:15px 0 12px}
.maintenance-preview label span{font-size:12px;color:#66737e;font-weight:750}
.maintenance-preview input{
  width:100%;
  height:43px;
  border:1px solid #dcc1bb;
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  color:#15243a;
  font:inherit;
}
.storage-resource-list{display:grid;gap:0;border:1px solid #e4e8e6;border-radius:12px;overflow:hidden}
.storage-resource-row{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid #edf0ef;font-size:13px}
.storage-resource-row:last-child{border-bottom:0}
.storage-resource-row span{color:#596674}
.storage-resource-row strong{color:#17263d}
.storage-empty{padding:28px;text-align:center;color:#8a949d;font-size:13px}
.backup-footnote{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:13px;border-radius:11px;background:#f3f7f6;color:#67747d;font-size:12px;line-height:1.55}
.backup-footnote svg{flex:0 0 auto;color:#229c92}

@media(max-width:1180px){
  .storage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storage-layout{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:680px){
  .storage-summary{grid-template-columns:minmax(0,1fr);gap:10px}
  .storage-card{min-height:112px;padding:17px}
  .storage-panel{padding:18px}
  .storage-panel-head{display:grid;gap:10px}
  .storage-panel-head .btn{width:max-content}
  .storage-checked{white-space:normal}
}
.report-filters{display:flex;align-items:end;gap:14px;margin:0 0 18px;padding:15px 18px;border:1px solid #e6e6e1;border-radius:13px;background:#fff}.report-filters label{display:grid;gap:6px;color:#6f747b;font-size:12px}.report-filters .select{min-width:170px}.report-filters>span{margin-left:auto;padding-bottom:11px;color:#8a8e93;font-size:12px}
.report-metric-control{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:3px;border:1px solid #e1e6e4;border-radius:10px;background:#f5f7f6}.report-metric-control button{min-height:30px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#69747b;font-size:12px;cursor:pointer}.report-metric-control button.active{background:#fff;color:#087d76;font-weight:750;box-shadow:0 1px 5px rgba(22,42,47,.1)}.bar-chart .bar{transition:height .3s ease,opacity .18s ease}.bar-chart .bar.is-metric-hidden{opacity:0;pointer-events:none}
.report-cycle-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 10px}.report-cycle-nav strong{min-width:220px;color:#28384c;text-align:center}.report-comparison-toggle button{min-height:38px;padding:0 12px;border:1px solid #dbe2df;border-radius:9px;background:#fff;color:#66717c;font:inherit;cursor:pointer}.report-comparison-toggle button.active{border-color:#19a59d;background:#eaf8f6;color:#087d76;font-weight:700}.report-comparison-summary{display:flex;align-items:center;gap:16px;margin:-6px 0 18px;padding:12px 16px;border:1px solid #dce9e5;border-radius:12px;background:#f5faf8}.report-comparison-summary>span{margin-right:auto;color:#6d7882;font-size:12px}.report-comparison-summary>div{display:grid;gap:2px;min-width:88px}.report-comparison-summary small{color:#7d868e;font-size:10px}.report-comparison-summary strong{color:#53606e}.report-comparison-summary strong.up{color:#087c60}.report-comparison-summary strong.down{color:#c05a47}
@media (max-width:760px){.report-cycle-nav{justify-content:space-between}.report-cycle-nav strong{min-width:0;font-size:12px}.report-comparison-summary{align-items:stretch;flex-wrap:wrap}.report-comparison-summary>span{width:100%;margin-right:0}.report-comparison-summary>div{min-width:calc(50% - 8px)}}
.expense-cycle-banner{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:12px;margin:0 0 14px;padding:12px 16px;border:1px solid #cde6df;border-radius:12px;background:#f1faf7}.expense-cycle-banner>span{padding:4px 9px;border-radius:999px;background:#d8f2e9;color:#0a7d66;font-size:11px;font-weight:800}.expense-cycle-banner strong{color:#193147}.expense-cycle-banner small{color:#6f7b84}.expense-cycle-banner.closed{border-color:#ead8b3;background:#fff9ed}.expense-cycle-banner.closed>span{background:#f8e6b9;color:#946715}@media (max-width:760px){.expense-cycle-banner{grid-template-columns:1fr}.expense-cycle-banner>span{justify-self:start}}

/* Personal office calendar: dense enough for daily work, calm enough to scan. */
.work-calendar{padding:0;overflow:hidden;border-color:#dde5e3;background:#fff}.calendar-toolbar{display:flex;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid #e8ecea}.calendar-period{display:grid;gap:3px;min-width:240px}.calendar-period strong{font-size:18px;color:#101f35}.calendar-period span{font-size:12px;color:#75808c}.calendar-view-switch{display:flex;padding:3px;border:1px solid #dde3e1;border-radius:10px;background:#f5f7f6}.calendar-view-switch button{min-width:48px;padding:7px 12px;border:0;border-radius:7px;background:transparent;color:#64707b;font:inherit;cursor:pointer}.calendar-view-switch button.active{background:#fff;color:#0b827b;font-weight:700;box-shadow:0 1px 4px rgba(15,34,51,.09)}.calendar-nav{display:flex;gap:7px;margin-left:auto}.calendar-filterbar{display:flex;align-items:end;gap:12px;padding:14px 20px;border-bottom:1px solid #edf0ee;background:#fbfcfb}.calendar-filterbar>label{display:grid;gap:5px;min-width:220px;color:#6f7882;font-size:12px}.calendar-filterbar select{min-height:38px;padding:0 34px 0 11px;border:1px solid #dce2df;border-radius:9px;background:#fff;color:#172437}.calendar-filterbar .search-wrap{height:38px;background:#fff}.calendar-filterbar .search-wrap input{min-width:260px}.calendar-filterbar>.btn{margin-left:auto}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{padding:0 16px;border-bottom:1px solid #edf0ee;background:#fff}.calendar-weekdays span{padding:11px 8px;text-align:center;color:#7b838c;font-size:12px;font-weight:600}.calendar-grid{padding:0 16px 16px}.calendar-day{min-width:0;min-height:126px;padding:9px;border-right:1px solid #edf0ee;border-bottom:1px solid #edf0ee;background:#fff}.calendar-day:nth-child(7n+1){border-left:1px solid #edf0ee}.calendar-day.outside{background:#fafbfa}.calendar-day.outside>*{opacity:.55}.calendar-day.today{background:#f1fbf9}.calendar-day.selected{box-shadow:inset 0 0 0 2px #15aaa1}.calendar-date-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:0;background:transparent;color:#243449;cursor:pointer}.calendar-date-button span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;font-weight:700}.calendar-day.today .calendar-date-button span{background:#0a8b83;color:#fff}.calendar-date-button small{color:#8c959d;font-size:11px}.calendar-events{display:grid;gap:5px;margin-top:7px}.calendar-event{display:grid;grid-template-columns:38px minmax(0,1fr);gap:2px 7px;width:100%;min-width:0;padding:7px 8px;border:1px solid #dfe9e6;border-radius:8px;background:#f3f9f7;color:#17273b;text-align:left;cursor:pointer}.calendar-event>span{grid-row:1/3;color:#0d9289;font-size:11px;font-weight:700}.calendar-event strong,.calendar-event em,.calendar-event small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:12px}.calendar-event em{color:#6e7882;font-size:11px;font-style:normal}.calendar-event small{color:#7a858e;font-size:10px}.calendar-event.done{opacity:.68}.calendar-event.done strong{text-decoration:line-through}.calendar-more{padding:4px 6px;border:0;background:transparent;color:#0b8a83;font-size:11px;text-align:left;cursor:pointer}.calendar-week-view{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:1px;overflow:auto;background:#e8edeb}.calendar-week-column{min-height:430px;background:#fff}.calendar-week-column>button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px;border:0;border-bottom:1px solid #e9edeb;background:#fbfcfb;color:#66717d;cursor:pointer}.calendar-week-column>button strong{font-size:17px;color:#132338}.calendar-week-column.today>button{background:#eaf8f6;color:#0c8b83}.calendar-week-column>div{display:grid;align-content:start;gap:8px;padding:10px}.calendar-week-column>div>p{color:#9aa2a9;font-size:12px;text-align:center}.calendar-day-view{display:grid;gap:10px;min-height:300px;padding:20px}.calendar-day-heading{display:flex;align-items:center;gap:10px;padding-bottom:13px;border-bottom:1px solid #e8edeb}.calendar-day-heading>span{color:#0a8b83;font-size:13px;font-weight:700}.calendar-day-heading>strong{font-size:18px;color:#17263a}.calendar-day-heading>.btn{margin-left:auto}.calendar-day-view>.calendar-event{grid-template-columns:64px minmax(0,1fr);padding:13px 14px}.calendar-list-view{padding:0 20px 18px}.calendar-list-head,.calendar-list-row{display:grid;grid-template-columns:160px minmax(220px,1.5fr) minmax(140px,.8fr) 100px;align-items:center;gap:16px}.calendar-list-head{padding:11px 14px;color:#7d8790;font-size:11px;font-weight:700}.calendar-list-row{padding:13px 14px;border-top:1px solid #e8edeb}.calendar-list-row time{color:#53606d;font-size:12px}.calendar-list-row>div{display:grid;gap:3px;min-width:0}.calendar-list-row>div strong,.calendar-list-row>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-list-row>div small{color:#7b858e;font-size:11px}.calendar-list-row>.btn{justify-self:end}.calendar-empty{display:grid;place-items:center;gap:7px;min-height:220px;color:#7b858e;text-align:center}.calendar-empty strong{color:#374555}.calendar-daily-note{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;align-items:center;gap:16px;padding:18px 20px;border-top:1px solid #dfe7e4;background:#f5faf8}.calendar-daily-note>div{display:grid;gap:2px}.calendar-daily-note>div span{color:#0b8a83;font-size:12px;font-weight:700}.calendar-daily-note>div strong{color:#14243a}.calendar-daily-note>div small,.calendar-readonly-tip{color:#7d878f;font-size:11px}.calendar-daily-note textarea{min-height:74px;max-height:150px;resize:vertical;padding:10px 12px;border:1px solid #d8e2df;border-radius:10px;background:#fff;font:inherit;line-height:1.5}.calendar-daily-note textarea:focus{outline:2px solid rgba(18,166,157,.18);border-color:#12a69d}
@media (min-width:1100px){.calendar-list-head,.calendar-list-row{grid-template-columns:160px minmax(220px,1.5fr) minmax(140px,.8fr) 150px 100px}}
@media (max-width:900px){.calendar-toolbar{align-items:flex-start;flex-wrap:wrap}.calendar-period{min-width:0;flex:1}.calendar-nav{margin-left:0}.calendar-filterbar{align-items:stretch;flex-wrap:wrap}.calendar-filterbar>label,.calendar-filterbar .search-wrap input{min-width:0;width:100%}.calendar-filterbar>.btn{margin-left:0}.calendar-grid{grid-template-columns:repeat(7,minmax(92px,1fr));overflow:auto}.calendar-weekdays{grid-template-columns:repeat(7,minmax(92px,1fr));overflow:hidden}.calendar-list-head{display:none}.calendar-list-row{grid-template-columns:1fr auto;gap:8px}.calendar-list-row time,.calendar-list-row>div{grid-column:1}.calendar-list-row>.btn{grid-column:2;grid-row:1/4}.calendar-daily-note{grid-template-columns:1fr}.calendar-daily-note>.btn{justify-self:start}}
.inventory-adjustment-overlay{position:fixed;inset:0;z-index:72;display:none;place-items:center;padding:20px;background:rgba(15,17,21,.3);backdrop-filter:blur(2px)}.inventory-adjustment-overlay.open{display:grid}.inventory-adjustment-dialog{width:min(430px,100%);overflow:hidden;border:1px solid #deded8;border-radius:18px;background:#fff;box-shadow:0 22px 65px rgba(18,20,25,.22)}.inventory-adjustment-body{padding:24px}.inventory-adjustment-body p{margin:0 0 18px;color:#454a50}.inventory-adjustment-body label{display:grid;gap:8px;margin-top:14px;color:#686d73;font-size:12px}.inventory-adjustment-body label:first-of-type{margin-top:0}.inventory-adjustment-body input,.inventory-adjustment-body select{height:44px;padding:0 13px;border:1px solid #dcdcd6;border-radius:10px;outline:0;background:#fff;color:#171a20;font-size:16px}.inventory-adjustment-body input:focus,.inventory-adjustment-body select:focus{border-color:#37b5bd;box-shadow:0 0 0 3px rgba(55,181,189,.12)}.inventory-adjustment-body small{display:block;margin-top:9px;color:#8a8e94}
.opportunity-funnel{margin:0 0 16px;padding:22px 24px}.opportunity-funnel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.opportunity-funnel-head h3{margin:0;color:#151b2d;font-size:18px}.opportunity-funnel-head p{margin:7px 0 0;color:#7a8089;font-size:13px}.opportunity-funnel-head>span{padding:6px 10px;border-radius:999px;background:#eaf9f6;color:#168b7b;font-size:12px;white-space:nowrap}.opportunity-funnel-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.opportunity-funnel-stage{min-width:0}.opportunity-funnel-label{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:8px;color:#58606c;font-size:12px}.opportunity-funnel-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opportunity-funnel-label strong{color:#141b2f;font-size:18px}.opportunity-funnel-track{height:8px;overflow:hidden;border-radius:999px;background:#eef0f2}.opportunity-funnel-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8be,#4f7ed8);transition:width .42s ease}@media(max-width:900px){.opportunity-funnel-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.opportunity-funnel{padding:18px}.opportunity-funnel-head{display:block}.opportunity-funnel-head>span{display:inline-flex;margin-top:10px}.opportunity-funnel-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;opacity:0;transform:scaleX(.18);transform-origin:left;background:#11b5be;transition:opacity .14s ease,transform .24s ease;pointer-events:none}
.page-navigation-pending .topbar:after{opacity:.78;transform:scaleX(.72)}
@media(prefers-reduced-motion:reduce){.topbar:after{transition:none}.page-navigation-pending .topbar:after{transform:scaleX(1);opacity:.65}}

@media(max-width:760px){
  .permission-field.full{grid-column:1}
  .receipt-allocation-row{grid-template-columns:minmax(0,1fr) 34px}
  .receipt-allocation-row label:nth-of-type(2){grid-column:1}
  .receipt-allocation-plan{grid-column:1}
  .receipt-allocation-row .line-item-remove{grid-column:2;grid-row:1/3;align-self:stretch;height:auto}
  .line-item{grid-template-columns:1fr 1fr 34px}
  .line-item-name{grid-column:2/3}
  .line-item label:nth-of-type(3),.line-item label:nth-of-type(4){grid-row:2}
  .line-price-hint{grid-column:1/3;grid-row:3}
  .line-item-remove{grid-column:3;grid-row:1/3;align-self:stretch;height:auto}
  .detail-overlay{padding:10px}.detail-dialog{max-height:calc(100vh - 20px);border-radius:16px}.detail-body{padding:16px}.detail-grid{grid-template-columns:1fr 1fr}.detail-history-columns{grid-template-columns:1fr}.detail-footer{padding:12px 16px}
  .target-body{padding:18px}.target-body .form-grid{grid-template-columns:1fr}.rhythm-edit{position:static;margin-top:12px}
  .product-selector{grid-template-columns:1fr}
}
@media(max-width:430px){.detail-grid{grid-template-columns:1fr}.product-actions{gap:5px}.product-actions .btn{padding:0 8px}}
.container-result{display:block!important;text-align:left!important}.container-plan-head{display:flex;align-items:center;gap:13px}.container-plan-head .empty-icon{flex:0 0 auto;margin:0}.container-plan-head span{color:#737a7f;font-size:12px}.container-plan-head h3{margin:3px 0 0;font-size:22px}.container-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.container-result-grid>div{padding:13px 14px;border:1px solid #e2e7e3;border-radius:12px;background:#fff}.container-result-grid span{display:block;margin-bottom:5px;color:#82888d;font-size:11px}.container-result-grid strong{font-size:15px}.container-utilization{padding:15px;border-radius:13px;background:#eef9f7}.container-utilization>div:first-child{display:flex;justify-content:space-between}.container-utilization .progress{margin:10px 0 8px}.container-utilization small{color:#69777a}.container-plan-details{margin:15px 0 0}.container-plan-details>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #eaede9;font-size:12px}.container-plan-details dt{color:#7b8187}.container-plan-details dd{margin:0;text-align:right;font-weight:650}.container-warnings{margin:14px 0 0;padding:11px 13px 11px 30px;border:1px solid #efdaa2;border-radius:11px;background:#fff9e9;color:#765c20;font-size:12px;line-height:1.55}@media(max-width:560px){.container-result-grid{grid-template-columns:1fr}.container-plan-details>div{display:block}.container-plan-details dd{margin-top:4px;text-align:left}}

.country-cell{display:inline-block;white-space:nowrap}.table-note{width:min(220px,24vw);min-width:160px;margin:-6px;padding:6px;border:0;border-radius:8px;background:transparent;color:#4e5b59;text-align:left;transition:background-color .16s ease,transform .12s ease}.table-note>span{display:-webkit-box;overflow:hidden;font-size:12px;font-weight:450;line-height:1.55;overflow-wrap:anywhere;text-wrap:pretty;-webkit-box-orient:vertical;-webkit-line-clamp:2}.table-note>small{display:block;margin-top:4px;color:#168b77;font-size:10px;font-weight:650}.table-note:hover{background:#f1f8f6}.table-note:focus-visible{outline:2px solid rgba(22,139,119,.28);outline-offset:2px}.table-note:active{transform:scale(.98)}.table-note-empty{color:#929995}.product-segment-summary{display:flex;flex-wrap:wrap;gap:10px;margin:-5px 0 16px}.product-segment-summary span{padding:9px 13px;border:1px solid #dde7e3;border-radius:10px;background:#f7fbfa;color:#64706f;font-size:12px}.product-segment-summary strong{margin-right:4px;color:#17201f;font-size:15px}.product-class{display:inline-flex;margin-bottom:8px;padding:3px 8px;border-radius:7px;background:#eef8f6;color:#167b70;font-size:10px;font-weight:700}.product-thumb .media-chip{position:absolute;right:12px;top:12px;z-index:1;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:7px;background:rgba(8,10,26,.82);color:#fff;font-size:10px}.media-preview video{display:block;width:100%;height:180px;background:#101114;object-fit:contain}

/* Procurement and inventory workflow polish */
.purchase-receipt-dialog{display:flex;width:min(980px,calc(100vw - 32px));max-height:min(880px,calc(100dvh - 32px));flex-direction:column}.purchase-payment-dialog{display:flex;width:min(720px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 32px));flex-direction:column}.purchase-receipt-dialog>form,.purchase-payment-dialog>form{display:flex;min-height:0;flex:1;flex-direction:column}.purchase-workflow-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.purchase-workflow-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #dcece8;border-radius:13px;background:#f5fbf9}.purchase-workflow-intro p{margin:0;max-width:620px;color:#45524f;line-height:1.55}.purchase-workflow-intro span{flex:none;padding:5px 9px;border-radius:999px;background:#e7f6f2;color:#147c70;font-size:11px;font-weight:700}.purchase-receipt-meta,.purchase-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.purchase-receipt-lines{display:grid;gap:10px;margin-top:18px}.purchase-receipt-line{display:grid;grid-template-columns:minmax(230px,1.65fr) repeat(3,minmax(82px,.55fr)) minmax(120px,.8fr);gap:10px;align-items:end;padding:14px;border:1px solid #e1e7e4;border-radius:13px;background:#fff}.purchase-receipt-line-head{position:sticky;top:-24px;z-index:2;align-items:center;padding:9px 14px;border-radius:10px;background:#f2f6f4;color:#77817e;font-size:11px}.purchase-receipt-line>div{min-width:0;align-self:center}.purchase-receipt-line strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1a2220}.purchase-receipt-line small{display:block;margin-top:6px;color:#737d7a;line-height:1.45}.purchase-receipt-line label{min-width:0;margin:0}.purchase-receipt-line label span{display:none}.purchase-receipt-line input,.purchase-receipt-line select{width:100%;min-width:0}.purchase-receipt-line textarea{grid-column:1/-1;width:100%;min-height:58px;padding:10px 12px;border:1px solid #dcdcd6;border-radius:10px;resize:vertical}.purchase-evidence,.purchase-voucher{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:18px;padding:15px;border:1px solid #e1e7e4;border-radius:13px;background:#fbfcfb}.purchase-evidence>div:first-child strong,.purchase-voucher>div:first-child strong{display:block}.purchase-evidence>div:first-child small,.purchase-voucher>div:first-child small{display:block;margin-top:4px;color:#7d8583}.purchase-evidence input,.purchase-voucher input{display:none}.purchase-evidence-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:9px;min-height:38px;color:#8a918f}.purchase-evidence-list>div{position:relative;overflow:hidden;aspect-ratio:1;border:1px solid #e0e5e2;border-radius:10px;background:#f3f5f4}.purchase-evidence-list img{width:100%;height:100%;object-fit:cover}.purchase-evidence-list button{position:absolute;right:5px;top:5px;width:25px;height:25px;border:0;border-radius:8px;background:rgba(12,17,21,.78);color:#fff}.purchase-receipt-note{display:grid;gap:8px;margin-top:18px}.purchase-receipt-note textarea{width:100%;padding:11px 13px;border:1px solid #dcdcd6;border-radius:10px;resize:vertical}.purchase-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.purchase-payment-summary>div{padding:14px;border:1px solid #dfe8e5;border-radius:12px;background:#f7fbfa}.purchase-payment-summary span{display:block;color:#76807d;font-size:11px}.purchase-payment-summary strong{display:block;margin-top:7px;font-size:19px}.purchase-voucher-preview{grid-column:1/-1;min-height:58px;color:#8a918f}.purchase-voucher-preview a{display:flex;align-items:center;gap:12px;color:#176f68;text-decoration:none}.purchase-voucher-preview img{width:72px;height:54px;border:1px solid #e0e5e2;border-radius:9px;object-fit:cover}.purchase-detail-lines{display:grid;gap:8px;margin-bottom:15px}.purchase-detail-lines article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e2e8e5;border-radius:11px;background:#fafcfb}.purchase-detail-lines strong,.purchase-detail-lines small{display:block}.purchase-detail-lines small{margin-top:4px;color:#79817f}.purchase-detail-lines>article>span{flex:none;padding:5px 9px;border-radius:8px;background:#edf7f4;color:#176f68}.purchase-receipt-history{padding:13px 0;border-bottom:1px solid #edf0ee}.purchase-receipt-history:last-child{border-bottom:0}.purchase-receipt-history header{display:flex;justify-content:space-between;gap:12px}.purchase-receipt-history p{margin:8px 0 0;color:#59625f}.purchase-history-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.purchase-history-images img{width:62px;height:62px;border:1px solid #e0e5e2;border-radius:9px;object-fit:cover}.detail-items-table.purchase-items-safe .detail-item{grid-template-columns:minmax(100px,.8fr) minmax(160px,1.5fr) minmax(70px,.5fr)}
.inventory-identity{display:flex;min-width:180px;align-items:center;gap:10px}.inventory-identity>img,.inventory-thumb-empty{width:42px;height:42px;flex:none;border:1px solid #dfe6e3;border-radius:10px;background:#f4f7f5;object-fit:cover}.inventory-thumb-empty{display:grid;place-items:center;color:#7e8985}.inventory-thumb-fallback{display:none}.inventory-identity.image-error>img{display:none}.inventory-identity.image-error>.inventory-thumb-fallback{display:grid}.inventory-identity>span:last-child{min-width:0}.inventory-identity strong,.inventory-identity small{display:block}.inventory-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-identity small{margin-top:3px;color:#8a918f;font-size:10px}.inventory-photo-detail{margin-bottom:18px}.inventory-photo-link{position:relative;display:grid;min-height:220px;place-items:center;overflow:hidden;border:1px solid #e0e6e3;border-radius:14px;background:#f7f9f8}.inventory-photo-link img{display:block;width:100%;max-height:420px;object-fit:contain}.inventory-photo-error{display:none;padding:25px;color:#b15850}.inventory-photo-link.image-error img,.inventory-photo-preview.image-error>img{display:none}.inventory-photo-link.image-error .inventory-photo-error,.inventory-photo-preview.image-error>.inventory-photo-error{display:block}.inventory-photo-empty{display:flex;align-items:center;gap:12px;padding:24px;border:1px dashed #cfdad6;border-radius:13px;background:#fafcfb;color:#71807b}.inventory-photo-empty strong,.inventory-photo-empty span{display:block}.inventory-photo-empty span{margin-top:4px;font-size:12px}.inventory-photo-preview{position:relative;width:100%;min-height:180px}.inventory-photo-preview>img{display:block;width:100%;height:180px;object-fit:contain}.inventory-photo-preview>div{display:flex;justify-content:center;gap:12px;padding:10px}.inventory-photo-preview a,.inventory-photo-preview button{border:0;background:transparent;color:#17796f;font-size:12px;text-decoration:none}.inventory-photo-preview button{color:#a34f49}.inventory-photo-error{display:none}
@media(max-width:760px){.purchase-receipt-dialog,.purchase-payment-dialog{width:100%;max-height:100dvh;border-radius:18px 18px 0 0}.inventory-adjustment-overlay:has(.purchase-receipt-dialog),.inventory-adjustment-overlay:has(.purchase-payment-dialog){align-items:end;padding:0}.purchase-workflow-intro{display:grid}.purchase-workflow-intro span{justify-self:start}.purchase-receipt-meta,.purchase-payment-grid,.purchase-payment-summary{grid-template-columns:1fr}.purchase-receipt-line-head{display:none}.purchase-receipt-line{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.purchase-receipt-line>div{grid-column:1/-1}.purchase-receipt-line label{display:grid;gap:5px}.purchase-receipt-line label span{display:block}.purchase-receipt-line label:nth-of-type(4){grid-column:1/-1}.purchase-evidence,.purchase-voucher{grid-template-columns:1fr}.purchase-evidence>.btn,.purchase-voucher>.btn{justify-self:start}.purchase-detail-lines article,.purchase-receipt-history header{align-items:flex-start;flex-direction:column}.inventory-identity{min-width:150px}}

/* Production material inventory: isolated ledger, compact controls, responsive tables. */
.inventory-domain-summary{display:grid;grid-template-columns:minmax(260px,1fr) minmax(520px,1.7fr);gap:24px;align-items:center;margin:0 0 18px;padding:22px 24px;border:1px solid #dce8e5;border-radius:18px;background:linear-gradient(135deg,#f4fbf9 0%,#fff 68%);box-shadow:0 8px 26px rgba(29,78,72,.05)}
.inventory-domain-summary h2{margin:4px 0 6px;font-size:22px;letter-spacing:-.02em}.inventory-domain-summary p{max-width:560px;margin:0;color:#69736f;line-height:1.6}.inventory-domain-kicker{color:#118f83;font-size:11px;font-weight:800;letter-spacing:.12em}
.inventory-domain-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.inventory-domain-summary dl div{min-width:0;padding:14px 16px;border:1px solid #e1ebe8;border-radius:14px;background:rgba(255,255,255,.84)}.inventory-domain-summary dt{color:#78817e;font-size:12px}.inventory-domain-summary dd{margin:7px 0 0;overflow:hidden;color:#111827;font-size:20px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.inventory-domain-summary dd.danger{color:#c8473e}
.inventory-toolbar{align-items:end}.inventory-toolbar .toolbar-field{min-width:180px}.inventory-toolbar .toolbar-field>span{display:block;margin:0 0 6px;color:#6d7572;font-size:11px;font-weight:700}.inventory-toolbar input.select{box-sizing:border-box}
.material-operation-overlay{position:fixed;inset:0;z-index:74;display:none;place-items:center;padding:20px;background:rgba(15,17,21,.38);backdrop-filter:blur(3px)}.material-operation-overlay.open{display:grid}.material-operation-dialog{width:min(720px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #dce3df;border-radius:20px;background:#fff;box-shadow:0 26px 76px rgba(18,29,27,.24)}.material-operation-body{padding:24px}.material-operation-context{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.material-operation-context div{padding:14px 16px;border:1px solid #dfe9e6;border-radius:13px;background:#f6faf9}.material-operation-context span,.material-operation-context strong{display:block}.material-operation-context span{margin-bottom:5px;color:#71807c;font-size:11px}.material-operation-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.material-operation-grid label{display:grid;min-width:0;gap:7px;color:#59635f;font-size:12px;font-weight:650}.material-operation-grid label.wide{grid-column:1/-1}.material-operation-grid input,.material-operation-grid select,.material-operation-grid textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d8dfdc;border-radius:11px;background:#fff;color:#151b19;font:inherit;outline:0}.material-operation-grid input,.material-operation-grid select{height:44px;padding:0 12px}.material-operation-grid textarea{padding:11px 12px;resize:vertical}.material-operation-grid input:focus,.material-operation-grid select:focus,.material-operation-grid textarea:focus{border-color:#24a99c;box-shadow:0 0 0 3px rgba(36,169,156,.12)}.material-operation-hint{margin-top:18px;padding:11px 13px;border-radius:10px;background:#edf8f6;color:#3d6963;font-size:12px;line-height:1.55}
.material-report-filter{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:12px;align-items:end;margin-bottom:18px;padding:16px;border:1px solid #e2e6e3;border-radius:14px;background:#fafbf9}.material-report-filter label{display:grid;gap:6px;min-width:0;color:#68716e;font-size:11px;font-weight:700}.material-report-filter input{box-sizing:border-box;width:100%;height:40px;min-width:0;padding:0 11px;border:1px solid #d8ddda;border-radius:9px;background:#fff}.material-report-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.material-report-stats div{min-width:0;padding:15px;border:1px solid #dfe7e4;border-radius:13px;background:#f7fbfa}.material-report-stats span,.material-report-stats strong{display:block}.material-report-stats span{color:#73807c;font-size:11px}.material-report-stats strong{margin-top:7px;overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.material-report-table{max-width:100%;overflow:auto;border:1px solid #e2e5e3;border-radius:14px}.material-report-table table{width:100%;min-width:920px;border-collapse:collapse}.material-report-table th,.material-report-table td{padding:12px 14px;border-bottom:1px solid #edf0ee;text-align:left;vertical-align:top;font-size:12px}.material-report-table th{position:sticky;top:0;background:#f6f8f7;color:#69716e;font-size:11px;z-index:1}.material-report-table td strong,.material-report-table td small{display:block}.material-report-table td small{margin-top:3px;color:#828985}.material-report-table .positive{color:#087c70;font-weight:700}.material-report-table .negative{color:#be443c;font-weight:700}
@media(max-width:1100px){.inventory-domain-summary{grid-template-columns:1fr}.inventory-domain-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.material-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.material-report-stats div:last-child{grid-column:1/-1}.material-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.material-report-filter .btn{width:100%}}
@media(max-width:720px){.inventory-domain-summary{padding:18px}.inventory-domain-summary dl{grid-template-columns:1fr 1fr}.inventory-toolbar .toolbar-field{width:100%;min-width:0}.material-operation-overlay{align-items:end;padding:0}.material-operation-dialog{max-height:100dvh;border-radius:18px 18px 0 0}.material-operation-body{padding:18px}.material-operation-context,.material-operation-grid,.material-report-filter,.material-report-stats{grid-template-columns:1fr}.material-operation-grid label.wide,.material-report-stats div:last-child{grid-column:auto}.material-report-filter .btn{height:42px}}
@media(max-width:420px){.inventory-domain-summary dl{grid-template-columns:1fr}.inventory-domain-summary dd{font-size:18px}}

/* WeChat mini program QR dialog */
body.mini-program-locked{overflow:hidden}
.mini-program-overlay{position:fixed;inset:0;z-index:96;display:none;place-items:center;padding:24px;background:rgba(15,18,22,.32);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.mini-program-overlay.open{display:grid}
.mini-program-dialog{position:relative;width:min(410px,100%);padding:28px;border:1px solid rgba(20,28,31,.09);border-radius:22px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.55),0 24px 70px rgba(13,20,25,.2);text-align:center}
.mini-program-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:11px;background:#f4f5f2;color:#50555a;font-size:23px;line-height:1;transition:background-color .16s ease,color .16s ease,transform .12s ease}
.mini-program-close:hover{background:#eceeea;color:#111519}
.mini-program-close:active{transform:scale(.97)}
.mini-program-close:focus-visible,.mini-program-trigger:focus-visible{outline:3px solid rgba(16,172,167,.22);outline-offset:2px}
.mini-program-heading{display:flex;align-items:center;gap:13px;padding-right:46px;text-align:left}
.mini-program-heading>div>span{display:block;color:#0a8c82;font-size:10px;font-weight:750;letter-spacing:1.45px}
.mini-program-heading h2{margin:5px 0 0;color:#131a1d;font-size:21px;font-weight:700;letter-spacing:-.35px;text-wrap:balance}
.mini-program-mark{position:relative;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#09b968;box-shadow:0 7px 18px rgba(9,185,104,.16)}
.mini-program-mark i{position:absolute;display:block;width:17px;height:13px;border-radius:50%;background:#fff}
.mini-program-mark i:first-child{left:7px;top:10px}
.mini-program-mark i:last-child{right:6px;bottom:9px}
.mini-program-mark i:after{content:"";position:absolute;right:1px;bottom:-3px;border:3px solid transparent;border-top-color:#fff;transform:rotate(-20deg)}
.mini-program-code{display:grid;place-items:center;margin-top:22px;padding:14px;border:1px solid #e5e9e5;border-radius:18px;background:#fbfcfa;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}
.mini-program-code img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:10px;background:#fff;user-select:none;-webkit-user-drag:none}
.mini-program-dialog>p{margin:15px 0 0;color:#70777a;font-size:13px;line-height:1.5;text-wrap:pretty}
.container-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:18px;align-items:start}.container-input-panel,.container-output-panel{padding:22px}.container-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.container-panel-head h3{margin:0 0 6px;font-size:18px}.container-panel-head p{margin:0;color:#7f858b;font-size:12px;line-height:1.55}.container-panel-head>label{display:grid;gap:6px;color:#6f747a;font-size:11px}.container-panel-head select{height:40px;min-width:120px;padding:0 12px;border:1px solid #deded8;border-radius:10px;background:#fff}.container-sku-list{display:grid;gap:11px}.container-sku-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:15px;border:1px solid #e3e6e1;border-radius:13px;background:#fafbf8}.container-sku-head{grid-column:1/-1;display:flex;align-items:center}.container-sku-head strong{font-size:12px}.container-sku-head button{margin-left:auto;width:30px;height:30px;border:1px solid #eaded9;border-radius:8px;background:#fff8f6;color:#b6504c;font-size:18px}.container-sku-row label{display:grid;gap:6px;color:#70757b;font-size:11px}.container-sku-row label.full{grid-column:1/-1}.container-sku-row input{height:40px;min-width:0;padding:0 11px;border:1px solid #dcded8;border-radius:9px;background:#fff;outline:0}.container-sku-row input:focus{border-color:#39b4bc;box-shadow:0 0 0 3px rgba(57,180,188,.11)}.container-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:16px}.container-output-panel{position:sticky;top:83px}.container-output-panel .container-result{min-height:330px;padding:24px}.container-load-list{display:grid;gap:10px;margin-top:14px}.container-load-card{padding:13px 14px;border:1px solid #e2e6e1;border-radius:12px;background:#fff}.container-load-card>div{display:flex;justify-content:space-between;gap:12px}.container-load-card small{display:block;margin:6px 0 9px;color:#7d8389}.container-load-card ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.container-load-card li{display:flex;justify-content:space-between;gap:10px;padding-top:6px;border-top:1px solid #eeeeea;font-size:11px}
.ai-management-grid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(420px,1.35fr);gap:18px}.ai-status-card,.ai-settings-card{padding:25px}.ai-status-icon{width:48px;height:48px;margin-bottom:18px;display:grid;place-items:center;border:1px solid #eed8a0;border-radius:14px;background:#fff9e7;color:#aa7218}.ai-status-icon.ready{border-color:#bfe5dc;background:#eefaf7;color:#168a78}.ai-status-card>span{color:#858b91;font-size:12px}.ai-status-card h2{margin:7px 0 8px;font-size:23px}.ai-status-card>p{margin:0;color:#747b81;font-size:12px;line-height:1.65}.ai-status-card dl{margin:22px 0 0}.ai-status-card dl div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid #ecece7}.ai-status-card dt{color:#7b8187;font-size:12px}.ai-status-card dd{margin:0;text-align:right;font-size:12px;font-weight:650}.ai-settings-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px}.ai-settings-head h2{margin:0 0 6px;font-size:19px}.ai-settings-head p{margin:0;color:#7c8288;font-size:12px}.security-pill{margin-left:auto;display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:8px;background:#eef8f6;color:#177d72;font-size:10px;font-weight:700;white-space:nowrap}.ai-settings-card form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ai-settings-card form>label:not(.ai-toggle):not(.ai-clear-key){display:grid;gap:7px;color:#666c72;font-size:12px}.ai-settings-card input:not([type=checkbox]),.ai-settings-card select{width:100%;height:43px;padding:0 12px;border:1px solid #dcddd7;border-radius:10px;background:#fff;outline:0}.ai-settings-card input:focus,.ai-settings-card select:focus{border-color:#35b2ba;box-shadow:0 0 0 3px rgba(53,178,186,.11)}.ai-toggle,.ai-clear-key{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:12px}.ai-toggle input,.ai-clear-key input{width:17px;height:17px;accent-color:#0ca9b4}.ai-key-note{grid-column:1/-1;padding:11px 13px;border-radius:10px;background:#f3f5f2;color:#6c7474;font-size:12px}.ai-settings-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:4px}
@media(max-width:980px){.container-workspace,.ai-management-grid{grid-template-columns:1fr}.container-output-panel{position:static}.ai-settings-card form{grid-template-columns:1fr}}
@media(max-width:560px){.container-input-panel,.container-output-panel,.ai-status-card,.ai-settings-card{padding:16px}.container-panel-head,.ai-settings-head{display:grid}.container-panel-head>label{width:100%}.container-panel-head select{width:100%}.container-sku-row{grid-template-columns:1fr}.container-sku-row label.full,.container-sku-head{grid-column:1}.container-form-actions .btn{width:100%}.security-pill{margin-left:0;width:max-content}.media-uploader{grid-template-columns:1fr}.upload-trigger{width:100%}}

/* The cockpit is often narrower than the viewport because it shares the row
   with the rhythm panel.  Its own width, not the browser width, controls the
   card density so labels and status icons always keep separate space. */
.cockpit{container-name:cockpit-panel;container-type:inline-size}
.cockpit .metric-label{min-height:42px;padding-right:52px;line-height:1.4;overflow-wrap:anywhere}
.cockpit .metric-icon{width:39px;height:39px;right:16px;top:16px}
@container cockpit-panel (max-width:620px){.cockpit .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.cockpit .metric{min-height:158px;padding:17px}.cockpit .metric-label{min-height:36px}.cockpit .metric-value{margin:7px 0 14px}}
@container cockpit-panel (max-width:430px){.cockpit .metric-grid{grid-template-columns:minmax(0,1fr)}}
.table-note>small{display:flex;align-items:center;gap:5px;margin-top:5px}.table-note>small svg{flex:0 0 auto}

/* Purchase request workflow: dense SKU comparison without horizontal overflow. */
.procurement-request-overlay{position:fixed;inset:0;z-index:78;display:none;place-items:center;padding:20px;background:rgba(12,18,25,.38);backdrop-filter:blur(3px)}
.procurement-request-overlay.open{display:grid}
.procurement-request-dialog{display:flex;flex-direction:column;width:min(1180px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:hidden;border:1px solid #dce4e1;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(12,20,30,.24)}
.procurement-request-dialog form{display:flex;min-height:0;flex:1;flex-direction:column}
.procurement-request-body{min-height:0;overflow:auto;padding:20px 24px}
.procurement-existing-state{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;padding:13px 14px;border:1px solid #bfe1d9;border-radius:11px;background:#f1faf7;color:#136c62}.procurement-existing-state>span{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:9px;background:#dff3ed}.procurement-existing-state>div{display:grid;min-width:0;gap:4px}.procurement-existing-state strong{font-size:13px}.procurement-existing-state small{color:#55766f;font-size:11px;line-height:1.55}
.procurement-order-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.procurement-order-summary>div{display:grid;gap:4px;padding:11px 13px;border:1px solid #e4e9e7;border-radius:10px;background:#f8faf9}
.procurement-order-summary span,.procurement-request-fields label{color:#6f7b83;font-size:11px}.procurement-order-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17263b;font-size:13px}
.procurement-request-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.procurement-request-fields label{display:grid;gap:6px}.procurement-request-fields label.wide{grid-column:1/-1}.procurement-request-fields input,.procurement-request-fields select{width:100%;height:40px;min-width:0;padding:0 11px;border:1px solid #dce3e0;border-radius:9px;background:#fff;color:#172437}
.procurement-request-table{overflow:auto;border:1px solid #dfe6e3;border-radius:12px}.procurement-request-table-head,.procurement-request-row{display:grid;grid-template-columns:48px minmax(170px,1.45fr) 72px minmax(145px,1fr) 76px 70px 98px minmax(150px,1fr);align-items:center;gap:10px;min-width:940px;padding:10px 12px}.procurement-request-table-head{position:sticky;top:0;z-index:1;background:#f3f7f5;color:#69767c;font-size:11px;font-weight:700}.procurement-request-row{border-top:1px solid #edf0ef;color:#394655;font-size:12px}.procurement-request-row>div{display:grid;min-width:0;gap:3px}.procurement-request-row>div strong,.procurement-request-row>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procurement-request-row>div small{color:#7c878d}.procurement-request-row input:not([type=checkbox]){width:100%;height:36px;min-width:0;padding:0 9px;border:1px solid #dbe2df;border-radius:8px}.procurement-check{display:grid;place-items:center}.procurement-check input{width:17px;height:17px;accent-color:#0e9c93}.procurement-request-confirm{display:flex;justify-content:flex-end;gap:18px;padding:13px 4px 0;color:#69757c;font-size:12px}.procurement-request-confirm b{color:#0b867e;font-size:15px}.procurement-decision .wide{grid-column:1/-1}
.procurement-request-row.readonly{background:#fbfcfb}.procurement-request-row.readonly input:disabled,.procurement-request-fields input:disabled,.procurement-request-fields select:disabled{color:#46565e;background:#f3f5f4;opacity:1;cursor:not-allowed}.procurement-request-row.readonly input[type=checkbox]:disabled{opacity:.75}

/* Customer filter controls remain part of the toolbar flow instead of covering the table. */
.customer-filter-shell{display:flex;align-items:center;flex:1 1 100%;gap:10px;min-width:0}.customer-saved-filter{display:flex;align-items:center;gap:6px}.customer-saved-filter select{height:38px;min-width:150px;padding:0 32px 0 10px;border:1px solid #dce3e0;border-radius:9px;background:#fff}.customer-filter-popover{position:relative}.customer-filter-popover>summary{list-style:none;cursor:pointer}.customer-filter-popover>summary::-webkit-details-marker{display:none}.customer-filter-grid{position:absolute;left:0;top:46px;z-index:18;display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px;width:min(920px,calc(100vw - 360px));max-height:min(70vh,680px);overflow:auto;padding:16px;border:1px solid #dbe4e1;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(19,29,38,.16)}.customer-filter-grid>label{display:grid;gap:6px;color:#65717a;font-size:11px}.customer-filter-grid input:not([type=checkbox]),.customer-filter-grid select{width:100%;min-width:0;min-height:38px;padding:7px 10px;border:1px solid #dce3e0;border-radius:8px;background:#fff}.customer-filter-grid select[multiple]{height:76px}.inline-range{display:grid;grid-template-columns:1fr 1fr;gap:6px}.check-filter{display:flex!important;align-items:center;gap:7px}.check-filter input{width:16px;height:16px;accent-color:#0e9c93}.customer-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.active-filter-chips{display:flex;flex:1 1 280px;flex-wrap:wrap;gap:6px;min-width:0}.filter-chip{display:flex;align-items:center;gap:6px;max-width:260px;padding:6px 9px;border:1px solid #cfe4de;border-radius:999px;background:#f0f9f6;color:#217365;font-size:11px;cursor:pointer}.filter-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.procurement-request-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.procurement-order-summary,.procurement-request-fields{grid-template-columns:1fr}.procurement-request-fields label.wide{grid-column:1}.customer-filter-shell{align-items:stretch;flex-direction:column}.customer-saved-filter{flex-wrap:wrap}.customer-filter-popover{width:100%}.customer-filter-popover>summary{width:100%}.customer-filter-grid{position:static;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-height:none;margin-top:8px;box-shadow:none}.active-filter-chips{flex-basis:auto}.procurement-decision{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.procurement-commercial{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.procurement-request-overlay{padding:0}.procurement-request-dialog{width:100vw;max-height:100vh;height:100vh;border-radius:0}.procurement-request-body{padding:15px}.customer-filter-grid{grid-template-columns:1fr}.inline-range{grid-template-columns:1fr}.customer-filter-actions{grid-column:1;flex-direction:column}.customer-filter-actions .btn{width:100%}.procurement-decision{grid-template-columns:1fr}}
@media(max-width:560px){.procurement-commercial{grid-template-columns:1fr}.procurement-commercial label.wide{grid-column:1}.procurement-detail-lines article{align-items:flex-start;flex-direction:column}.procurement-card-toolbar{display:grid;grid-template-columns:1fr 1fr}.procurement-card-toolbar .btn{width:100%}}
@media(max-width:560px){.detail-footer .btn{flex:1 1 calc(50% - 5px);min-width:0}.procurement-existing-state{align-items:center}.procurement-existing-state small{line-height:1.45}}
.expense-cycle-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px 18px}
.expense-cycle-banner>div{display:grid;gap:3px;min-width:0}
.expense-cycle-picker{display:grid;gap:4px;font-size:12px;color:#667085}
.expense-cycle-picker input{min-width:148px;height:38px;border:1px solid #dfe4e2;border-radius:10px;background:#fff;padding:0 10px;color:#162136}
.expense-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
.expense-stats .stat-box strong{font-size:clamp(14px,1.2vw,20px);line-height:1.35;overflow-wrap:anywhere}
.calendar-filterbar{align-items:end;flex-wrap:wrap}
.calendar-filterbar>label{min-width:128px;flex:1 1 140px}
.calendar-filterbar select,.calendar-filterbar input[type=date]{width:100%;min-width:0;height:38px;border:1px solid #dfe4e2;border-radius:10px;background:#fff;padding:0 10px}
@media (max-width:900px){.expense-cycle-banner{grid-template-columns:auto minmax(0,1fr)}.expense-cycle-picker{grid-column:1/-1}.expense-cycle-picker input{width:100%}.expense-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.expense-cycle-banner{grid-template-columns:1fr}.expense-cycle-banner>span{justify-self:start}.expense-stats{grid-template-columns:1fr}.calendar-filterbar>label{flex-basis:100%}}

/* Purchase alerts stay compact in the table and become fully readable in detail. */
.purchase-status-cell{display:grid;justify-items:start;gap:5px;min-width:112px}.purchase-alert{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;background:#eef7f4;color:#2a7369;font-size:10px;font-weight:680;line-height:1.25;white-space:normal}.purchase-alert.warning{background:#fff7df;color:#936414}.purchase-alert.danger{background:#fff0ed;color:#a84c43}.purchase-alert.normal{background:#eef7f4;color:#2a7369}.purchase-alert-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.purchase-workflow-overview .detail-field strong{line-height:1.45}
