.xr-allocation-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:12px 0; }
.xr-allocation-selected { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 12px; border:1px solid var(--xr2-border); border-radius:12px; background:var(--xr2-surface-section); }
.xr-allocation-checkbox, .xr-allocation-select-page { display:inline-flex; align-items:center; gap:8px; min-height:40px; cursor:pointer; color:var(--xr2-text); font-size:13px; }
.xr-allocation-checkbox input, .xr-allocation-select-page input { width:20px; height:20px; accent-color:var(--xr2-accent); flex-shrink:0; }
.xr-allocation-checkbox input:focus-visible, .xr-allocation-select-page input:focus-visible { outline:3px solid var(--xr2-accent); outline-offset:3px; }
.xr-allocation-selection-label { font-size:12px; }
.xr-allocation-locations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:10px 0; padding:8px; background:var(--xr2-surface-section); border:1px solid var(--xr2-border-subtle); border-radius:10px; }
.xr-allocation-locations > div { min-width:0; }
.xr-allocation-locations dt { font-size:11px; line-height:1.35; color:var(--xr2-muted); overflow-wrap:anywhere; }
.xr-allocation-locations dd { margin:3px 0 0; font-size:15px; font-weight:650; font-variant-numeric:tabular-nums; color:var(--xr2-text); }
.xr-allocation-kit-note, .xr-allocation-stock-error { font-size:12px; margin:8px 0; color:var(--xr2-muted); }
.xr-allocation-stock-error { color:var(--xr2-danger); }
.xr-allocation-table-name { display:flex; align-items:flex-start; gap:10px; }
.xr-allocation-table-name .xr-allocation-selection-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.xrcc-catalog-table th .xr-allocation-select-page { display:flex; margin-bottom:4px; }
.xr-allocation-select-page--mobile { display:none; }
.xr-allocation-resume { margin-left:auto; font-size:13px; color:var(--xr2-text); }
.xr-allocation-resume--single { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.xr-allocation-resume summary { cursor:pointer; padding:10px 0; }
.xr-allocation-resume > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 0; }
.xr-allocation-dialog { display:flex; flex-direction:column; width:min(960px,calc(100vw - 40px)); max-width:960px; max-height:calc(100dvh - 40px); padding:0; overflow:hidden; border-radius:16px; color:var(--xr2-text); background:var(--xr2-surface); }
.xr-allocation-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid var(--xr2-border); }
.xr-allocation-dialog-head h2 { margin:0 0 4px; font-size:21px; line-height:1.25; }
.xr-allocation-dialog-head p { margin:0; color:var(--xr2-muted); font-size:13px; }
.xr-allocation-dialog form { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.xr-allocation-dialog-body { overflow:auto; overscroll-behavior:contain; padding:16px 20px; min-height:0; }
.xr-allocation-quick { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.xr-allocation-rows { display:grid; gap:12px; }
.xr-allocation-row { padding:14px 16px; border:1px solid var(--xr2-border); border-radius:12px; background:var(--xr2-surface-section); }
.xr-allocation-row h3 { margin:0 0 6px; font-size:16px; line-height:1.35; overflow-wrap:anywhere; }
.xr-allocation-row header p { margin:4px 0; font-size:13px; color:var(--xr2-muted); line-height:1.4; }
.xr-allocation-current { font-size:12px !important; }
.xr-allocation-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px; }
.xr-allocation-fields label, .xr-allocation-remainder { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:13px; color:var(--xr2-text); }
.xr-allocation-fields input { width:100%; box-sizing:border-box; min-height:44px; padding:10px 12px; border:1px solid var(--xr2-control-border); border-color:var(--xr2-control-border) !important; border-radius:8px; background:var(--xr2-surface-raised) !important; color:var(--xr2-text) !important; font-size:16px; font-variant-numeric:tabular-nums; }
.xr-allocation-fields input:focus-visible { outline:3px solid var(--xr2-accent); outline-offset:2px; box-shadow:none !important; }
.xr-allocation-fields input[aria-invalid=true] { border-color:var(--xr2-danger) !important; }
html[data-ui3-theme="dark"] .xr-allocation-fields input { color-scheme:dark; }
.xr-allocation-remainder output { display:flex; align-items:center; min-height:44px; box-sizing:border-box; padding:10px 12px; border:1px solid var(--xr2-border); border-radius:8px; background:var(--xr2-surface-soft); color:var(--xr2-text); font-size:16px; font-variant-numeric:tabular-nums; }
.xr-allocation-row-error { margin:8px 0 0; color:var(--xr2-danger); font-size:13px; }
.xr-allocation-feedback { padding:12px; margin-bottom:12px; border:1px solid var(--xr2-danger); border-radius:10px; color:var(--xr2-text); background:var(--xr2-surface-section); font-size:13px; line-height:1.45; }
.xr-allocation-feedback ul { padding-left:20px; margin:8px 0; }
.xr-allocation-feedback button { margin-top:8px; }
.xr-allocation-dialog-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--xr2-border); background:var(--xr2-surface); }
.xr-allocation-dialog-foot p { margin:0; font-size:13px; color:var(--xr2-muted); line-height:1.4; }
.xr-allocation-dialog-foot button { min-height:44px; flex-shrink:0; }
@media (max-width:720px) {
  .xr-allocation-select-page--mobile { display:inline-flex; }
  .xr-allocation-selected { width:100%; box-sizing:border-box; }
  .xr-allocation-toolbar { gap:8px; }
  .xr-allocation-resume { margin-left:0; width:100%; }
  .xr-allocation-dialog { width:100vw; height:100dvh; max-height:100dvh; max-width:100vw; border-radius:0; border:0; }
  .modal-backdrop:has(.xr-allocation-dialog) { padding:0; align-items:stretch; }
  .xr-allocation-dialog-head { padding:14px 16px; padding-top:calc(14px + env(safe-area-inset-top,0px)); }
  .xr-allocation-dialog-head h2 { font-size:18px; }
  .xr-allocation-dialog form { flex:1; }
  .xr-allocation-dialog-body { padding:12px 14px; flex:1; }
  .xr-allocation-quick { flex-direction:column; }
  .xr-allocation-quick button { min-height:44px; text-align:left; }
  .xr-allocation-row { padding:12px; }
  .xr-allocation-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .xr-allocation-remainder { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; }
  .xr-allocation-remainder output { min-width:84px; justify-content:flex-end; }
  .xr-allocation-dialog-foot { align-items:stretch; flex-direction:column; gap:8px; padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)); }
  .xr-allocation-dialog-foot button { width:100%; }
  .xrcc-catalog-card .xrcc-card-actions { flex-wrap:wrap; }
}
