/* Shared form roles. Record forms opt in; document/communication layouts retain their own geometry. */
.erp-themed,:is(#modal,#record-warning-notice).form-dialog,.modal-unsaved,.form-warehouse{
 --form-navy-start:#17334e;--form-navy-end:#294f70;
 --form-section-start:light-dark(#e5eef6,#263e55);--form-section-end:light-dark(#f1f6fa,#223347);
 --form-summary-start:light-dark(#e9edf1,#34495f);--form-summary-end:light-dark(#d7dee5,#25384b);
 --form-wash:light-dark(#eef4f8,#162333);--form-identity:light-dark(#e0eaf3,#293f55);
 --form-border:light-dark(#cddbe7,#687f98);--form-field:light-dark(#fff,#101b29);--form-radius:7px;
}
.erp-themed .form-header-1,:is(#modal,#record-warning-notice).form-dialog .form-header-1{color:#fff;background:linear-gradient(110deg,var(--form-navy-start),var(--form-navy-end))}
.erp-themed .form-header-2,.form-family-record .form-header-2{color:light-dark(#285678,#d3e7f8);background:linear-gradient(90deg,var(--form-section-start),var(--form-section-end))}
.erp-themed .form-header-3{color:var(--text);background:linear-gradient(var(--form-summary-start),var(--form-summary-end))}
.erp-themed .form-header-4{color:#fff;background:var(--head)}
.erp-themed .form-section,.form-family-record .form-section{border:1px solid var(--form-border,var(--line));border-radius:var(--form-radius);background:var(--panel);overflow:hidden}
.erp-themed .form-footer{padding:12px 16px;background:var(--stripe);border-top:1px solid var(--line)}
:is(#modal,#record-warning-notice).form-dialog{padding:0;width:min(var(--form-width,1000px),calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:hidden;background:var(--form-wash);border-color:var(--form-border);font:14px/1.45 'Segoe UI',Arial,sans-serif}
:is(#modal,#record-warning-notice).form-dialog .dialoghead{padding:18px 23px;margin:0;border-bottom:3px solid #2184cf}
:is(#modal,#record-warning-notice).form-dialog .dialoghead h2{font-size:21px;font-weight:650;letter-spacing:-.3px}
:is(#modal,#record-warning-notice).form-dialog .dialoghead :is(#closemodal,[data-modal-close]){border:1px solid #ffffff35;background:#ffffff09;color:white;border-radius:5px;width:32px;height:32px;min-height:32px;padding:0;font-size:18px}
:is(#modal,#record-warning-notice).form-dialog :is(#modalbody,[data-form-body]){padding:0;max-height:calc(100dvh - 103px);overflow:auto}
.form-family-record .form-identity{padding:12px 23px;background:var(--form-identity);border-bottom:1px solid var(--form-border);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.form-family-record .form-identity span{font-size:12px;color:var(--muted)}
.form-family-record .form-body{padding:18px 22px;display:grid;gap:15px}
.form-family-record .form-header-2{margin:0;border-bottom:1px solid var(--form-border);padding:9px 15px;font-size:13px;font-weight:700}
.form-family-record .form-fields{padding:19px 15px 15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 14px}
.form-family-record .floating-field{margin:0;min-width:0}
.form-family-record .field input,.form-family-record .field select,.form-family-record .field textarea{background:var(--form-field);border-color:light-dark(#bccedc,#687f98);padding:10px 12px;min-height:43px;height:43px;font-size:14px}
.form-family-record .field textarea{height:70px;resize:vertical}
.form-family-record .field select{padding-right:32px}
.form-family-record .floating-field:has(>select)::after{top:17px}
.form-family-record .floating-field:focus-within .field-label,.form-family-record .floating-field.has-value .field-label{background:var(--form-field)}
.form-family-record .field input:focus,.form-family-record .field select:focus,.form-family-record .field textarea:focus{outline:2px solid #2286d033;outline-offset:2px;border-color:var(--blue)}
.form-family-record .check{min-height:43px;gap:9px;padding:0 10px;font-size:13px;white-space:normal}
.form-family-record .form-span-2{grid-column:span 2}
:is(#modal,#record-warning-notice).form-dialog #formerror:empty{display:none}
:is(#modal,#record-warning-notice).form-dialog #formerror:not(:empty){padding:0 22px 14px}
:is(#modal,#record-warning-notice).form-dialog .form-footer{position:sticky;bottom:0;margin:0;padding:13px 22px;background:var(--form-identity);border-top:1px solid var(--form-border);z-index:1}
:is(#modal,#record-warning-notice).form-dialog .form-footer button{min-width:88px;padding:9px 19px}
@media (max-width:680px){
 :is(#modal,#record-warning-notice).form-dialog .dialoghead{padding:15px}
 :is(#modal,#record-warning-notice).form-dialog .form-footer{padding:13px}
}
/* T2827: page content follows the width #content has (container "main", base.css), not the viewport; the @media copy keeps dialogs/menus outside #content on the viewport */
@container main (max-width:656px){
 .form-family-record .form-body{padding:13px;gap:12px}
 .form-family-record .form-fields{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 12px 12px}
 .form-family-record .form-identity{padding:10px 15px}
}
@media (max-width:680px){.form-family-record .form-body:where(:not(#content *)){padding:13px;gap:12px}.form-family-record .form-fields:where(:not(#content *)){grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 12px 12px}.form-family-record .form-identity:where(:not(#content *)){padding:10px 15px}}
@media (max-width:440px){
 :is(#modal,#record-warning-notice).form-dialog .dialoghead h2{font-size:19px}
}
@container main (max-width:416px){
 .form-family-record .form-fields{grid-template-columns:1fr}
 .form-family-record .form-span-2{grid-column:auto}
 .form-family-record .field input,.form-family-record .field select,.form-family-record .field textarea{font-size:16px}
}
@media (max-width:440px){.form-family-record .form-fields:where(:not(#content *)){grid-template-columns:1fr}.form-family-record .form-span-2:where(:not(#content *)){grid-column:auto}.form-family-record .field input:where(:not(#content *)),.form-family-record .field select:where(:not(#content *)),.form-family-record .field textarea:where(:not(#content *)){font-size:16px}}

/* Sizes and shared controls for compact edits, selectors, imports and confirmations. */
/* Record warnings reuse the record family, header roles and shared modal guard. */
.form-dialog .warning-grid{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,64px) 34px;gap:12px;align-items:center}
.form-dialog .vendor-grid{grid-template-columns:minmax(0,1fr) 80px 34px}
.form-dialog .warning-columns{padding:10px 15px;background:var(--form-identity);font-size:12px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--form-border)}
.form-dialog .warning-columns>span:not(:first-child){text-align:center}
.form-dialog .warning-row{padding:15px;border-bottom:1px solid var(--line)}
.form-dialog .warning-row:last-child{border-bottom:0}
.form-dialog .warning-row .field textarea{height:76px;line-height:1.45}
.form-dialog .warning-row .check{padding:0;justify-content:center}
.form-dialog .warning-row .check span{display:none}
.form-dialog .warning-remove{padding:0;border:0;background:transparent;font-size:23px;min-height:34px;width:34px}
.form-dialog .warning-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}
.form-dialog .warning-tools small{color:var(--muted)}
.form-dialog .warning-note{padding:17px 18px;border-left:4px solid light-dark(#d49c29,#dfb150);background:light-dark(#fffaf0,#302a1e);font-size:15px;line-height:1.6;color:var(--text);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:620px){
 .form-dialog .warning-columns{display:none}
 .form-dialog .warning-row{grid-template-columns:repeat(4,minmax(0,1fr)) 32px;gap:6px}
 .form-dialog .warning-row .field{grid-column:1/-1}
 .form-dialog .warning-row .check{gap:6px;justify-content:flex-start;min-height:44px}
 .form-dialog .warning-row .check span{display:inline}
 .form-dialog .vendor-grid.warning-row{grid-template-columns:1fr 32px}
 .form-dialog .warning-tools{align-items:flex-start;flex-direction:column}
}
:is(#modal,#record-warning-notice).form-dialog[data-form-size=compact]{--form-width:540px}
:is(#modal,#record-warning-notice).form-dialog[data-form-size=medium]{--form-width:780px}
:is(#modal,#record-warning-notice).form-dialog[data-form-size=communication]{--form-width:920px}
:is(#modal,#record-warning-notice).form-dialog[data-form-size=wide]{--form-width:1440px}
:is(#modal,#record-warning-notice).form-dialog[data-form-size=wide]:has(#rfq-form-lines){--form-width:1280px}
:is(#modal,#record-warning-notice).form-dialog .form-basic-body{padding:20px 22px;display:grid;gap:16px}
:is(#modal,#record-warning-notice).form-dialog .form-basic-body>p{margin:0}
:is(#modal,#record-warning-notice).form-dialog .form-basic-body>.grid{padding:18px 15px;background:var(--panel);border:1px solid var(--form-border);border-radius:var(--form-radius);gap:17px 14px}
:is(#modal,#record-warning-notice).form-dialog .form-basic-body .grid>.field:has(textarea){grid-column:1/-1}
:is(#modal,#record-warning-notice).form-dialog[data-form-size=compact] .grid{grid-template-columns:1fr}
:is(#modal,#record-warning-notice).form-dialog[data-form-size=medium] .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .floating-field{margin:0;min-width:0}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .field input:not([type=file]),:is(#modal,#record-warning-notice).form-dialog .form-family-basic .field select,:is(#modal,#record-warning-notice).form-dialog .form-family-basic .field textarea{min-height:43px;height:43px;padding:10px 12px;background:var(--form-field);border-color:var(--form-border);font-size:14px}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .field textarea{height:80px;resize:vertical}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .field select{padding-right:32px}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .floating-field:has(>select)::after{top:17px}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .floating-field:focus-within .field-label,:is(#modal,#record-warning-notice).form-dialog .form-family-basic .floating-field.has-value .field-label{background:var(--form-field)}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .checkgroup{margin:0;gap:12px}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .check{white-space:normal;gap:8px;min-height:32px}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic h3{margin:0;padding:9px 14px;border:1px solid var(--form-border);border-radius:5px;color:light-dark(#285678,#d3e7f8);background:linear-gradient(90deg,var(--form-section-start),var(--form-section-end));font-size:14px}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .dialogline{margin:0 0 14px;padding:0 0 15px;background:var(--panel);border:1px solid var(--form-border);overflow:hidden}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .dialogline h3{border:0;border-bottom:1px solid var(--form-border);border-radius:0;padding:10px 15px;margin-bottom:18px}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .dialogline>.grid{padding:0 15px;gap:17px 14px}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic hr{width:100%;border:0;border-top:1px solid var(--form-border);margin:0}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .mini-table{border:1px solid var(--form-border);border-radius:var(--form-radius);background:var(--panel)}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .totals{width:100%;background:var(--panel);border:1px solid var(--form-border);border-radius:var(--form-radius);padding:10px;margin-top:0}
:is(#modal,#record-warning-notice).form-dialog .form-family-basic .totals div:last-child{font-weight:700;border-bottom:0}
:is(#modal,#record-warning-notice).form-dialog .form-price-breaks{display:grid;gap:12px}
:is(#modal,#record-warning-notice).form-dialog .form-price-break{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;background:var(--panel);border:1px solid var(--form-border);border-radius:var(--form-radius)}
:is(#modal,#record-warning-notice).form-dialog input[type=file]:not([hidden]){height:auto;max-width:100%;padding:9px;background:var(--form-field);border:1px solid var(--form-border);border-radius:5px}
:is(#modal,#record-warning-notice).form-dialog input[type=file]::file-selector-button{font:inherit;padding:6px 10px;margin-right:10px;border:1px solid var(--form-border);border-radius:4px;background:var(--form-identity);color:var(--text);cursor:pointer}
:is(#modal,#record-warning-notice).form-dialog .form-footer .form-danger{background:#b72b32;border-color:#b72b32;color:white}

/* Established communication/document structures keep their grids and inline tools. */
:is(#modal,#record-warning-notice).form-dialog[data-form-family=communication] .communication-dialog{padding:16px 20px}
:is(#modal,#record-warning-notice).form-dialog[data-form-family=communication] .communication-person{background:var(--form-identity);border-color:var(--form-border)}
:is(#modal,#record-warning-notice).form-dialog[data-form-family=communication] .communication-footer{border-top:1px solid var(--form-border);padding-top:12px}
:is(#modal,#record-warning-notice).form-dialog[data-form-family=document] :is(#modalbody,[data-form-body]){padding:16px;background:var(--panel)}
:is(#modal,#record-warning-notice).form-dialog[data-form-family=document] .form-footer{padding:12px 0 0;background:var(--panel);border:0}

/* Existing receiving/inspection steps use these same tokens inside their iframes. */
.form-warehouse #reception-mock,.form-warehouse #inspection-concept{background:var(--form-wash);font-family:'Segoe UI',Arial,sans-serif}
.form-warehouse #reception-mock .rp-main>.rp-row:first-child,.form-warehouse #inspection-concept main>.row:first-child{padding:16px 20px;border-radius:var(--form-radius);background:linear-gradient(110deg,var(--form-navy-start),var(--form-navy-end));color:white}
.form-warehouse #reception-mock .rp-main>.rp-row:first-child .rp-muted,.form-warehouse #reception-mock .rp-eyebrow,.form-warehouse #inspection-concept main>.row:first-child .muted,.form-warehouse #inspection-concept .eyebrow{color:#d2e1ee}
.form-warehouse #reception-mock .rp-panel,.form-warehouse #inspection-concept .panel{border-color:var(--form-border);border-radius:var(--form-radius)}
.form-warehouse #reception-mock .rp-panel>.rp-pad.rp-row,.form-warehouse #inspection-concept .panel>.pad.row,.form-warehouse #inspection-concept .lot-body>.row:first-child{background:linear-gradient(90deg,var(--form-section-start),var(--form-section-end));border-bottom:1px solid var(--form-border)}
.form-warehouse #inspection-concept .lot-body>.row:first-child{padding:10px 12px;margin-bottom:12px;border-radius:5px}
.form-warehouse #reception-mock .rp-field input,.form-warehouse #reception-mock .rp-field select,.form-warehouse #reception-mock .rp-field textarea,.form-warehouse #inspection-concept .field input,.form-warehouse #inspection-concept .field select,.form-warehouse #inspection-concept .field textarea{background:var(--form-field);color:var(--text);border:1px solid var(--form-border);border-radius:5px;min-height:40px;padding:9px 11px}
.form-warehouse #reception-mock .rp-bottom,.form-warehouse #inspection-concept .bottom{background:var(--form-identity);border-color:var(--form-border);padding:13px 16px;border-radius:var(--form-radius)}
.form-warehouse #reception-mock .rp-button.primary,.form-warehouse #inspection-concept .button.primary{background:#0968bd;color:white;border-color:#0968bd}
@media(max-width:760px){
 :is(#modal,#record-warning-notice).form-dialog .form-basic-body{padding:16px}
 :is(#modal,#record-warning-notice).form-dialog .form-family-basic .grid{grid-template-columns:1fr}
 :is(#modal,#record-warning-notice).form-dialog .form-family-basic .field input,:is(#modal,#record-warning-notice).form-dialog .form-family-basic .field select,:is(#modal,#record-warning-notice).form-dialog .form-family-basic .field textarea{font-size:16px}
 :is(#modal,#record-warning-notice).form-dialog .form-family-basic .contact-dialog-search{margin:0}
 :is(#modal,#record-warning-notice).form-dialog .form-family-basic .contact-dialog-search>.field{flex-basis:100%}
 :is(#modal,#record-warning-notice).form-dialog[data-form-family=communication] .communication-dialog{padding:14px}
 :is(#modal,#record-warning-notice).form-dialog[data-form-family=document] :is(#modalbody,[data-form-body]){padding:12px}
}
