/* Shared action and identity geometry across light and dark surfaces. */
:root { --ui-title-size:22px; --ui-title-weight:650; --ui-action-height:48px; --ui-close-size:44px; --ui-control-radius:9px; --ui-dialog-radius:18px; }
.modal-backdrop .modal-foot button { min-height:44px; }
.account-avatar, .directory-avatar, .co-manager-avatar {
  --avatar-size:36px;
  display:inline-grid;
  place-items:center;
  flex:none;
  width:var(--avatar-size);
  height:var(--avatar-size);
  overflow:hidden;
  border-radius:50%;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-size:13px;
  font-weight:700;
}
.account-avatar img, .directory-avatar img, .co-manager-avatar img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.modal-backdrop.app-dialog .space-choice-grid { grid-template-columns:1fr; }
.modal-backdrop.app-dialog .space-choice-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  padding:12px 0;
  border:0;
  border-radius:0;
  background:transparent;
}
.modal-backdrop.app-dialog .space-choice-copy {
  grid-column:1; grid-row:1;
  padding:0;
  min-height:0;
  border:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}
.modal-backdrop.app-dialog .space-choice-card > input {
  position:static;
  opacity:1;
  pointer-events:auto;
  width:20px;
  height:20px;
  margin:0;
  grid-column:2; grid-row:1;
  accent-color:var(--primary);
}
.modal-backdrop.app-dialog .space-choice-card:has(input:checked) {
  background:transparent;
}
.modal-backdrop.app-dialog .space-choice-card:has(input:focus-visible) {
  outline:3px solid var(--primary);
  outline-offset:2px;
}
.modal-backdrop.app-dialog .space-choice-card:has(input:focus-visible) .space-choice-copy { outline:0; }


.modal-backdrop.app-dialog .modal-head { padding:20px; gap:12px; align-items:flex-start; }
.modal-backdrop.app-dialog .modal-head :is(h2,h3) { font-size:var(--ui-title-size); letter-spacing:-.025em; }
.modal-backdrop.app-dialog .modal-head p { margin:5px 0 0; color:var(--muted); }
.modal-backdrop.app-dialog .modal-head [data-icon-close] {
  flex:none; padding:0; width:44px; min-height:44px; border:0;
  background:transparent; box-shadow:none; color:var(--primary-dark); font-size:27px;
}
.modal-backdrop.app-dialog .modal-body { display:grid; gap:18px; padding:20px; }
.modal-backdrop.app-dialog .space-choice-set legend { margin-bottom:10px; font-size:16px; font-weight:var(--ui-title-weight); }
.modal-backdrop.app-dialog .space-choice-grid { gap:0; }
.modal-backdrop.app-dialog .space-choice-card + .space-choice-card { border-top:1px solid var(--line); }
.modal-backdrop.app-dialog .space-choice-copy strong { font-size:17px; }
.modal-backdrop.app-dialog .space-choice-copy small { font-size:14px; line-height:1.4; }
.modal-backdrop.app-dialog .space-create-toggle {
  padding:20px 0 0; border:0; border-top:1px solid var(--line);
  border-radius:0; background:transparent; gap:12px;
}
.modal-backdrop.app-dialog .space-create-toggle strong { font-size:15px; }
.modal-backdrop.app-dialog .space-create-toggle small { font-size:14px; }
.modal-backdrop.app-dialog .space-create-toggle input { width:20px; height:20px; accent-color:var(--primary); }
.modal-backdrop.app-dialog .settings-note { display:flex; gap:12px; margin:0; color:var(--muted); font-size:14px; line-height:1.45; }
.modal-backdrop.app-dialog .settings-note span { color:var(--primary-dark); font-size:20px; }
.modal-backdrop.app-dialog .modal-foot { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:16px 20px; background:var(--surface); }
.modal-backdrop.app-dialog .modal-foot button { min-height:var(--ui-action-height); border-radius:var(--ui-control-radius); }
body:has(.modal-backdrop[data-settings-child]:not([hidden])) #spaceSettingsModal .modal { visibility:hidden; }

