.cabinet-dialog .modalcontent:has(#cabinetPanel){padding:20px 24px;overflow:hidden}#cabinetPanel{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:16px;font-size:15px}#cabinetPanel button,#cabinetPanel input,#cabinetPanel select{min-height:44px;font-size:14px}.cabinet-toolbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.cabinet-toolbar label{flex:1;min-width:260px;max-width:650px;margin:0}.cabinet-toolbar input{width:100%}.cabinet-toolbar>p{margin:0 auto 0 0;font-size:13px}.cabinet-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px}.cabinet-crumbs button{background:transparent;border-color:transparent;color:#e4c479;padding:6px 10px}.cabinet-layout{min-height:0;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(300px,1fr);gap:24px}.cabinet-browse{min-height:0;overflow:auto;overscroll-behavior:contain}.cabinet-bookcase{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));grid-auto-rows:306px;align-content:start;border:6px solid #614b32;border-radius:5px;background:linear-gradient(115deg,#39291d,#21190f);padding:8px 6px 0;min-height:100%}.cabinet-book-slot{display:flex;align-items:end;justify-content:center;padding:4px 7px 0;border-bottom:14px solid #634a30}.cabinet-spine{position:relative;flex:1;max-width:110px;height:var(--spine-height,270px);background:var(--spine-color,#384531);color:#f0e3c2;border:1px solid #a68a50;border-radius:4px 4px 0 0;box-shadow:inset 0 0 0 3px #b8954e36,inset 5px 0 10px #ffffff0a,3px 0 6px #0007;display:flex;align-items:center;justify-content:center;padding:14px 7px 56px;transition:transform .16s,filter .16s}.cabinet-spine:hover,.cabinet-spine:focus-visible{transform:translateY(-9px);filter:brightness(1.17)}.cabinet-spine:focus-visible{outline:3px solid #e4c479;outline-offset:3px}.cabinet-spine strong{writing-mode:vertical-rl;transform:rotate(180deg);font-family:Spectral,Georgia,serif;font-size:19px;line-height:1.15;letter-spacing:.035em;white-space:normal;max-height:205px}.cabinet-spine .cabinet-icon{font-size:18px;position:absolute;top:12px;left:8px}.cabinet-spine .cabinet-count{position:absolute;bottom:9px;left:4px;right:4px;font-size:13px;line-height:1.3;text-align:center;white-space:normal}.cabinet-count small{display:block;font-size:12px;color:#e0d3b5}.cabinet-detail{min-width:0;overflow:auto;padding:20px;background:#17251c;border:1px solid #857344;overscroll-behavior:contain}.cabinet-detail h2{font-family:Spectral,Georgia,serif;font-size:25px;margin:0 0 12px}.cabinet-detail .long-text{white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere}.cabinet-detail .help{font-size:13px}.cabinet-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-content:start}.cabinet-card{display:grid;gap:8px;text-align:left;justify-content:start;background:#231e16;border:1px solid #665436;border-left:4px solid #af914e;padding:16px;width:100%}.cabinet-card strong{font-family:Spectral,Georgia,serif;font-size:21px;color:#e4c479}.cabinet-card small{font-size:13px}.cabinet-card[aria-pressed=true]{background:#3a3925;border-color:#e4c479}.cabinet-empty{padding:16px;font-size:15px}.cabinet-unfilled{color:#dfc899;font-size:13px}.cabinet-status{margin:0;font-size:13px}.cabinet-status:empty{display:none}.cabinet-add{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;border:1px solid #857344;background:#18281f}.cabinet-add label{display:grid;gap:8px;margin:0;min-width:0}.cabinet-add input,.cabinet-add select{width:100%;min-width:0}.cabinet-add .row,.cabinet-add .help{grid-column:1/-1}.cabinet-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}.cabinet-dialog #cancelEditor{min-height:44px}.cabinet-dialog .modalbody:has(#cabinetPanel){overflow:hidden;min-height:0}#cabinetPanel [hidden]{display:none!important}
.cabinet-dialog{width:94vw;max-width:1824px;height:92dvh;max-height:92dvh}.cabinet-dialog .dialog-form{height:100%;max-height:100%}.cabinet-dialog .dialog-body{display:block;min-height:0;overflow:hidden;flex:1;padding:20px 24px}.cabinet-layout{grid-row:4}
.cabinet-bookcase{min-height:0}.cabinet-preview{padding-top:20px}.cabinet-preview h3{font-size:20px;margin:0 0 8px}.cabinet-preview .help{font-size:13px}.cabinet-preview .cabinet-card strong{font-size:19px}

.card-mark{display:block;color:#d9b86a;font-size:.8rem;overflow-wrap:anywhere}
