:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0}[x-cloak]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a,button,input,select,textarea{outline-offset:4px}a:focus-visible,button:focus-visible{outline:2px solid #649859}input:focus,select:focus,textarea:focus{outline:2px solid #91b687;outline-offset:1px}.field{display:block;width:100%;border:1px solid #dfe5dd;border-radius:8px;background:white;padding:11px 12px;color:#213e34;font-size:14px;min-height:44px}.search-field{background:#f8faf6;padding-left:35px}.field::placeholder{color:#9aa69d}.field-label{display:block;font-size:12px;font-weight:600;color:#547062}.required{color:#89a476}.button-primary,.button-secondary{display:inline-flex;align-items:center;gap:12px;min-height:44px;border-radius:8px;padding:12px 18px;font-size:13px;font-weight:600;white-space:nowrap}.button-primary{background:#176451;color:white;border:1px solid #176451}.button-primary:hover{background:#124e3f}.button-secondary{background:white;border:1px solid #dfe5dd;color:#567255}.eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:#80917b}.order-table th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#90a08a;font-weight:600;background:#fbfcfa;padding:17px 24px;white-space:nowrap}.order-table td{padding:21px 24px;border-top:1px solid #edf0e9}.order-table tbody tr:hover{background:#fbfcfa}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:11px;text-transform:capitalize;white-space:nowrap}.badge span{font-size:7px}.badge-draft{background:#f2f0e9;color:#97825b}.badge-confirmed{background:#eaf3e2;color:#658552}.badge-cancelled{background:#f8eae6;color:#a87163}.pagination-button{border:1px solid #e2e7df;border-radius:6px;min-height:40px;padding:8px 12px;background:white}.matrix-table th{background:#f4f7f0;padding:12px 8px;color:#708564;font-size:11px}.matrix-table td{padding:10px 6px;border-top:1px solid #edf0e9}.matrix-table td:first-child,.matrix-table th:first-child{padding-left:14px}.matrix-table .field{padding:8px;min-height:44px;font-size:12px}.notice{border:1px solid #d7dfce;background:#f4f7ed;border-radius:9px;padding:14px 18px;font-size:13px;margin-bottom:18px;line-height:1.6}.notice-error{border-color:#eacfc6;background:#fff5f0;color:#91492f}.htmx-indicator{opacity:0;pointer-events:none}.htmx-request.htmx-indicator,.htmx-request .htmx-indicator{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:1023px){.sidebar>a{padding-top:16px;padding-bottom:14px}.sidebar nav{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.order-table th,.matrix-table th{position:relative}

/* Full-width workspace with command navigation. */
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:#173d34;color:#fff;padding:12px 16px;border-radius:8px}.skip-link:focus{top:12px}
.workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;min-height:84px;padding:16px 32px;background:#fff;border-bottom:1px solid #dfe5dd;position:relative;z-index:30}
.workspace-navigation{display:contents}.workspace-header>.workspace-title{grid-column:2;grid-row:1}.workspace-navigation>.workspace-brand{grid-column:1;grid-row:1}.workspace-navigation>.workspace-actions{grid-column:3;grid-row:1}
.brand-wordmark{display:inline-flex;align-items:center;gap:0;font-size:24px;line-height:1;font-weight:750;letter-spacing:-.6px;white-space:nowrap;text-decoration:none}.brand-ani{display:inline-block;padding:8px 6px;border-radius:5px;background:#c8e999;color:#173d34}.brand-erp{background:transparent}.workspace-brand{justify-self:start;color:#173d34}.login-brand{align-self:flex-start;color:#fff}
.brand-image{display:block;width:131px;height:40px;object-fit:contain;flex-shrink:0}.login-brand .brand-image{width:180px;height:55px;filter:brightness(0) invert(1)}
@media(max-width:767px){.workspace-brand .brand-image{width:105px;height:32px}}
.workspace-title{margin:0;font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.6px;text-align:center}
.workspace-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:16px;align-items:center;justify-self:end;width:100%;max-width:400px}
.tcode-form{position:relative;min-width:0}.tcode-field{display:flex;align-items:center;gap:10px;border:1px solid #d8dfd8;border-radius:8px;background:#f8faf7;color:#94a095;padding-left:12px;box-shadow:inset 0 1px 2px #173d3405}.tcode-field:focus-within{border-color:#7c9e78;box-shadow:0 0 0 3px #eaf0e4}.tcode-field>svg{flex-shrink:0}.tcode-field input{width:100%;min-width:0;min-height:44px;padding:0;background:transparent;border:0;outline:none;box-shadow:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:#31564a}.tcode-field input::placeholder{color:#8b998e}.tcode-go{display:grid;place-items:center;flex-shrink:0;width:40px;min-height:44px;border:0;border-radius:0 7px 7px 0;background:transparent;color:#71896d}.tcode-go:hover{background:#edf3e5;color:#173d34}.tcode-field-error{border-color:#b7826e}.tcode-error{position:absolute;top:calc(100% + 10px);left:0;right:0;margin:0;padding:12px 14px;border:1px solid #e6d2c7;border-radius:8px;background:#fffaf7;color:#91492f;box-shadow:0 8px 24px #173d3410;font-size:12px;line-height:1.5}
.account-control{position:relative;justify-self:end}.account-avatar{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e0e9d6;border-radius:50%;background:#edf3e5;color:#31564a;font-size:14px;font-weight:600}.account-avatar:hover,.account-avatar[aria-expanded=true]{background:#deebcc;border-color:#c4d6b3}.account-panel{position:absolute;top:calc(100% + 12px);right:0;width:260px;background:#fff;border:1px solid #dfe5dd;border-radius:12px;box-shadow:0 12px 36px #173d341c;overflow:hidden}.account-details{padding:18px;border-bottom:1px solid #edf0e9}.account-name{margin:0;font-size:14px;font-weight:600}.account-email{margin:5px 0 12px;font-size:12px;color:#80917b;overflow-wrap:anywhere}.account-role{display:inline-block;font-size:11px;color:#567255;background:#f2f5ed;border-radius:5px;padding:5px 7px}.account-signout{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 18px;border:0;background:#fff;color:#31564a;text-align:left;font-size:13px}.account-signout:hover{background:#f4f7f0}
.workspace-content{width:100%;padding:32px}
@media(max-width:1023px){.workspace-header{grid-template-columns:auto minmax(0,1fr) 44px;gap:16px;padding:16px 24px}.workspace-brand{grid-column:1;grid-row:1}.workspace-title{grid-column:2;grid-row:1;font-size:22px}.workspace-actions{display:contents}.tcode-form{grid-column:1/-1;grid-row:2}.account-control{grid-column:3;grid-row:1}.workspace-content{padding:28px 24px}}
@media(max-width:479px){.workspace-header{padding:14px 16px;gap:14px 10px}.workspace-brand{font-size:20px}.workspace-title{font-size:19px}.workspace-content{padding:26px 16px}}

/* Keep mobile navigation within thumb reach, above the device safe area. */
@media(max-width:767px){
  html{scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .workspace-header{display:block;min-height:64px;padding:20px 16px}
  .workspace-header>.workspace-title{font-size:20px}
  .workspace-navigation{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr) 44px;align-items:center;gap:12px;padding:12px max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));border-top:1px solid #dfe5dd;background:#fff;box-shadow:0 -4px 20px #173d3408}
  .workspace-navigation>.workspace-brand{font-size:20px;min-height:44px}
  .workspace-navigation .tcode-form{grid-column:2;grid-row:1}
  .workspace-navigation .account-control{grid-column:3;grid-row:1}
  .workspace-navigation .tcode-field{gap:0;padding-left:10px}
  .workspace-navigation .tcode-field>svg{display:none}
  .workspace-navigation .tcode-field input{font-size:16px}
  .workspace-navigation .tcode-go{width:44px}
  .workspace-navigation .account-panel{top:auto;bottom:calc(100% + 16px);max-width:calc(100vw - 24px)}
  .workspace-navigation .tcode-error{top:auto;bottom:calc(100% + 16px);left:-10px;right:-10px}
  .workspace-content{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}
/* Shared number and searchable select controls, including dynamically swapped fields. */
input[type="number"]{appearance:textfield;-moz-appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.erp-select{width:100%;min-width:0;margin-top:7px;padding:0;border:0;background:none;box-shadow:none;font-size:14px}
.field-label{min-width:0}
.erp-select .ts-control{min-height:44px;padding:12px 36px 12px 14px;border:1px solid #dce3d9;border-radius:8px;background:#fff;color:#1c3430;font:inherit;align-items:center;box-shadow:none;cursor:text}
.erp-select.single .ts-control:after{content:"";position:absolute;right:15px;top:calc(50% - 5px);width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);pointer-events:none}
.erp-select.focus .ts-control{border-color:#78a168;outline:2px solid #c8e99966;outline-offset:1px}
.erp-select .ts-control input{font:inherit!important;color:inherit;min-height:20px}
.erp-select .ts-control>.item{max-width:100%;overflow-wrap:anywhere}
.color-hex-control{display:flex;align-items:center;gap:10px;margin-top:8px}.user-edit-form .color-hex-control>.field{min-width:0;flex:1;margin-top:0}.color-picker{flex:0 0 48px;width:48px;height:44px;min-height:44px;padding:4px;border:1px solid #dfe5dd;border-radius:8px;background:#fff;cursor:pointer}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:0;border-radius:4px}.color-picker::-moz-color-swatch{border:0;border-radius:4px}.master-usage{min-width:0;margin:0;padding:0;border:0}.master-usage legend{padding:0}.master-usage-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:8px}.master-usage-options label{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid #dfe5dd;border-radius:8px;color:#31564a;font-size:13px;cursor:pointer}.master-usage-options input{width:18px;height:18px;flex-shrink:0;accent-color:#176451;cursor:pointer}.master-usage-options label:has(input:checked){background:#f3f7ee;border-color:#abc59b}.color-preview{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.color-swatch{display:inline-block;flex:0 0 28px;width:28px;height:28px;border:1px solid #b5c2b5;border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff33}
/* Keep multi-selects one row tall; selected chips and search scroll within the field. */
.erp-select.multi .ts-control{height:56px;padding:0 8px;gap:4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain}
.erp-select.multi .ts-control>.item{display:inline-flex;flex:0 0 auto;align-items:center;max-width:none;white-space:nowrap;overflow-wrap:normal;margin:0;padding:0 0 0 10px;border-radius:6px;background:#eaf2df;color:#173d34}
.erp-select.multi .ts-control>input{flex:0 0 7ch;min-width:7ch}
.erp-select.multi .ts-control>.item>.remove{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-left:8px;padding:0;color:inherit;text-decoration:none}.field-help{display:block;margin-top:6px;font-size:11px;font-weight:400;line-height:1.4;color:#71816f}
.erp-select.single.dropdown-active .ts-control>.item{display:none}
/* Keep a selected single value on one line while retaining keyboard focus. */
.erp-select.single .ts-control{--ts-pr-min:36px;flex-wrap:nowrap}
.erp-select.single .ts-control>.item{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.erp-select.single.has-items:not(.dropdown-active) .ts-control>input{opacity:0;position:absolute;left:-10000px}
.erp-select.single:not(.dropdown-active) .ts-control{cursor:pointer}
.erp-select.disabled .ts-control{background:#edf1e9;opacity:.65;cursor:not-allowed}
.erp-select-menu{z-index:80;border:1px solid #dce3d9;border-radius:10px;overflow:hidden;background:#fff;color:#1c3430;font-family:inherit;font-size:14px;line-height:1.4;box-shadow:0 12px 32px #173d3426}
.erp-select-menu .ts-dropdown-content{padding:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.erp-select-menu .option{min-height:44px;padding:12px;border-radius:6px;overflow-wrap:anywhere;display:flex;align-items:center}
.erp-select-menu .active{background:#eaf2df;color:#173d34}.erp-select-menu .selected{font-weight:600}.erp-select-menu .no-results{padding:14px;color:#71816f}
.erp-select-menu .optgroup-header{padding:8px 12px;color:#71816f;font-size:12px;font-weight:600}
@media(max-width:767px){.erp-select,.erp-select-menu{font-size:16px}.erp-select .ts-control{min-height:48px}.erp-select-menu .option{min-height:48px}.erp-select-menu .ts-dropdown-content{max-height:200px}}
/* Account registration, recovery and access review. */
.login-links{display:flex;justify-content:space-between;gap:16px;margin-top:22px;font-size:12px;font-weight:600;color:#176451}.login-links a:hover,.account-note a:hover{text-decoration:underline}.account-note{font-size:12px;line-height:1.7;color:#71816f;margin-top:20px}.account-note a{color:#176451;font-weight:600}
.account-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f4f6f2;color:#1c3430}.account-intro{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:64px;background:#173d34;color:#fff}.account-intro .eyebrow{color:#b3cdab}.account-intro h2{font-size:48px;line-height:1.15;letter-spacing:-1.5px;font-weight:600;margin:24px 0}.account-intro p{color:#bdcec4;font-size:14px;line-height:1.7}.account-intro .account-intro-footer{font-size:11px;color:#829f91}.account-steps{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:20px;font-size:13px}.account-steps li{display:flex;align-items:center;gap:14px}.account-steps span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #668a71;border-radius:50%;font-size:10px;color:#c8e999}.account-main{display:flex;align-items:center;justify-content:center;padding:48px 32px}.account-form-wrap{width:100%;max-width:420px}.account-cancel{display:flex;justify-content:flex-end;margin-top:22px}.account-form-wrap h1{font-size:30px;line-height:1.2;letter-spacing:-.8px;font-weight:600;margin:12px 0}.account-description{color:#70806f;font-size:14px;line-height:1.7;margin:0 0 24px}.account-form{display:grid;gap:18px}.account-form .field{margin-top:7px}.account-form .button-primary{justify-content:center}.field-hint{display:block;font-size:11px;font-weight:400;line-height:1.5;color:#83907e;margin-top:7px}.password-toggle{display:flex;gap:8px;align-items:center;font-size:12px;color:#65755f}.password-toggle input{accent-color:#176451}.account-fineprint{margin-top:30px;font-size:11px;color:#8b9784;line-height:1.7}.account-complete{display:flex;align-items:center;gap:14px;margin:30px 0;color:#567255;font-size:14px}.account-complete>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#dcedc7;color:#176451;font-size:22px}
@media(max-width:1023px){.account-page{grid-template-columns:1fr}.account-intro{display:none}.account-main{min-height:100vh}}
@media(max-width:600px){.account-main{padding:32px 24px;align-items:flex-start}.account-form-wrap h1{font-size:28px}.login-links{font-size:11px}.account-form input{font-size:16px}}
/* Compact index pages with separate record forms. */
.users-index{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.users-index>[data-live-topics]:not(.index-toolbar){display:contents}
.users-index .users-result-heading{grid-column:1;grid-row:1;margin:0}
.users-index .users-table-wrap,.users-index .users-pagination{grid-column:1/-1}
.index-toolbar{grid-column:2;grid-row:1;display:flex;gap:8px;position:relative;z-index:35;align-self:start}
.ui-icon{display:block;width:18px;height:18px;flex-shrink:0}
.action-icon,.user-row-action .action-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;gap:0;flex-shrink:0}
.protected-icon{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;margin-left:8px;width:26px;height:26px;border-radius:50%;color:#477439;background:#edf3e5}
.protected-icon .ui-icon{width:16px;height:16px}
.users-result-heading,.users-result-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.users-result-heading{justify-content:space-between;margin:0 0 16px;color:#71816f;font-size:12px}
.users-result-heading p{margin:0}.users-result-heading strong{color:#213e34}
.filter-summary{padding:4px 8px;background:#eaf0e2;border-radius:5px;font-size:11px}
.users-table-wrap{border:1px solid #dfe5dd;border-radius:12px;background:#fff;overflow:hidden}
.users-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
.product-table-wrap{min-width:0;max-width:100%}
.product-table-wrap td{overflow-wrap:anywhere}
.product-table-wrap:focus-visible{outline:2px solid #649859;outline-offset:3px}
@media(min-width:768px){.product-table-wrap{overflow-x:auto;overscroll-behavior-x:contain}.product-table-wrap>.users-table{min-width:960px}.product-table-wrap .record-actions{flex-wrap:nowrap}}
.login-history-table td{overflow-wrap:anywhere}
.login-history-note{grid-column:1/-1;font-size:12px;color:#71816f}.login-history-note a{text-decoration:underline}
.login-history-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.login-history-dates .field{min-width:0;width:100%;padding-inline:8px}
.users-table th{padding:13px 18px;background:#f8faf6;color:#71816f;font-size:11px;font-weight:600;white-space:nowrap}
.users-table td{padding:14px 18px;border-top:1px solid #edf0e9;vertical-align:middle}
.users-table tbody tr:hover{background:#fbfcfa}
.user-identity{max-width:300px;overflow-wrap:anywhere}.user-identity strong{font-size:14px;font-weight:600}
.user-email{display:block;font-size:12px;color:#7b8a77;margin-top:5px;overflow-wrap:anywhere}
.user-you{font-size:10px;color:#71816f;margin-left:8px}
.user-status{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;padding:5px 8px;border-radius:6px;background:#f2eee4;color:#826b43}
.user-status-active{background:#e9f2df;color:#477439}
.user-verification{font-size:12px;color:#8d7855}.user-verification.is-verified{color:#4c7a57}
.user-joined{font-size:12px;color:#7b8a77;white-space:nowrap}
.user-row-action{text-align:right}.user-row-action .button-secondary{padding:8px 12px;gap:8px}
.users-table td.users-empty{padding:44px 20px;text-align:center;color:#7b8a77}
.users-pagination{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.list-tools{position:static}
.list-tools-toggle{position:relative;border:1px solid #d8dfd8;border-radius:8px;background:#fff;color:#31564a}
.list-tools-toggle:hover,.list-tools-toggle[aria-expanded=true]{background:#edf3e5;border-color:#abc59b}
.filter-count{position:absolute;right:-5px;top:-6px;border:2px solid #f4f6f2;display:grid;place-items:center;background:#c8e999;color:#173d34;border-radius:50%;min-width:21px;height:21px;font-size:11px}
.list-tools-panel{position:absolute;right:0;top:calc(100% + 10px);width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 176px);overflow-y:auto;padding:18px;border:1px solid #dfe5dd;border-radius:14px;background:#fff;box-shadow:0 12px 42px #173d3429}
.list-tools-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.list-tools-heading h2{font-size:14px;font-weight:600;margin:0}
.icon-button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;border-radius:8px;color:#6e806c}
.icon-button:hover{background:#f2f5ed}
.list-filter-form{display:grid;gap:16px}.list-filter-form .field{margin-top:7px}
.list-filter-actions{display:flex;justify-content:flex-end;gap:10px}
/* Centre record forms in the available workspace; tall forms keep natural scrolling. */
.workspace-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.workspace-shell>.workspace-header{flex-shrink:0}.workspace-shell>.workspace-content{flex:1}.workspace-form-content{display:flex;flex-direction:column}.workspace-form-content>.user-edit-panel{width:100%;margin:auto}.user-edit-panel>.user-edit-form:first-child{margin-top:0}
.user-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.user-create-form .field{margin-top:8px}.user-create-form>.password-toggle,.user-create-form>.field-hint{grid-column:1/-1}.user-create-form>.field-hint{margin:0}
.user-edit-panel{max-width:760px;background:#fff;border:1px solid #dfe5dd;border-radius:12px;padding:28px}
.price-list-panel>section{margin-top:28px}.price-list-panel .users-result-heading h3{font-size:15px;font-weight:600}.price-list-panel .users-table-wrap{max-width:100%}
@media(min-width:768px){.price-list-index .users-table-wrap,.price-list-panel .users-table-wrap{overflow-x:auto}.price-list-index .users-table{min-width:850px}.price-list-panel .users-table{min-width:580px}}
/* Product is a full-width workspace for its growing configuration sections. */
.workspace-form-content.product-form-content>.user-edit-panel{max-width:none;margin:0}
.product-form-grid>.field-label{display:flex;flex-direction:column;justify-content:space-between}
.product-field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.product-field-heading>span:first-child{flex-shrink:0}
.product-field-heading>.field-help{flex:1;min-width:0;margin-top:0;text-align:right}
@media(min-width:1024px){.product-form-content .product-form-grid,.product-form-content .role-details{grid-template-columns:repeat(4,minmax(0,1fr))}}
.user-edit-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.user-edit-heading h2{font-size:22px;font-weight:600;margin:0;overflow-wrap:anywhere}
.user-details{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:20px;padding:24px 0;margin:0;border-bottom:1px solid #edf0e9}
.user-details dt{font-size:11px;color:#7b8a77;margin-bottom:7px}.user-details dd{font-size:13px;margin:0;overflow-wrap:anywhere}
.role-details{grid-template-columns:repeat(2,minmax(0,1fr))}
.user-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.user-edit-form .field{margin-top:8px}
.user-edit-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid #edf0e9;padding-top:22px}
.user-edit-actions>[data-record-action="delete"]{margin-right:auto}.user-detail-actions{margin-top:24px}
@media(max-width:767px){.user-edit-actions{gap:8px}.user-edit-actions>.button-primary,.user-edit-actions>.button-secondary{gap:8px;padding:12px}}
.user-edit-panel>.notice{margin:24px 0 0}.user-current-role{font-size:14px;margin:18px 0 0}
.dashboard-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.dashboard-summary h2{font-size:20px;font-weight:600;margin:0}.dashboard-summary time{font-size:12px;color:#7b8a77}
.dashboard-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dashboard-details>section,.dashboard-users{padding:24px;background:#fff;border:1px solid #dfe5dd;border-radius:12px}
.dashboard-details h3{font-size:12px;color:#7b8a77;margin:0 0 12px}.dashboard-details p{font-size:18px;font-weight:600;margin:0}
.dashboard-details section>span{display:block;font-size:12px;margin-top:8px;color:#7b8a77;overflow-wrap:anywhere}
.dashboard-users{display:flex;align-items:center;gap:14px;color:#176451;font-size:15px;font-weight:600}.dashboard-users>span:last-child{margin-left:auto}
@media(max-width:1023px){.users-table th,.users-table td{padding:12px}.user-identity{max-width:220px}.dashboard-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
  .list-tools-panel{max-height:calc(100dvh - 250px)}.list-filter-form .field{font-size:16px}
  .users-index{gap:12px}.users-result-heading{gap:6px}.users-result-summary{gap:8px}
  .users-table-wrap{border:0;background:transparent;overflow:visible}.users-table{display:block}
  .users-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .users-table tbody{display:grid;gap:12px}.users-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:18px;background:#fff;border:1px solid #dfe5dd;border-radius:12px}
  .users-table td{display:block;border:0;padding:0;min-width:0;font-size:12px}
  .users-table td[data-label]::before{content:attr(data-label);display:block;color:#8a9784;font-size:10px;margin-bottom:6px}
  .users-table td.user-identity{grid-column:1/-1;max-width:none;border-bottom:1px solid #edf0e9;padding-bottom:14px}
  .users-table td.user-row-action{grid-column:1/-1;text-align:right}
  .users-table td.users-empty{grid-column:1/-1;padding:18px}
  .user-edit-panel{padding:22px}.user-details{grid-template-columns:1fr 1fr}.user-details>div:first-child{grid-column:1/-1}
  .user-edit-form,.user-create-form{grid-template-columns:1fr}.user-edit-form .field,.user-create-form .field{font-size:16px}
  .role-details{grid-template-columns:1fr}
  .dashboard-summary{align-items:flex-start;flex-direction:column;gap:8px}.dashboard-details{grid-template-columns:1fr}
}
/* Shared transient feedback. Progress normally completes in five seconds. */
#notifications:empty{display:none}
.toast-stack{position:fixed;right:max(24px,env(safe-area-inset-right,0px));bottom:24px;z-index:120;display:grid;gap:12px;width:380px;max-width:calc(100vw - 32px);pointer-events:none}
.app-toast{--toast-accent:#397b92;position:relative;display:flex;align-items:flex-start;gap:12px;overflow:hidden;padding:18px 12px 20px 18px;border:1px solid #dfe5dd;border-left:4px solid var(--toast-accent);border-radius:12px;background:#fff;color:#213e34;box-shadow:0 12px 38px #173d3426;pointer-events:auto;animation:toast-in .2s ease-out}
.toast-success{--toast-accent:#238061}.toast-warning{--toast-accent:#b07821}.toast-error{--toast-accent:#bc5140}
.toast-icon{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-size:14px;color:var(--toast-accent)}
.toast-content{flex:1;min-width:0}.toast-content strong{font-size:13px;line-height:1.4}.toast-content p{font-size:13px;line-height:1.6;margin:5px 0 0;overflow-wrap:anywhere}
.toast-close{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;margin-top:-6px;border:0;border-radius:6px;background:transparent;font-size:24px;color:#70816f}
.toast-close:hover{background:#f2f5ed}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--toast-accent);transform-origin:left;animation:toast-progress 5s linear forwards}
.toast-leaving{animation:toast-out .18s ease-in forwards}
@keyframes toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toast-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-out{to{opacity:0;transform:translateX(24px)}}
.button-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #dfbdb4;border-radius:8px;background:#fff7f3;color:#a54835;font-size:13px;font-weight:600;white-space:nowrap}
.button-danger:hover{background:#fae9e1}.record-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.product-options-popover{position:fixed;z-index:90;min-width:220px;max-width:calc(100vw - 16px);padding:6px;background:#fff;border:1px solid #dfe5dd;border-radius:10px;box-shadow:0 12px 32px #173d3426;text-align:left}
.product-options-popover>a{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px;border-radius:6px;color:#1c3430;text-decoration:none;font-size:14px;white-space:nowrap}
.product-options-popover>a:hover,.product-options-popover>a:focus-visible{background:#eaf2df;outline:none}
.product-combination-matrix{grid-column:1/-1;min-width:0;border:1px solid #dfe5dd;border-radius:10px;overflow:hidden}
.combination-help{padding:0 16px}.product-combination-table thead th{text-transform:none}.product-combination-table th:first-child{width:200px;min-width:160px;max-width:240px}
.combination-color{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.combination-color .color-swatch{flex-shrink:0}
.product-combination-matrix>.users-empty{padding:24px 16px;text-align:center;color:#71816f;font-size:14px}
.product-alternate-colors{grid-column:1/-1;min-width:0}.product-alternate-colors h3{font-size:16px;margin:4px 0 10px;color:#176451}.alternate-color-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}.alternate-color-source{display:flex;align-items:center;gap:10px;min-height:56px;margin-top:8px;padding:12px 14px;border:1px solid #dfe5dd;border-radius:8px;font-weight:400;overflow-wrap:anywhere}.alternate-color-source .color-swatch{flex-shrink:0}@media(max-width:767px){.alternate-color-row{grid-template-columns:minmax(0,1fr);gap:10px;padding-bottom:18px;border-bottom:1px solid #edf0e9}}
.product-combination-matrix .permission-matrix-scroll{max-height:65vh}.product-combination-table thead th{position:sticky;top:0;z-index:2}.product-combination-table thead th:first-child{z-index:3}
.record-dialog{width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #dfe5dd;border-radius:16px;padding:28px;background:#fff;color:#213e34;box-shadow:0 24px 80px #173d3433}
.record-dialog::backdrop{background:#142e2866}.record-dialog h2{font-size:22px;font-weight:600;margin:0 0 16px}.record-dialog [data-record-name]{font-weight:600;overflow-wrap:anywhere}.record-dialog [data-record-description]{font-size:13px;line-height:1.7;color:#70816f;margin-bottom:22px}
.record-dialog .field{margin-top:8px}.record-dialog .user-edit-actions{margin-top:24px;flex-wrap:wrap}.record-dialog [hidden]{display:none}
@media(max-width:767px){.workspace-header~main .toast-stack,body:has(.workspace-navigation)>.toast-stack{bottom:calc(88px + env(safe-area-inset-bottom,0px))}.toast-stack{right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}.record-dialog{padding:22px}.record-dialog input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.app-toast,.toast-leaving{animation:none}.toast-leaving{opacity:0}.toast-progress{animation-timing-function:steps(5,end)}}
.live-conflict{grid-column:1/-1;border:1px solid #e5ce9f;background:#fff9eb;color:#73591f;border-radius:8px;padding:14px;font-size:13px;line-height:1.6}.live-conflict p{margin:0 0 10px}.live-unavailable{margin-top:20px}
.session-pause[hidden]{display:none}.session-pause{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:#f4f6f2;color:#1c3430}.session-pause-card{width:100%;max-width:440px;border:1px solid #dfe5dd;border-radius:14px;padding:28px;background:white;box-shadow:0 12px 36px #173d3412}.session-pause-card h2{font-size:22px;font-weight:600;margin:0 0 14px}.session-pause-card p{font-size:14px;line-height:1.7;margin:0 0 24px;color:#547062}.session-pause-actions{display:flex;flex-wrap:wrap;gap:12px}body[data-session-paused]>*:not(#session-pause):not(script){visibility:hidden}
.permission-table td{overflow-wrap:anywhere}
.access-denied-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f4f6f2;color:#1c3430}
.access-denied-panel{width:100%;max-width:520px;padding:40px 32px;border:1px solid #dfe5dd;border-radius:14px;background:#fff;text-align:center}
.access-denied-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:20px;border-radius:50%;background:#eef3e5;color:#547062}.access-denied-icon .ui-icon{width:26px;height:26px}
.access-denied-panel h1{margin:0;font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.4px}.access-denied-panel p{margin:14px 0 28px;font-size:14px;line-height:1.7;color:#70806f}.access-denied-panel .button-secondary{justify-content:center}
@media(max-width:479px){.access-denied-page{padding:20px}.access-denied-panel{padding:30px 22px}.access-denied-panel h1{font-size:21px}}

.import-file{grid-column:1/-1}
.import-actions>.import-template{margin-right:auto}
@media(max-width:767px){.import-template>span,.import-label-detail{display:none}.import-actions>.import-template{min-width:44px;justify-content:center}}

.toast-report{display:inline-flex;margin-top:14px;min-height:44px;align-items:center;color:#176451;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.toast-stack:has(.toast-persistent){max-height:calc(100dvh - 160px);overflow-y:auto;padding:4px}
.toast-persistent{flex-shrink:0}
.permission-matrix-panel{max-width:1200px;min-width:0}.permission-matrix-form{margin-top:26px;min-width:0}.permission-matrix-group{margin-bottom:28px}.permission-matrix-group>h3{font-size:16px;color:#176451;margin:0 0 12px}.permission-matrix-module{border:1px solid #dfe5dd;border-radius:10px;overflow:hidden;margin-top:14px}.permission-matrix-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3f7ee;padding:14px 18px}.permission-matrix-heading>h4{margin:0;font-size:14px}.permission-matrix-heading>span{font-size:12px;color:#62766a;white-space:nowrap}/* Contain absolute screen-reader labels within the table scroller. */
.permission-matrix-scroll{position:relative;overflow:auto;max-width:100%;overscroll-behavior-x:contain}.permission-matrix-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.permission-matrix-table th,.permission-matrix-table td{padding:4px 10px;border-bottom:1px solid #edf0e9;text-align:center;min-width:76px}.permission-matrix-table thead th{height:44px;font-size:12px;text-transform:capitalize;background:#fafcf8;color:#547062}.permission-matrix-table th:first-child{position:sticky;left:0;z-index:1;background:#fff;text-align:left;min-width:150px;padding-left:18px;box-shadow:1px 0 #edf0e9}.permission-matrix-table thead th:first-child{background:#fafcf8}.permission-matrix-table tr:last-child>td,.permission-matrix-table tr:last-child>th{border-bottom:0}.permission-check{position:relative;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.permission-check>input{width:19px;height:19px;accent-color:#176451;cursor:pointer}.permission-check>input:disabled{cursor:default}.permission-missing{color:#9aa69d}@media(max-width:767px){.permission-matrix-panel{padding:18px 14px}.permission-matrix-table th:first-child{min-width:110px;padding-left:12px}.permission-matrix-heading{padding:12px}.permission-matrix-group>h3{font-size:15px}}

/* Private user images stay within the form and mobile account control. */
.account-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.profile-picture-preview { margin: 0 0 24px; }
.profile-picture-preview img, .profile-picture-placeholder { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; }
.profile-picture-placeholder { display: grid; place-items: center; background: #edf3e4; color: #193e34; font-size: 36px; font-weight: 600; }
.signature-preview { min-height: 160px; display: grid; place-items: center; padding: 20px; border: 1px solid #dce3da; border-radius: 12px; margin-bottom: 24px; color: #788b81; background: #fff; }
.signature-preview img { display: block; max-width: 100%; max-height: 200px; object-fit: contain; }
.brand-edit-form{grid-template-columns:minmax(0,1fr)}
.brand-edit-form>.profile-picture-row{margin-bottom:0}
.brand-logo-avatar{flex-shrink:0}
.brand-logo-avatar img{display:block;object-fit:contain;background:#f3f5f0}
.image-removal{display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:#788b81;font-size:13px}
.brand-logo-thumb{display:block;width:80px;height:52px;object-fit:contain;background:#fff;border:1px solid #dfe5dd;border-radius:6px;padding:4px}
.image-upload-form, .image-upload-form .field-label { min-width: 0; }
.image-upload-form input[type=file] { width: 100%; min-width: 0; padding: 12px; font-size: 14px; }
.upload-help { margin: 8px 0 24px; color: #788b81; font-size: 13px; }
.user-signature-link { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 24px; font-size: 13px; color: #788b81; }

/* T-codes navigate modules; the avatar opens personal settings directly. */
.account-avatar { text-decoration: none; }
.profile-session-action { margin-top: 20px; }
.sales-dashboard { max-width: 1440px; margin: 0 auto; }
.sales-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.sales-heading h2 { margin:0; font-size:22px; font-weight:600; letter-spacing:-.4px; }
.sales-heading>div { display:flex; align-items:center; gap:14px; color:#758579; font-size:13px; }
.sales-demo { border:1px solid #dce5d4; background:#edf3e6; color:#56714b; border-radius:6px; padding:6px 10px; font-size:11px; white-space:nowrap; }
.sales-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:24px; }
.sales-metric { min-width:0; background:#fff; border:1px solid #dfe5dd; border-radius:12px; padding:24px; }
.sales-metric>p { color:#738476; font-size:13px; margin:0 0 18px; }
.sales-metric>strong { display:block; font-size:32px; letter-spacing:-1px; font-weight:600; font-variant-numeric:tabular-nums; }
.sales-metric>strong small { font-size:15px; font-weight:500; letter-spacing:0; }
.sales-growth { display:block; margin-top:14px; font-size:12px; color:#267451; }
.sales-growth>span { color:#879187; margin-left:5px; }
.sales-charts { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:24px; }
.sales-chart-card { min-width:0; background:#fff; border:1px solid #dfe5dd; border-radius:12px; padding:26px; }
.sales-chart-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.sales-chart-heading h3 { font-size:16px; font-weight:600; margin:0; }
.sales-chart-heading p { color:#7b8b7b; font-size:12px; margin:8px 0 0; }
.sales-chart-unit { color:#7b8b7b; font-size:12px; }
.sales-trend-summary { display:flex; align-items:baseline; gap:12px; margin:30px 0 18px; flex-wrap:wrap; }
.sales-trend-summary strong { font-size:24px; font-weight:600; letter-spacing:-.5px; }
.sales-trend-summary span { color:#829081; font-size:12px; }
.sales-trend-plot { display:flex; height:240px; min-width:0; gap:8px; }
.sales-y-labels { width:22px; flex-shrink:0; display:flex; flex-direction:column; justify-content:space-between; padding:14px 0; color:#8a9689; font-size:11px; }
.sales-trend { display:block; width:100%; min-width:0; height:100%; }
.sales-months { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:4px 0 0 30px; gap:4px; }
.sales-months>span { font-size:12px; text-align:center; color:#869381; }
.sales-months strong { display:block; margin-top:9px; color:#4e6b57; font-size:12px; font-weight:500; }
.sales-categories { margin-top:30px; }
.sales-category { margin-bottom:22px; }
.sales-category:last-child { margin-bottom:0; }
.sales-category>div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; }
.sales-category>div>span:first-child { display:flex; align-items:center; gap:9px; }
.sales-category strong { font-size:13px; font-weight:600; }
.category-dot { width:8px; height:8px; border-radius:50%; }
.category-track { height:8px; border-radius:6px; background:#f0f4ec; margin-top:12px; overflow:hidden; }
.category-track>span { display:block; height:100%; border-radius:6px; }
.category-one { background:#176451; }.category-two { background:#699776; }.category-three { background:#a4c78a; }.category-four { background:#c8e999; }
.sales-category>p { font-size:11px; color:#829081; margin:7px 0 0; }
@media(max-width:1100px) { .sales-metrics{gap:12px}.sales-metric{padding:20px}.sales-metric>strong{font-size:27px}.sales-charts{gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.sales-chart-card{padding:22px} }
@media(max-width:767px) { .sales-heading{align-items:flex-start}.sales-heading h2{font-size:19px}.sales-heading>div{align-items:flex-end;flex-direction:column;gap:7px;font-size:11px}.sales-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sales-metric{padding:18px}.sales-metric>strong{font-size:25px}.sales-metric>p{font-size:12px;margin-bottom:14px}.sales-growth{line-height:1.6}.sales-growth>span{display:block;margin:0}.sales-charts{grid-template-columns:minmax(0,1fr);gap:18px}.sales-chart-card{padding:20px}.sales-trend-plot{height:220px}.sales-trend-summary{margin:24px 0 14px}.sales-trend-summary strong{font-size:21px} }
@media(max-width:359px) { .sales-metric{padding:15px}.sales-metric>strong{font-size:22px}.sales-metric>strong small{font-size:12px}.sales-chart-card{padding:16px}.sales-months>span,.sales-months strong{font-size:11px} }

.profile-picture-row { display:flex; align-items:center; gap:20px; margin-bottom:24px; }
.profile-picture-row .profile-picture-preview { margin:0; }
.profile-actions>.profile-session-action { margin:0 auto 0 0; }
@media(max-width:479px) {
 .profile-actions .profile-session-action .button-secondary { width:44px; height:44px; padding:0; justify-content:center; gap:0; }
 .profile-session-action button>span { display:none; }
}
@media(max-width:359px) { .profile-actions>.button-primary,.profile-actions>.button-secondary { padding:12px 10px; } }

/* Shared postal addresses: preserve entered lines in every master and detail view. */
textarea.field.address-field{height:96px;min-height:96px;resize:vertical;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.address-text{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:767px){textarea.field.address-field{font-size:16px}}

/* Price List rates: contain wide tables while retaining shared mobile cards. */
:is(.yarn-rate-panel,.fabric-rate-panel,.product-sales-price-panel,.fabric-process-rate-panel,.product-process-rate-panel,.accessory-rate-panel) { width: 100%; max-width: 1180px; }
:is(.yarn-rate-fields,.fabric-rate-fields,.product-sales-price-fields,.fabric-process-rate-fields,.product-process-rate-fields,.accessory-rate-fields) { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
:is(.yarn-rate-fields,.fabric-rate-fields,.product-sales-price-fields,.fabric-process-rate-fields,.product-process-rate-fields,.accessory-rate-fields) .field-label { min-width: 0; }
:is(.yarn-rate-fields,.fabric-rate-fields,.product-sales-price-fields,.fabric-process-rate-fields,.product-process-rate-fields,.accessory-rate-fields) .field-help { float: right; margin-top: 0; font-weight: 400; }
:is(.yarn-rate-validity,.fabric-rate-validity,.product-sales-price-validity,.fabric-process-rate-validity,.product-process-rate-validity,.accessory-rate-validity) { display: block; font-size: .75rem; color: #64748b; margin-top: .25rem; }
:is(#yarn-rate-results,#fabric-rate-results,#product-sales-price-results,#fabric-process-rate-results,#product-process-rate-results,#accessory-rate-results) .users-table-wrap { overflow-x: auto; }
@media (min-width: 768px) { :is(#yarn-rate-results,#fabric-rate-results,#product-sales-price-results,#fabric-process-rate-results,#product-process-rate-results,#accessory-rate-results) .users-table { min-width: 980px; } }
@media (max-width: 639px) { :is(.yarn-rate-fields,.fabric-rate-fields,.product-sales-price-fields,.fabric-process-rate-fields,.product-process-rate-fields,.accessory-rate-fields) { grid-template-columns: minmax(0, 1fr); } }

:is(.yarn-rate-header,.fabric-rate-header,.product-sales-price-header,.fabric-process-rate-header,.product-process-rate-header,.accessory-rate-header) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
:is(.yarn-rate-table,.fabric-rate-table,.product-sales-price-table,.fabric-process-rate-table,.product-process-rate-table,.accessory-rate-table) th .field-help { display: inline; margin: 0; }
:is(.yarn-rate-table,.fabric-rate-table,.product-sales-price-table,.fabric-process-rate-table,.product-process-rate-table,.accessory-rate-table) .composite-remove .field-help { margin: 0; }
@media(max-width:639px) { :is(.yarn-rate-header,.fabric-rate-header,.product-sales-price-header,.fabric-process-rate-header,.product-process-rate-header,.accessory-rate-header) { grid-template-columns:minmax(0,1fr); } }
.rate-navigation { display:flex; align-items:center; flex-wrap:wrap; gap:0.65rem; margin-bottom:1rem; grid-column:1/-1; min-width:0; }
:is(.yarn-rate-table,.fabric-rate-table,.product-sales-price-table,.fabric-process-rate-table,.product-process-rate-table,.accessory-rate-table) td.users-empty { grid-column:1/-1; }
.multi-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.multi-row-actions .action-icon{padding:0}
[data-multi-rows]>[data-multi-row]:not(:last-child) [data-row-add],
[data-multi-rows]>[data-multi-row]:only-child [data-row-remove]{display:none!important}
.user-edit-heading:is(.yarn-rate-heading,.fabric-rate-heading,.product-sales-price-heading,.fabric-process-rate-heading,.product-process-rate-heading,.accessory-rate-heading){display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px}
:is(.yarn-rate-version,.fabric-rate-version,.product-sales-price-version,.fabric-process-rate-version,.product-process-rate-version,.accessory-rate-version){display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px;overflow-wrap:anywhere}
:is(.yarn-rate-version,.fabric-rate-version,.product-sales-price-version,.fabric-process-rate-version,.product-process-rate-version,.accessory-rate-version) .field-help{margin:0}
@media(max-width:639px){.user-edit-heading:is(.yarn-rate-heading,.fabric-rate-heading,.product-sales-price-heading,.fabric-process-rate-heading,.product-process-rate-heading,.accessory-rate-heading){grid-template-columns:minmax(0,1fr) auto;gap:12px}:is(.yarn-rate-heading,.fabric-rate-heading,.product-sales-price-heading,.fabric-process-rate-heading,.product-process-rate-heading,.accessory-rate-heading) :is(.yarn-rate-version,.fabric-rate-version,.product-sales-price-version,.fabric-process-rate-version,.product-process-rate-version,.accessory-rate-version){grid-column:1/-1;grid-row:2}:is(.yarn-rate-heading,.fabric-rate-heading,.product-sales-price-heading,.fabric-process-rate-heading,.product-process-rate-heading,.accessory-rate-heading)>.user-status{grid-column:2;grid-row:1}}

/* Previous-version rate suggestions: small tick with a full touch target. */
.rate-entry-fields{border:0;padding:0;margin:0;min-width:0}
.rate-input-control{position:relative;min-width:0}
@media(min-width:801px){.rate-input-control{min-width:150px}}
.rate-input-control:has(.rate-accept:not([hidden])) input{padding-right:46px}
.rate-accept{position:absolute;right:2px;bottom:2px;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;border:0;background:transparent}
.rate-accept .ui-icon{width:15px;height:15px}
.rate-accept[hidden]{display:none!important}
.rate-copy-status{font-size:13px;color:var(--muted,#64748b);line-height:1.5}

.price-list-versions { grid-column:1/-1; min-width:0; }
.price-list-versions .field { min-width:145px; }
.user-edit-panel.composite-panel.accessory-rate-panel { max-width:none; min-width:0; }
@media(min-width:801px) { .accessory-rate-table { min-width:1150px; } }

.user-edit-panel.price-list-panel { max-width:1100px; }

/* Version drafts are newest first; the add control follows the top row. */
[data-version-rows] > tr:not(:first-child) :is([data-version-add],[data-version-add-link]) { display:none; }
.version-row-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.version-row-actions .action-icon { padding:0; }
.price-version-table th:last-child { width:240px; min-width:240px; }
.price-version-table .field-help { display:block; margin:4px 0 0; font-weight:400; }
.price-list-versions [data-version-draft] { background:#f8fbf5; }
@media(max-width:800px) {
  .price-list-panel .price-version-table { min-width:0; }
  .price-version-table, .price-version-table tbody { display:block; }
  .price-version-table thead { display:none; }
  .price-version-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:16px; }
  .price-version-table tr + tr { border-top:1px solid #dfe5dd; }
  .price-version-table td { display:block; padding:0; border:0; min-width:0; }
  .price-version-table td::before { content:attr(data-label); display:block; font-size:12px; color:#758174; margin-bottom:6px; }
  .price-version-table td[data-label="Valid To"]::before { content:"Valid To (blank: no end date)"; }
  .price-version-table .field { width:100%; min-width:0; }
  .price-version-table .user-row-action { grid-column:1/-1; }
}

.fabric-process-rate-panel,.product-process-rate-panel { width:100%; max-width:none; }
@media(min-width:640px) { .fabric-process-rate-header,.product-process-rate-header { grid-template-columns:repeat(3,minmax(0,1fr)); } }



.user-edit-panel.composite-panel.product-sales-price-panel {max-width:none;width:100%;min-width:0}
.product-sales-price-rows {grid-column:1/-1;min-width:0}
.product-sales-price-table {min-width:2250px}
.product-sales-price-table td {min-width:135px}
.product-sales-price-table td:nth-child(2) {min-width:210px}
.product-sales-price-table td:nth-child(13) {min-width:190px}
.product-sales-price-table .composite-position {min-width:36px}
@media(max-width:800px){.product-sales-price-table {min-width:0}.product-sales-price-table td {min-width:0}}

@media(min-width:801px){.product-sales-price-table th:nth-child(2){width:210px}.product-sales-price-table th:nth-child(13){width:190px}}
.product-sales-price-table .rate-input-control {min-width:0}
.product-sales-price-rows .composite-table-wrap {position:relative}
@media(max-width:800px){.product-sales-price-table td:nth-child(2),.product-sales-price-table td:nth-child(13){min-width:0}}

.party-prices-table{width:100%;table-layout:fixed}.party-prices-table th:last-child{width:130px}.party-prices-table td{vertical-align:top}.party-prices-table .field{width:100%}
@media(max-width:800px){.party-prices-table{table-layout:auto;min-width:0}.party-prices-table thead{display:none}.party-prices-table,.party-prices-table tbody,.party-prices-table tr,.party-prices-table td{display:block;width:100%}.party-prices-table td[data-label]::before{content:attr(data-label);display:block;margin-bottom:.4rem}.party-prices-table tr{padding:.75rem 0;border-bottom:1px solid var(--border)}}

.yarn-stock-limits-table{min-width:1650px;width:100%}.yarn-stock-limits-table td{min-width:140px}.yarn-stock-limits-table td:first-child{min-width:190px}
#live-yarn-stock-limit .product-fabric-table-wrap{position:relative}

.fabric-stock-limits-table{min-width:1650px;width:100%}.fabric-stock-limits-table td{min-width:140px}.fabric-stock-limits-table td:first-child{min-width:190px}#live-fabric-stock-limit .product-fabric-table-wrap{position:relative}
.product-stock-limits-table{min-width:1650px;width:100%}.product-stock-limits-table td{min-width:140px}.product-stock-limits-table td:first-child{min-width:190px}#live-product-stock-limit .product-fabric-table-wrap{position:relative}
.accessory-stock-limits-table{min-width:1650px;width:100%}.accessory-stock-limits-table td{min-width:140px}.accessory-stock-limits-table td:first-child{min-width:190px}#live-accessory-stock-limit .product-fabric-table-wrap{position:relative}
@media(min-width:1280px){:is(#live-yarn-stock-limit,#live-fabric-stock-limit,#live-accessory-stock-limit,#live-product-stock-limit)>.user-edit-form{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Stock-limit variants fit desktop width while retaining usable controls. */
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table){min-width:1100px}
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table) td{min-width:0}
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table) td:first-child{min-width:0}
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table) thead th{white-space:nowrap;height:44px;padding:6px;font-size:12px}
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table) .field{min-width:0;min-height:44px;padding:8px;font-size:13px}
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table) .erp-select .ts-control{min-height:44px;padding-left:8px;padding-right:26px;font-size:13px}
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table) th:has(.sr-only){width:104px}
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table) .multi-row-actions{gap:4px}
:is(.yarn-stock-limits-table,.fabric-stock-limits-table,.product-stock-limits-table,.accessory-stock-limits-table) .action-icon{width:44px;min-width:44px;padding:10px}

@media(min-width:1280px){.purchase-requisition-form{grid-template-columns:repeat(5,minmax(0,1fr))}}
[data-pr-print][aria-disabled="true"] { opacity: .45; cursor: not-allowed; }

.po-pr-loader,[data-po-message]{grid-column:1/-1}.po-pr-loader [data-po-pending-list] label{display:block;margin:8px 0}.po-items{min-width:1000px}.po-items .field{min-width:85px;padding:8px}.po-items small{display:block;font-size:10px;max-width:150px}.transaction-activity{margin-top:24px;border-top:1px solid #dbe1d8;padding-top:16px}

.po-pr-loader{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.po-pr-loader [data-po-pending-list]{flex-basis:100%}

.po-rate-control{display:flex;align-items:center;gap:2px;min-width:116px;margin-top:8px}.po-rate-control>.field{flex:1;width:0;min-width:70px!important;margin-top:0}.po-rate-info{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;background:transparent;border-radius:6px;color:#71816f;cursor:pointer}.po-rate-info[data-state="ok"]{color:#176451}.po-rate-info[data-state="error"]{color:#ba3527}.po-rate-info:hover,.po-rate-info[aria-expanded="true"]{background:#f0f4ed}.po-rate-popover{position:fixed;z-index:1500;width:max-content;max-width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 14px;background:#fff;border:1px solid #cbd8c7;border-radius:10px;box-shadow:0 8px 26px #173d3426;color:#213e34;font-size:12px;line-height:1.6}.po-rate-popover[data-state="error"]{border-color:#dc9f94;color:#9b3023}.po-rate-popover[hidden]{display:none}
/* Purchase vouchers: wider item identities, compact quantities, mobile item cards. */
.purchase-requisition-form .product-fabric-table{table-layout:fixed;width:100%;min-width:900px}
.purchase-requisition-form .product-fabric-table th,.purchase-requisition-form .product-fabric-table td{padding:6px;min-width:0}
.purchase-requisition-form .product-fabric-table .field{min-width:0;width:100%}
.purchase-requisition-form .product-fabric-table th[hidden],.purchase-requisition-form .product-fabric-table td[hidden]{display:none!important}
.purchase-order-form[data-kind="yarn"] .po-items th:nth-child(2){width:21%}
.purchase-order-form[data-kind="yarn"] .po-items th:nth-child(3){width:8%}
.purchase-order-form[data-kind="yarn"] .po-items th:nth-child(4){width:18%}
.purchase-order-form[data-kind="yarn"] .po-items th:nth-child(5){width:13%}
.purchase-order-form[data-kind="yarn"] .po-items th:nth-child(6){width:7%}
.purchase-order-form[data-kind="yarn"] .po-items th:nth-child(7){width:7%}
.purchase-order-form[data-kind="yarn"] .po-items th:nth-child(8){width:12%}
.purchase-order-form[data-kind="yarn"] .po-items th:nth-child(9){width:8%}
.purchase-order-form[data-kind="yarn"] .po-items th:last-child:has(.sr-only){width:100px}
.purchase-requisition-form:not(.purchase-order-form) .yarn-stock-limits-table th:nth-child(1){width:28%}
.purchase-requisition-form:not(.purchase-order-form) .yarn-stock-limits-table th:nth-child(2){width:10%}
.purchase-requisition-form:not(.purchase-order-form) .yarn-stock-limits-table th:nth-child(3){width:24%}
.purchase-requisition-form:not(.purchase-order-form) .yarn-stock-limits-table th:nth-child(4){width:18%}
.purchase-requisition-form:not(.purchase-order-form) .yarn-stock-limits-table th:nth-child(5),.purchase-requisition-form:not(.purchase-order-form) .yarn-stock-limits-table th:nth-child(6){width:10%}
.purchase-order-form .user-edit-actions>[data-record-action="delete"]{margin-right:0}
.purchase-order-form .user-edit-actions>[data-po-approval-button]{margin-right:auto}
.purchase-order-form .user-edit-actions>[data-record-action="delete"]:not(:has(+[data-po-approval-button])){margin-right:auto}
@media(max-width:767px){
 .purchase-requisition-form .product-fabric-table-wrap{overflow:visible;border:0;background:transparent}
 .purchase-requisition-form .product-fabric-table{display:block;min-width:0!important;width:100%;background:transparent}
 .purchase-requisition-form .product-fabric-table thead{display:none}
 .purchase-requisition-form .product-fabric-table tbody{display:grid;gap:12px}
 .purchase-requisition-form .product-fabric-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #dbe1d8;border-radius:12px;background:#fff}
 .purchase-requisition-form .product-fabric-table td{display:block;min-width:0!important;width:auto;padding:0;border:0}
 .purchase-requisition-form .product-fabric-table td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:#577367;margin-bottom:5px}
 .purchase-requisition-form .product-fabric-table td[data-label="Yarn"],.purchase-requisition-form .product-fabric-table td[data-label="Fabric"],.purchase-requisition-form .product-fabric-table td[data-label="Accessory"],.purchase-requisition-form .product-fabric-table td[data-label="Product"]{grid-column:1/-1}
 .purchase-requisition-form .product-fabric-table .field,.purchase-requisition-form .product-fabric-table .erp-select{margin-top:0;min-width:0!important;width:100%}
 .purchase-requisition-form .po-rate-control{margin-top:0;min-width:0}
 .purchase-requisition-form [data-po-amount]{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
 .purchase-requisition-form td:has(>.multi-row-actions){grid-column:1/-1}
 .purchase-requisition-form .voucher-button-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .purchase-requisition-form .user-edit-actions{flex-wrap:nowrap;gap:6px}
 .purchase-requisition-form .user-edit-actions :is(button,a),.purchase-requisition-form .po-pr-loader button{width:44px;min-width:44px;height:44px;padding:10px;gap:0}
 .purchase-requisition-form .user-edit-actions .ui-icon,.purchase-requisition-form .po-pr-loader .ui-icon{flex-shrink:0}
}
@media(max-width:767px){
 .user-edit-panel:has(>.purchase-requisition-form){padding:16px}
 .purchase-requisition-form .user-edit-actions{gap:4px}
}

.stock-ledger-filters,.stock-ledger-totals{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin:20px 0}.stock-ledger-totals{padding:16px;background:#fff;border:1px solid #dbe1d8;border-radius:12px}.stock-ledger-filters .field-label{min-width:180px}[data-grn-rows] td{overflow-wrap:anywhere}

/* Compact PO header; dates reserve only the space they need. */
.voucher-field-caption { display:flex; align-items:baseline; justify-content:space-between; gap:.3rem; white-space:nowrap; }
.voucher-field-caption .field-help { margin:0; }
[data-po-party-location][hidden] { display:none !important; }
@media (min-width:1280px) {
 .purchase-order-form[data-po-form] { grid-template-columns:minmax(135px,.65fr) minmax(150px,1.2fr) minmax(150px,1.2fr) minmax(150px,1.2fr) minmax(130px,.8fr) minmax(140px,.7fr); gap:1rem; }
 .purchase-order-form[data-po-form][data-destination="party"] { grid-template-columns:minmax(135px,.65fr) minmax(135px,1fr) minmax(135px,1fr) minmax(140px,1.1fr) minmax(120px,.8fr) minmax(150px,1.2fr) minmax(140px,.7fr); }
 .purchase-order-form[data-po-form] > .field-label { min-width:0; }
}

.purchase-order-form[data-po-form] > label[hidden] {display:none !important;}
@media(min-width:1280px) {
.purchase-order-form[data-po-form][data-destination="party"] {grid-template-columns:minmax(135px,.65fr) minmax(150px,1.2fr) minmax(150px,1.2fr) minmax(130px,.8fr) minmax(170px,1.4fr) minmax(140px,.7fr);}
}

[data-grn-warehouse-label][hidden]{display:none!important;}

.yarn-stock-group{margin-bottom:1rem}.yarn-stock-group>h2{font-size:1.1rem;margin:0;padding:.65rem 1rem;background:var(--surface-muted,#f4f7ef);border-radius:.6rem .6rem 0 0}.yarn-stock-history summary{cursor:pointer;font-weight:600;color:#176854}.yarn-stock-history ul{margin:.5rem 0;padding-left:1rem;font-size:.85rem}.yarn-stock-history li{margin:.4rem 0}

.yarn-stock-history summary{list-style:none}.yarn-stock-history summary::-webkit-details-marker{display:none}.yarn-stock-history ul{max-width:20rem;white-space:normal;overflow-wrap:anywhere;text-align:left}

.stock-ledger-page{display:block}.stock-ledger-page>[data-live-topics]{display:block!important}.stock-ledger-heading{align-items:flex-start}.stock-ledger-heading h2{flex:1;min-width:0}.stock-ledger-tools{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.stock-ledger-tools>.index-toolbar{align-self:auto}.stock-ledger-location{margin:16px 0}.stock-ledger-page .stock-ledger-totals{justify-content:flex-end;width:fit-content;margin-left:auto}.stock-ledger-page .users-pagination{justify-content:flex-end}@media(max-width:639px){.stock-ledger-heading{flex-wrap:wrap}.stock-ledger-tools{margin-left:auto}.stock-ledger-tools>a span{display:none}.stock-ledger-tools>a{width:44px;padding:0;justify-content:center}.stock-ledger-page .stock-ledger-totals{width:auto;gap:12px}}

.stock-audit-toggle{display:flex;align-items:center;gap:8px;min-height:44px}.stock-audit-toggle input{width:18px;height:18px}.stock-ledger-mode{margin:12px 0;color:#61736a;font-size:.9rem}
.stock-report-totals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px;margin:8px 0 16px;padding:10px 14px;background:#f4f7ef;border-radius:8px}.stock-grand-total{grid-column:1/-1;font-weight:600;border-top:2px solid #b9c6b0}.fabric-stock-group{grid-column:1/-1;min-width:0;margin-bottom:20px}.fabric-stock-group>h2{font-size:1.1rem;margin:0;padding:.65rem 1rem;background:var(--surface-muted,#f4f7ef);border-radius:.6rem .6rem 0 0}.fabric-stock-subgroup>h3{font-size:13px;font-weight:400;margin:12px 0 8px}.fabric-matrix-wrap{overflow-x:auto;width:100%;border:1px solid #dbe1d8;border-radius:10px;background:#fff;margin-bottom:4px}.fabric-stock-matrix{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}.fabric-stock-matrix th,.fabric-stock-matrix td{padding:12px 14px;border-bottom:1px solid #e7ece3;text-align:right}.fabric-stock-matrix th:first-child{text-align:left;min-width:130px}.fabric-stock-matrix thead th{background:#f8faf6;color:#71816f;font-size:11px;font-weight:600}.fabric-stock-matrix tbody th{font-size:14px;font-weight:600}.fabric-stock-matrix tbody tr:hover{background:#fbfcfa}.fabric-stock-matrix tfoot{background:#f4f7ef}.fabric-stock-matrix tfoot{font-weight:600}.fabric-cell-history{display:inline-block;vertical-align:middle}.fabric-stock-weight,.fabric-cell-history>summary{display:inline-flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px;cursor:pointer;list-style:none;color:inherit;text-decoration:none}.fabric-stock-weight:hover,.fabric-cell-history>summary:hover{text-decoration:none}.fabric-stock-weight:focus-visible,.fabric-cell-history>summary:focus-visible{outline:2px solid #176854;outline-offset:3px;border-radius:4px}.fabric-cell-history>summary::-webkit-details-marker{display:none}.fabric-cell-history ul{white-space:normal;min-width:180px;max-width:260px;text-align:left;padding-left:16px}.fabric-cell-history li{margin:8px 0}.matrix-total{font-weight:600}
.yarn-stock-group{grid-column:1/-1;min-width:0}

@media(min-width:768px){.accessory-stock-wrap{overflow-x:auto}.accessory-stock-table{min-width:850px}.accessory-stock-table td[data-label="Stock"]{white-space:nowrap}}
/* Shared fieldsets preserve the form grid and native view-only semantics. */
.record-fields { display: grid; grid-template-columns: inherit; gap: inherit; grid-column: 1 / -1; min-width: 0; border: 0; padding: 0; margin: 0; }
.record-fields[disabled] button, .record-fields[disabled] .composite-remove { display: none !important; }
.record-fields[disabled] .field { opacity: 1; color: #334155; }
.user-edit-heading h2 { min-width: 0; overflow-wrap: anywhere; }
.user-edit-form, .composite-form, .user-edit-panel { min-width: 0; }
.user-edit-actions { grid-column: 1 / -1; }
@media (max-width: 480px) {
  .user-edit-form, .user-create-form { grid-template-columns: minmax(0, 1fr); }
  .user-edit-actions { gap: 8px; flex-wrap: wrap; min-width: 0; }
  .user-edit-actions .button-primary, .user-edit-actions .button-secondary { padding-inline: 10px; min-height: 44px; }
  .user-edit-actions .action-icon { min-width: 44px; min-height: 44px; }
}