.modal-backdrop.app-dialog .space-choice-card:has(input:checked) .space-choice-copy,
.modal-backdrop.app-dialog .space-choice-card:hover .space-choice-copy {
  border:0; background:transparent; box-shadow:none; transform:none;
}
.modal-backdrop.app-dialog .settings-steps { display:grid; gap:2px; color:var(--muted); font-size:14px; line-height:1.4; }
.modal-backdrop.app-dialog .settings-note-separated { padding-top:20px; border-top:1px solid var(--line); }
.modal-backdrop.app-dialog .settings-first-row { padding:0; border:0; }
.modal-backdrop.app-dialog .settings-fields { margin:0; padding:20px 0 0; border:0; border-top:1px solid var(--line); min-width:0; }
.modal-backdrop.app-dialog .settings-fields legend { float:left; width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0; margin-bottom:14px; font-weight:700; font-size:16px; }
.modal-backdrop.app-dialog .settings-fields legend small { color:var(--muted); font-weight:400; font-size:13px; }
.modal-backdrop.app-dialog .settings-fields .field { clear:both; display:grid; gap:6px; margin:0 0 14px; font-size:14px; font-weight:500; letter-spacing:normal; text-transform:none; }
.modal-backdrop.app-dialog .settings-fields .field:last-child { margin-bottom:0; }
.modal-backdrop.app-dialog .settings-fields input,
.modal-backdrop.app-dialog .settings-fields textarea { width:100%; min-width:0; box-sizing:border-box; font-size:16px; border-radius:9px; }

.modal-backdrop.app-dialog .modal-head button[data-icon-close]:is(:hover,:active,:focus) { background:transparent; border:0; }
.modal-backdrop.app-dialog .modal-head button[data-icon-close]:focus-visible { outline:2px solid var(--primary); outline-offset:0; }

