/* Only the Inventory character workspace adopts bounded panes. */
#view-characters.inventory-mode { height: auto; min-height: 0; max-width: none; display: block; }
#view-characters.inventory-mode[hidden] { display: none; }
.inventory-mode .crawler-roster { margin: 0 0 .35rem; flex: 0 0 auto; max-height: 2.8rem; overflow: auto; }
.inventory-mode .crawler-roster .character-card { padding: .3rem .6rem; min-height: 2rem; }
.inventory-mode .crawler-roster .character-card span, .inventory-mode .crawler-roster br { display: none; }
.inventory-form { display: flex; flex-direction: column; flex: 1; min-height: 0; gap: .5rem; }
.inventory-form > .sheet-page { display: flex; flex-direction: column; flex: 1; min-height: 0; gap: 0; }
.inventory-form .sheet-tabs { position: static; flex: 0 0 auto; padding: .3rem; box-shadow: none; border-radius: .35rem; }
.inventory-form .sheet-tab { padding: .45rem .6rem; min-height: 2.5rem; font-size: .82rem; white-space: nowrap; }
.inventory-identity { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; align-items: center; padding: .45rem .65rem; background: var(--panel); border: 1px solid var(--line); border-radius: .35rem; }
.inventory-identity > div:first-child { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; min-width: 0; }
.inventory-identity strong { color: var(--yellow); overflow-wrap: anywhere; }
.inventory-identity span { color: var(--muted); font-size: .8rem; }
.inventory-identity .honor-marks { margin: 0; }
.inventory-identity .honor-mark { font-size: .8rem; }
.inventory-balance-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.inventory-balance { position: relative; }
.inventory-balance > summary, .inventory-balance-controls > :is(button, a:where(.route-link)) { padding: .4rem .6rem; min-height: 2.5rem; border: 1px solid var(--line); border-radius: .3rem; cursor: pointer; font-size: .8rem; }
.inventory-balance > summary b { color: var(--yellow); margin-left: .3rem; }
.inventory-balance > label { position: absolute; top: 100%; right: 0; z-index: 25; width: 12rem; max-width: 75vw; padding: .8rem; border: 1px solid var(--line); border-radius: .3rem; background: var(--panel-2); box-shadow: var(--shadow); }
.inventory-workspace { height: var(--inventory-height, calc(100dvh - 5rem)); display: flex; flex-direction: column; flex: none; min-height: 0; background: var(--panel); border: 1px solid var(--line); border-radius: .4rem; }
.inventory-workspace-switch { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .45rem .65rem; border-bottom: 1px solid var(--line); flex: 0 0 auto; }
.inventory-workspace-switch [role=tablist] { display: flex; gap: .3rem; }
.inventory-workspace-switch :is(button, a:where(.route-link)) { min-height: 2.6rem; padding: .45rem .65rem; font-size: .85rem; }
.inventory-workspace-switch [aria-selected=true] { background: var(--yellow); color: var(--bg); border-color: var(--yellow); }
.compact-inventory { display: flex; flex-direction: column; flex: 1; min-height: 0; gap: 0; }
.inventory-tools { display: flex; gap: .6rem; align-items: end; padding: .55rem .65rem; flex: 0 0 auto; border-bottom: 1px solid var(--line); }
.inventory-tools > label { flex: 1; min-width: 0; font-size: .72rem; color: var(--muted); gap: .2rem; }
.inventory-tools > label:first-child { flex: 1.4; }
.inventory-tools input, .inventory-tools select { padding: .45rem; min-height: 2.6rem; width: 100%; }
.inventory-management { position: relative; }
.inventory-management > summary { padding: .6rem .4rem; min-height: 2.6rem; cursor: pointer; font-size: .8rem; }
.inventory-management-body { position: absolute; top: 100%; right: 0; z-index: 24; width: min(25rem, 85vw); max-height: 55dvh; overflow: auto; padding: .8rem; border: 1px solid var(--line); border-radius: .35rem; background: var(--panel-2); box-shadow: var(--shadow); }
.inventory-management-body p { font-size: .8rem; }
.inventory-management-body :is(button, a:where(.route-link)) { margin: .3rem 0; }
.inventory-management-body .inventory-tab-create { display: grid; grid-template-columns: 1fr auto; }
.inventory-split { display: grid; grid-template-columns: minmax(16rem, 1.15fr) minmax(19rem, 1fr); flex: 1; min-height: 0; }
.inventory-list-pane { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.compact-inventory .inventory-list-heading, .inventory-select-row { display: grid; grid-template-columns: minmax(0, 1fr) 9rem 3rem; align-items: center; gap: .6rem; padding: .55rem .8rem; }
.inventory-list-heading { color: var(--muted); font-size: .7rem; border-bottom: 1px solid var(--line); }
.inventory-list-heading > :last-child, .inventory-select-row > :last-child { text-align: right; font-variant-numeric: tabular-nums; }
.compact-inventory .inventory-list { display: block; overflow-y: auto; overflow-x: hidden; min-height: 0; flex: 1; overscroll-behavior: auto; scrollbar-gutter: stable; }
.inventory-select-row { width: 100%; min-height: 2.8rem; border: 0; border-bottom: 1px solid #292927; border-radius: 0; background: transparent; color: var(--ink); text-align: left; font-weight: normal; }
.inventory-select-row strong { font-size: .9rem; font-weight: 600; overflow-wrap: anywhere; }
.inventory-row-type { color: var(--muted); font-size: .78rem; overflow-wrap: anywhere; }
.inventory-row-type small { color: var(--cyan); margin-left: .25rem; }
.inventory-select-row[aria-pressed=true] { background: rgba(0,214,231,.09); box-shadow: inset 3px 0 var(--yellow); }
.inventory-select-row:hover { background: rgba(255,210,47,.06); }
.inventory-select-row:focus-visible { outline: 2px solid var(--focus); outline-offset: -3px; }
.inventory-list-count { padding: .4rem .8rem; color: var(--muted); border-top: 1px solid var(--line); }
.inventory-empty, .inventory-no-selection { padding: 1.1rem; }
.inventory-inspector { overflow: auto; min-width: 0; min-height: 0; border-left: 1px solid var(--line); overscroll-behavior: auto; scrollbar-gutter: stable; }
.inventory-inspector-title { display: grid; gap: .3rem; padding: .9rem; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 2; background: var(--panel-2); }
.inventory-inspector-title h3 { margin: 0; color: var(--yellow); font-size: 1.1rem; overflow-wrap: anywhere; }
.inventory-inspector-title h3 { max-height: 5rem; overflow: auto; }
.inventory-inspector-title h3, .inventory-no-selection h3 { text-transform: none; letter-spacing: normal; font-weight: 600; }
.inventory-inspector-title small { color: var(--muted); }
[data-inventory-save] { font-size: .8rem; color: var(--muted); }
[data-inventory-save][data-kind=saved] { color: var(--green); }
[data-inventory-save][data-kind=error] { color: var(--red); }
.inventory-inspector-fields { display: grid; gap: .85rem; padding: .9rem; }
.inventory-inspector label { font-size: .8rem; color: var(--muted); min-width: 0; }
.inventory-inspector input, .inventory-inspector textarea, .inventory-inspector select { min-width: 0; width: 100%; color: var(--ink); }
.inventory-inspector textarea { min-height: 5rem; resize: vertical; }
.inventory-field-pair { display: grid; grid-template-columns: minmax(0,1fr) 5rem; gap: .7rem; }
.inventory-inspector .item-checkbox, .inventory-management .item-checkbox { display: flex; flex-direction: row; align-items: center; gap: .5rem; }
.inventory-inspector .item-checkbox input, .inventory-management .item-checkbox input { width: 1.2rem; height: 1.2rem; }
.inventory-inspector details { border-top: 1px solid var(--line); padding-top: .7rem; }
.inventory-inspector summary { cursor: pointer; color: var(--cyan); }
.inventory-inspector details label, .inventory-inspector details :is(button, a:where(.route-link)) { margin-top: .65rem; }
.inventory-recovery dl { font-size: .8rem; }
.inventory-recovery dd { margin: .3rem 0 .8rem; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--muted); }
.inventory-loot-pane { overflow: auto; min-height: 0; flex: 1; padding: .7rem; overscroll-behavior: auto; }
.inventory-loot-pane .loot-boxes { padding: .8rem; }
.inventory-back { display: none; }
@media (max-width: 1050px) {
  .inventory-split { grid-template-columns: minmax(12rem,1fr) minmax(17rem,1fr); }
  .compact-inventory .inventory-list-heading, .inventory-select-row { grid-template-columns: minmax(0,1fr) 6rem 2rem; gap: .35rem; padding: .6rem; }
}
@media (max-width: 760px) {
  .inventory-identity { padding: .4rem; gap: .4rem; }
  .inventory-identity strong { font-size: .9rem; }
  .inventory-identity span { font-size: .7rem; }
  .inventory-balance-controls > :is(button, a:where(.route-link)), .inventory-balance summary { font-size: .72rem; padding: .4rem; }
  .inventory-tools { flex-wrap: wrap; gap: .35rem; padding: .4rem; }
  .inventory-tools > label:first-child { flex-basis: calc(100% - 5rem); }
  .inventory-tools > label { flex-basis: 32%; }
  .inventory-management { align-self: end; }
  .inventory-split { display: flex; }
  .inventory-list-pane { width: 100%; }
  .inventory-inspector { display: none; width: 100%; border-left: 0; }
  .inventory-split.item-selected .inventory-list-pane { display: none; }
  .inventory-split.item-selected .inventory-inspector { display: block; }
  .compact-inventory:has(.inventory-split.item-selected) .inventory-tools { display: none; }
  .inventory-form:has(.inventory-split.item-selected) .inventory-balance-controls { display: none; }
  .inventory-back { display: inline-flex; justify-content: center; min-height: 2.75rem; margin-bottom: .4rem; }
  .inventory-workspace-switch { padding: .4rem; }
  .inventory-workspace-switch :is(button, a:where(.route-link)) { padding: .4rem .5rem; font-size: .8rem; }
  .inventory-list-heading, .inventory-select-row { grid-template-columns: minmax(0,1fr) 6rem 2rem; }
}

/* Presentation only: keep the editor and its save/recovery state mounted. */
.inventory-split[data-mode="list"], .inventory-split[data-mode="details"] { grid-template-columns: minmax(0,1fr); }
.inventory-split[data-mode="list"] .inventory-inspector, .inventory-split[data-mode="details"] .inventory-list-pane { display: none; }
.inventory-split[data-mode="details"] .inventory-inspector { border-left: 0; }
.inventory-presentation-controls { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: space-between; }
.inventory-presentation-controls button { min-height: 2.5rem; padding: .4rem .5rem; font-size: .75rem; }
.compact-inventory:has([data-mode="details"]) .inventory-tools { display: none; }
@media (max-width:760px) {
  .inventory-split[data-mode="list"] .inventory-list-pane { display: flex; }
  .inventory-split[data-mode="list"] .inventory-inspector { display: none; }
  .inventory-presentation-controls { position: sticky; top: 0; }
}

#main-content:has(#view-characters.inventory-mode:not([hidden])) { padding-bottom: 12px; }

.inventory-workspace { container-type: inline-size; }
@container (max-width:650px) {
  .inventory-split { display: flex; }
  .inventory-list-pane { width: 100%; }
  .inventory-inspector { display: none; width: 100%; border-left: 0; }
  .inventory-split.item-selected .inventory-list-pane { display: none; }
  .inventory-split.item-selected .inventory-inspector { display: block; }
  .inventory-split[data-mode="list"] .inventory-list-pane { display: flex; }
  .inventory-split[data-mode="list"] .inventory-inspector { display: none; }
  .compact-inventory:has(.item-selected) .inventory-tools { display: none; }
  .inventory-tools { flex-wrap: wrap; gap: .35rem; padding: .4rem; }
  .inventory-tools > label { flex-basis: 32%; }
  .inventory-tools > label:first-child { flex-basis: calc(100% - 5rem); }
  .inventory-workspace-switch { flex-wrap: wrap; }
}

@container (max-width:650px) {
  .inventory-workspace-switch:has(~ .compact-inventory .item-selected) .inventory-balance-controls { display: none; }
}

/* Inventory actions are native labelled buttons; SVGs are decorative. */
.inventory-presentation-controls { justify-content: flex-start; }
.inventory-presentation-controls button { width: 2.5rem; height: 2.5rem; display: inline-grid; place-items: center; padding: .5rem; }
.inventory-presentation-controls svg { width: 1.25rem; height: 1.25rem; pointer-events: none; }
.inventory-delete-icon { color: #ff9292; }
.inventory-workspace-switch .inventory-gm-sort { display: flex; flex-direction: row; align-items: center; gap: .5rem; font-size: .78rem; min-height: 2.5rem; margin: 0; }
.inventory-gm-sort input { width: 1.2rem; height: 1.2rem; flex: none; }
.inventory-trash-pane { overflow: auto; min-height: 0; flex: 1; padding: .8rem; }
.inventory-trash-pane h3 { margin: 0; text-transform: none; }
.inventory-trash-pane h3 small { color: var(--pink); }
.inventory-trash-entry { border: 1px solid var(--line); border-radius: .35rem; padding: .7rem; margin: .7rem 0; }
.inventory-trash-entry summary { cursor: pointer; overflow-wrap: anywhere; }
.inventory-trash-entry > button { margin-top: .7rem; }
.inventory-trash-text, .inventory-trash-entry pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.inventory-trash-entry pre { max-height: 18rem; overflow: auto; }
