/* Part editor presentation. Existing stock services retain mutation ownership. */
#addPartModal .part-edit-modal {
  --part-ink:#111b30; --part-muted:#536171; --part-line:#d5dde5;
  --part-paper:#fff; --part-canvas:#f3f7fa; --part-soft:#f7f9fb; --part-accent:#086583;
  width:min(720px,calc(100vw - 32px)); max-width:720px;
  max-height:calc(100dvh - 28px); color:var(--part-ink); background:var(--part-canvas);
}
body[data-theme="agilent-web-dark"] #addPartModal .part-edit-modal {
  --part-ink:var(--ink); --part-muted:var(--muted); --part-line:var(--line-strong);
  --part-paper:var(--surface); --part-canvas:var(--bg); --part-soft:var(--surface-2); --part-accent:var(--primary);
  color-scheme:dark;
}
#addPartModal .part-icon { width:20px; height:20px; flex:none; display:block; color:currentColor; pointer-events:none; }
#addPartModal .modal-head { flex:none; align-items:center; gap:12px; min-height:54px; padding:10px 13px; background:var(--part-paper); border-bottom:1px solid var(--part-line); }
#addPartModal .part-edit-heading { flex:1; min-width:0; }
#addPartModal .modal-head h2 { margin:0; color:var(--part-ink); font-size:var(--ui-title-size); font-weight:var(--ui-title-weight); line-height:1.2; overflow-wrap:anywhere; }
#addPartModal .modal-head p { margin:3px 0 0; color:var(--part-muted); font-size:12px; line-height:1.4; }
#addPartModal .part-edit-body { display:grid; align-content:start; min-height:0; gap:12px; padding:10px 12px 8px; overflow-y:auto; overscroll-behavior:contain; background:var(--part-canvas); -webkit-overflow-scrolling:touch; }
#addPartModal .part-edit-section { min-width:0; margin:0; padding:0; border:1px solid var(--part-line); border-radius:10px; background:var(--part-paper); box-shadow:0 1px 3px #172a3d03; }
#addPartModal .part-edit-section-head { display:flex; align-items:flex-start; gap:11px; width:100%; min-width:0; margin:0; padding:6px 11px; border:0; border-radius:10px; background:transparent; color:var(--part-accent); text-align:left; white-space:normal; box-shadow:none; cursor:pointer; list-style:none; }
#addPartModal summary::-webkit-details-marker { display:none; }
#addPartModal .part-edit-section-head > .part-icon { width:23px; height:23px; margin-top:1px; }
@media (hover:hover) and (pointer:fine) { #addPartModal .part-edit-section-head:hover { background:var(--part-soft); transform:none; } }
#addPartModal .part-section-copy { flex:1; display:block; min-width:0; }
#addPartModal .part-section-title { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:var(--part-ink); font-size:16px; font-weight:750; line-height:1.2; }
#addPartModal .part-section-subtitle { display:block; margin-top:3px; color:var(--part-muted); font-size:12px; font-weight:400; line-height:1.4; }
#addPartModal .part-chevron { width:16px; height:16px; margin-top:4px; transition:transform .16s ease; }
#addPartModal details:not([open]) > summary .part-chevron,
#addPartModal .part-edit-trace-toggle[aria-expanded="false"] .part-chevron { transform:rotate(180deg); }
#addPartModal .part-section-content { padding:2px 10px 9px; }
#addPartModal .part-edit-grid { display:grid; grid-template-columns:minmax(0,1fr) 64px; gap:8px 10px; }
#addPartModal .part-edit-grid .full { grid-column:1 / -1; }
#addPartModal .field { display:grid; align-content:start; gap:4px; min-width:0; margin:0; color:#455363; font-size:12px; line-height:1.35; font-weight:700; letter-spacing:.025em; text-transform:uppercase; }
body[data-theme="agilent-web-dark"] #addPartModal .field { color:var(--part-muted); }
#addPartModal .field .tiny { font-size:inherit; color:inherit; }
#addPartModal input:not([type="checkbox"]), #addPartModal select { display:block; width:100%; min-width:0; min-height:48px; height:auto; margin:0; padding:8px 10px; border:1px solid #c9d2dc; border-radius:7px; background-color:var(--part-paper); color:var(--part-ink); font-family:inherit; font-size:16px; font-weight:400; line-height:1.2; letter-spacing:normal; text-transform:none; box-shadow:inset 0 1px 2px #172a3d03; }
body[data-theme="agilent-web-dark"] #addPartModal input:not([type="checkbox"]), body[data-theme="agilent-web-dark"] #addPartModal select { border-color:var(--part-line); }
#addPartModal input::placeholder { color:var(--part-muted); opacity:1; font-size:14px; }
#addPartModal input[type="number"] { appearance:textfield; -moz-appearance:textfield; }
#addPartModal input[type="number"]::-webkit-inner-spin-button, #addPartModal input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
#addPartModal input:focus-visible, #addPartModal select:focus-visible, #addPartModal button:focus-visible, #addPartModal summary:focus-visible { outline:2px solid var(--part-accent); outline-offset:2px; }
#addPartModal input:disabled { background:var(--part-soft); color:var(--part-muted); }
#addPartModal .part-number-correction, #addPartModal .part-input-icon, #addPartModal .part-quantity-wrap { display:block; position:relative; min-width:0; }
#addPartModal #partPN { padding-right:38px; background:var(--part-canvas); font-size:16px; cursor:default; }
#addPartModal #correctPartNumberBtn { position:absolute; inset:0 0 0 auto; display:grid; place-items:center; width:36px; min-width:36px; min-height:40px; padding:6px; border:1px solid var(--part-line); border-radius:7px; background:var(--part-soft); color:var(--part-muted); box-shadow:none; }
#addPartModal #correctPartNumberBtn .part-icon { width:17px; height:17px; }
#addPartModal .part-number-help { margin:0; color:var(--part-muted); font-size:12px; font-weight:400; line-height:1.4; letter-spacing:normal; text-transform:none; }
#addPartModal .part-quantity-wrap input { height:36px; min-height:36px; padding:6px 20px 6px 5px; text-align:center; font-weight:650; font-variant-numeric:tabular-nums; cursor:pointer; }
#addPartModal .part-quantity-wrap > .part-icon { position:absolute; right:5px; top:50%; transform:translateY(-50%); width:10px; height:16px; color:var(--part-accent); }
#addPartModal .part-input-icon > .part-icon { position:absolute; top:50%; transform:translateY(-50%); left:9px; width:16px; height:16px; color:var(--part-muted); }
#addPartModal .part-input-icon > input, #addPartModal .part-input-icon > select { padding-left:32px; }
#addPartModal .part-input-icon > select { padding-right:28px; text-overflow:ellipsis; }
#addPartModal #partDesc { padding-left:9px; padding-right:31px; }
#addPartModal #partDescClear { position:absolute; inset:0 0 0 auto; display:grid; place-items:center; width:31px; min-width:31px; min-height:32px; padding:7px; border:0; border-radius:7px; background:transparent; color:#c3c8ce; box-shadow:none; }
#addPartModal #partDescClear .part-icon { width:16px; height:16px; }
#addPartModal .part-edit-condition { display:grid; align-content:start; gap:4px; color:#455363; font-size:12px; line-height:1.35; font-weight:700; letter-spacing:.025em; text-transform:uppercase; }
body[data-theme="agilent-web-dark"] #addPartModal .part-edit-condition { color:var(--part-muted); }
#addPartModal .part-condition-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; width:100%; }
#addPartModal .condition-choice { min-width:0; min-height:36px; padding:6px 3px; border:1px solid #c9d2dc; border-radius:6px; background:var(--part-soft); color:var(--part-ink); box-shadow:0 1px 2px #172a3d08; font-size:13px; font-weight:700; letter-spacing:normal; text-transform:none; }
#addPartModal .condition-choice.selected { border-color:var(--condition-color); background:var(--condition-color); color:white; box-shadow:0 1px 5px color-mix(in srgb,var(--condition-color) 27%,transparent); }
#addPartModal .part-edit-apply { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px; border:1px solid var(--part-line); border-radius:7px; background:var(--part-soft); color:var(--part-ink); letter-spacing:normal; text-transform:none; }
#addPartModal .part-edit-apply strong { display:block; font-size:13px; }
#addPartModal .part-edit-apply small { display:block; margin-top:3px; color:var(--part-muted); font-size:12px; font-weight:400; line-height:1.4; }
#addPartModal .part-edit-apply-stepper { display:grid; grid-template-columns:28px 44px 28px; }
#addPartModal .part-edit-apply-stepper button { min-height:36px; min-width:0; padding:3px; border-radius:0; background:var(--part-paper); color:var(--part-accent); box-shadow:none; }
#addPartModal .part-edit-apply-stepper button:first-child { border-radius:6px 0 0 6px; }
#addPartModal .part-edit-apply-stepper button:last-child { border-radius:0 6px 6px 0; }
#addPartModal .part-edit-apply-stepper input { height:36px; min-height:36px; padding:6px 3px; border-radius:0; text-align:center; }
#addPartModal .part-edit-grid.behavior { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#addPartModal .part-edit-grid.behavior > .field { grid-template-rows:1fr auto; }
#addPartModal .part-edit-control-grid { margin-top:10px; border:1px solid var(--part-line); border-radius:7px; background:var(--part-soft); overflow:hidden; }
#addPartModal .part-edit-control { display:grid; grid-template-columns:21px minmax(0,1fr) auto; align-items:start; gap:10px; padding:8px 10px; }
#addPartModal .part-edit-control + .part-edit-control { border-top:1px solid var(--part-line); }
#addPartModal .part-edit-control > .part-icon { width:20px; height:20px; margin-top:2px; color:var(--part-accent); }
#addPartModal .part-setting-title { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin:0; color:var(--part-ink); font-size:13px; font-weight:700; line-height:1.35; }
#addPartModal .part-setting-copy small { display:block; margin-top:2px; color:var(--part-muted); font-size:12px; font-weight:400; line-height:1.4; }
#addPartModal .part-info { display:inline-flex; color:var(--part-muted); }
#addPartModal .part-info .part-icon { width:14px; height:14px; }
#addPartModal #partVisibilityBtn { display:inline-flex; align-items:center; justify-content:center; align-self:center; gap:7px; min-width:92px; min-height:36px; padding:5px 8px; border:1px solid var(--part-accent); border-radius:6px; background:var(--part-paper); color:var(--part-accent); box-shadow:0 1px 4px #172a3d12; font-size:13px; }
#addPartModal #partVisibilityBtn .part-icon { width:17px; height:17px; }
#addPartModal #partVisibilityBtn.visibility-private { border-color:var(--warning); color:var(--warning-ink,var(--ink)); }
#addPartModal .part-switch { display:block; align-self:center; position:relative; width:44px; height:26px; margin:0; cursor:pointer; }
#addPartModal .part-switch input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
#addPartModal .part-switch-track { display:block; width:100%; height:100%; border-radius:20px; background:#b8bac2; pointer-events:none; transition:background .16s ease; }
#addPartModal .part-switch-track::before { content:""; display:block; position:absolute; inset:2px auto 2px 2px; width:22px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #172a3d25; transition:transform .16s ease; }
#addPartModal .part-switch input:checked + .part-switch-track { background:var(--part-accent); }
#addPartModal .part-switch input:checked + .part-switch-track::before { transform:translateX(18px); }
#addPartModal .part-switch input:focus-visible + .part-switch-track { outline:2px solid var(--part-accent); outline-offset:2px; }
#addPartModal .part-edit-minimum > input { align-self:center; width:64px; height:36px; min-height:36px; padding:5px 7px; font-size:16px; }
#addPartModal .part-edit-trace-status { display:inline-block; margin:0; padding:2px 5px; border:1px solid var(--part-line); border-radius:5px; background:var(--part-soft); color:var(--part-muted); font-size:11px; line-height:1.3; font-weight:500; white-space:nowrap; }
#addPartModal .part-edit-trace-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#addPartModal .part-edit-trace-grid .field { gap:4px; }
#addPartModal .part-edit-trace-grid input { padding-left:32px; padding-right:8px; }
#addPartModal .part-edit-trace-grid input::placeholder { font-size:14px; }
#addPartModal .part-edit-trace-grid input::-webkit-datetime-edit { font-size:16px; }
#addPartModal .part-date-prompt { position:absolute; top:50%; left:32px; transform:translateY(-50%); color:var(--part-muted); font-size:14px; font-weight:400; line-height:1.3; letter-spacing:normal; pointer-events:none; }
#addPartModal #partExpirationDate[data-has-value="false"]::-webkit-datetime-edit { color:transparent; }
#addPartModal .part-input-icon:has(#partExpirationDate[data-has-value="true"]) .part-date-prompt { display:none; }
#addPartModal .part-edit-trace-grid .part-input-icon > .part-icon { left:9px; top:50%; width:16px; height:16px; }
#addPartModal .part-expiration-field input[type="date"] { appearance:none; -webkit-appearance:none; color-scheme:light; }
body[data-theme="agilent-web-dark"] #addPartModal .part-expiration-field input[type="date"] { color-scheme:dark; }
#addPartModal .part-expiration-field input[type="date"]::-webkit-calendar-picker-indicator { width:12px; margin:0; padding:0; opacity:0; }
#addPartModal .part-editor-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#addPartModal .part-edit-variants { margin:0 0 10px; padding:0 0 10px; border-bottom:1px solid var(--part-line); }
#addPartModal .part-edit-variants h3 { margin:0; color:var(--part-ink); font-size:14px; }
#addPartModal .part-edit-variants p { margin:3px 0 8px; color:var(--part-muted); font-size:12px; }
#addPartModal .part-edit-variant-list { display:grid; gap:6px; }
#addPartModal .part-edit-variant { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; padding:7px 9px; border:1px solid var(--part-line); border-radius:6px; background:var(--part-soft); color:var(--part-ink); text-align:left; box-shadow:none; }
#addPartModal .part-edit-variant[aria-pressed="true"] { border-color:var(--part-accent); background:var(--primary-soft); }
#addPartModal .part-edit-variant strong { font-size:13px; }
#addPartModal .part-edit-variant small { grid-column:1 / -1; color:var(--part-muted); font-size:12px; }
#addPartModal .part-edit-variant .badge { margin:0; }
#addPartModal .modal-foot { display:grid; flex:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:8px 13px max(8px,env(safe-area-inset-bottom)); border-top:1px solid var(--part-line); background:var(--part-canvas); }
#addPartModal .modal-foot button { display:flex; align-items:center; justify-content:center; gap:9px; min-width:0; min-height:48px; height:auto; padding:5px 10px; border-radius:6px; box-shadow:none; font-size:14px; font-weight:700; }
#addPartModal #cancelAddPart { border:1px solid #b6c2ce; background:var(--part-paper); color:var(--part-accent); }
#addPartModal #removePartGroupBtn { display:flex; align-items:center; gap:8px; width:auto; min-height:44px; margin-top:12px; padding:8px 0; border:0; background:transparent; box-shadow:none; color:var(--danger); }
#addPartModal #removePartGroupBtn .part-icon { width:20px; height:20px; }
#addPartModal #savePartBtn { border:1px solid #00759b; background:#00759b; color:#fff; }
#addPartModal .modal-foot .part-icon { width:16px; height:16px; }
#addPartModal [hidden] { display:none !important; }
@media (max-width:700px) {
  #addPartModal.modal-backdrop { padding:env(safe-area-inset-top) var(--landscape-gutter,0px) 0; background:var(--surface-top); }
  #addPartModal > .part-edit-modal { width:100%; height:calc(100dvh - env(safe-area-inset-top)); min-height:0; max-height:calc(100dvh - env(safe-area-inset-top)); border:0; border-radius:0; }
  #addPartModal.modal-backdrop > .modal.part-edit-modal > .modal-head { min-height:52px; padding:7px 13px; }
  #addPartModal.modal-backdrop > .modal.part-edit-modal > .modal-body { padding:10px 12px 8px; }
  #addPartModal.modal-backdrop > .modal.part-edit-modal > .modal-foot { padding:8px 13px max(8px,env(safe-area-inset-bottom)); }
}
/* Reflow trace fields rather than shrinking their text on phones. */
@media (max-width:560px) {
  #addPartModal .part-edit-trace-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #addPartModal .part-expiration-field { grid-column:1 / -1; }
}
@media (max-width:350px) {
  #addPartModal .part-edit-body { padding-inline:8px; }
  #addPartModal .part-edit-section-head { gap:8px; padding-inline:9px; }
  #addPartModal .part-edit-grid.behavior { gap:7px; }
  #addPartModal .part-edit-control { gap:7px; padding-inline:8px; }
  #addPartModal #partVisibilityBtn { min-width:86px; padding-inline:6px; }
  #addPartModal .part-edit-trace-grid { gap:5px; }
}
@media (prefers-reduced-motion:reduce) { #addPartModal .part-chevron, #addPartModal .part-switch-track, #addPartModal .part-switch-track::before { transition:none; } }