/* Shared compact form shell. Specialist document tools retain their own shell. */
.modal-backdrop.app-dialog { padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); place-items:center; }
.modal-backdrop.app-dialog > .modal { min-height:0; height:auto; max-height:calc(100dvh - 32px); width:min(600px,100%); border:1px solid var(--line); border-radius:var(--ui-dialog-radius); margin:0; }
.modal-backdrop.app-dialog .modal > form:not(.pref-content) { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.modal-backdrop.app-dialog .modal-head { background:var(--surface); color:var(--ink); border-bottom:1px solid var(--line); }
.modal-backdrop.app-dialog .modal-head :is(h2,h3) { margin:0; font-weight:var(--ui-title-weight); line-height:1.2; }
.modal-backdrop.app-dialog .modal-body { align-content:start; flex:0 1 auto; }
.modal-backdrop.app-dialog .modal-body > p { margin:0; line-height:1.5; }
.modal-backdrop.app-dialog label.field { text-transform:none; letter-spacing:normal; font-size:14px; font-weight:600; color:var(--ink); margin:0; }
.modal-backdrop.app-dialog :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea) { font-size:16px; border:1px solid var(--line-strong); background-color:var(--surface); color:var(--ink); border-radius:9px; }
.modal-backdrop.app-dialog :is(input[type=checkbox],input[type=radio]) { width:20px; height:20px; flex:none; accent-color:var(--primary); }
.modal-backdrop.app-dialog .modal-foot > .spacer { display:none; }
.modal-backdrop.app-dialog .modal-foot > :is(span,p) { grid-column:1 / -1; margin:0; }
.modal-backdrop.app-dialog .modal-foot > :is(span,p):empty { display:none; }
.modal-backdrop.app-dialog .modal-foot:has(> button:only-child) { grid-template-columns:1fr; }
.modal-backdrop.app-dialog .modal-foot button { font-size:15px; font-weight:var(--ui-title-weight); }
.modal-backdrop.app-dialog .space-choice-card:has(> svg) { grid-template-columns:24px minmax(0,1fr) 22px; }
.modal-backdrop.app-dialog .space-choice-card:has(> svg) > .space-choice-copy { grid-column:2; }
.modal-backdrop.app-dialog .space-choice-card:has(> svg) > input { grid-column:3; }
.modal-backdrop.app-dialog .space-choice-set + .space-choice-set { border-top:1px solid var(--line); padding-top:18px; }
.modal-backdrop.app-dialog .space-choice-set legend { float:left; width:100%; }
.modal-backdrop.app-dialog .space-choice-grid { clear:both; }
.modal-backdrop.app-dialog .dialog-text-action { background:transparent; border:0; box-shadow:none; color:var(--primary-dark); padding:8px 0; min-height:44px; text-align:left; justify-content:flex-start; }
.modal-backdrop.app-dialog .danger-text { color:var(--danger); }
.modal-backdrop.app-dialog .dialog-secondary-actions { display:flex; flex-wrap:wrap; gap:12px; border-top:1px solid var(--line); padding-top:8px; }
.modal-backdrop.app-dialog .dialog-secondary-actions:has(>button:only-child[hidden]) { display:none; }
.modal-backdrop.app-dialog :is(.scan-display,.dialog-summary,.split-summary,.space-delete-summary,.wip-editor-metadata,.replenishment-destination) { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:0 0 16px; margin:0; }
.modal-backdrop.app-dialog :is(.scan-display,.dialog-summary):empty { display:none; }
.modal-backdrop.app-dialog .pickup-photo-upload { border:0; border-top:1px solid var(--line); border-radius:0; padding:12px 0; color:var(--primary-dark); background:transparent; }
.modal-backdrop.app-dialog .space-delete-options { gap:0; margin:0; }
.modal-backdrop.app-dialog .space-delete-option { padding:16px 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }
.modal-backdrop.app-dialog .advanced-filter-row { border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; padding:16px 0 0; }
.modal-backdrop.app-dialog .advanced-filter-form { display:flex; flex-direction:column; gap:18px; }
.modal-backdrop.app-dialog .filter-clear { order:1; }
.modal-backdrop.app-dialog .split-quantity { border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; padding:16px 0 0; }
.modal-backdrop.app-dialog .split-choice-label { margin:0; text-transform:none; font-size:15px; letter-spacing:normal; }
.modal-backdrop.app-dialog .split-choice { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; color:var(--ink); min-height:var(--ui-action-height); transform:none; }
.modal-backdrop.app-dialog .split-choice.selected { background:transparent; box-shadow:none; }
.modal-backdrop.app-dialog .split-stepper input { width:76px; }
.modal-backdrop.app-dialog .split-stepper button { min-height:44px; }
.modal-backdrop.app-dialog .field:has([readonly]) { color:var(--muted); }
.modal-backdrop.app-dialog .field [readonly] { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:8px 0; background:transparent; }
.modal-backdrop.app-dialog #pickupShareField { display:flex; align-items:flex-start; gap:12px; font-size:14px; }
.modal-backdrop.app-dialog #pickupShareField input { margin:0; }
.modal-backdrop.app-dialog .stock-locations-list { gap:0; }
.modal-backdrop.app-dialog .stock-location-manager-row { grid-template-columns:minmax(0,1fr) auto; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:16px 0; background:transparent; gap:10px; }
.modal-backdrop.app-dialog .stock-location-manager-row button { width:auto; min-height:44px; font-size:14px; }
.modal-backdrop.app-dialog .stock-location-manager-row [data-retire-shelf] { grid-column:2; color:var(--danger); }
.modal-backdrop.app-dialog .stock-location-manager-copy { grid-row:span 2; }
.modal-backdrop.app-dialog .wip-material-error:empty { display:none; }
.modal-backdrop.app-dialog .two-column-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:400px) { .modal-backdrop.app-dialog .two-column-grid { grid-template-columns:1fr; } }

.modal-backdrop.app-dialog .modal-head [data-icon-close] { margin-left:auto; }
.modal-backdrop.app-dialog .modal-foot #confirmAlternate { grid-column:1 / -1; }
.modal-backdrop.app-dialog .modal-foot:has(>button:not([hidden]):only-of-type) { grid-template-columns:1fr; }
.modal-backdrop.app-dialog .app-dialog-step-list { padding-left:22px; margin:0; display:grid; gap:12px; }
.modal-backdrop.app-dialog .pref-content { padding:20px; flex:0 1 auto; }
.modal-backdrop.app-dialog .pref-card { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; margin-bottom:18px; }
.modal-backdrop.app-dialog .pref-card-heading { background:transparent; padding:0 0 12px; }
.modal-backdrop.app-dialog .pref-card-body,.modal-backdrop.app-dialog .pref-summary { padding:0; }
.modal-backdrop.app-dialog .pref-person { padding:0 0 18px; background:transparent; grid-template-columns:64px minmax(0,1fr) auto; }
.modal-backdrop.app-dialog .pref-person-copy { grid-column:2; grid-row:1; }
.modal-backdrop.app-dialog .profile-edit-action { grid-column:3; grid-row:1; min-height:44px; }
.modal-backdrop.app-dialog .profile-autofill { padding:0 0 18px; }
.modal-backdrop.app-dialog .pref-fields { padding:0 0 18px; }
.modal-backdrop.app-dialog .pref-footer { box-shadow:none; padding:16px 20px; gap:10px; }
.modal-backdrop.app-dialog .pref-footer button { min-height:var(--ui-action-height); border-radius:var(--ui-control-radius); font-size:15px; }

/* Specialist workspaces retain their canvases and long forms, with shared actions. */
.app-workspace .modal-head button[data-icon-close] { width:44px; min-height:44px; padding:0; border:0; background:transparent; box-shadow:none; font-size:27px; color:var(--primary-dark); }
#signaturePadModal.app-workspace .modal-head button[data-icon-close] { color:#fff; }
#cycleCountModal.app-workspace .modal-head { background:var(--primary-dark); color:#fff; }
#cycleCountModal.app-workspace .modal-head button { color:#fff; background:transparent; min-height:44px; }
#cycleCountModal .cycle-count-actions { display:grid; grid-template-columns:1fr; gap:12px; }
.cycle-count-utilities { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
#cycleCountModal .cycle-count-utilities button { flex:1; min-height:44px; background:transparent; box-shadow:none; border:0; padding:8px 0; color:var(--primary-dark); text-align:left; }
#cycleCountModal .cycle-count-utilities #cancelCycleCount { color:var(--danger); text-align:right; }
#cycleCountModal .cycle-results-upload { flex:1 0 100%; }
.app-workspace .modal-foot #completeCycleCount { flex:none; min-height:var(--ui-action-height); }
#pickupPhotoModal.app-dialog img { max-height:65dvh; width:100%; object-fit:contain; }
#profileImageCropModal.app-dialog .modal-body { gap:14px; }
#profileImageCropModal.app-dialog .profile-image-crop-stage { width:min(100%,320px); margin-inline:auto; }
#profileImageCropModal.app-dialog .modal-foot .spacer { display:none; }

.modal-backdrop.app-workspace .modal-head h2 { font-size:var(--ui-title-size); font-weight:var(--ui-title-weight); letter-spacing:-.025em; }
.modal-backdrop.app-workspace .modal-head button[data-icon-close] { flex:none; margin-left:auto; }
.modal-backdrop.app-workspace .modal-foot { gap:12px; }
.modal-backdrop.app-workspace .modal-foot button { min-height:var(--ui-action-height); font-size:15px; }
