.bookshelf{max-width:1000px;margin:auto;padding:24px 0 90px}.bookshelf h1{font-size:clamp(2rem,6vw,3rem)}.shelf-note{color:#aec2d3;font-size:.9rem;line-height:1.8}.shelf-tools,.shelf-tabs,.shelf-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}.bookshelf button,.bookshelf input,.bookshelf select,.shelf-add{font:inherit;border:1px solid #526d86;border-radius:8px;padding:10px;background:#12273b;color:#f0f6fa;min-height:44px;max-width:100%}.bookshelf input[type=checkbox]{min-height:24px;width:24px;vertical-align:middle}.bookshelf button,.shelf-add{cursor:pointer}.bookshelf button[aria-pressed=true]{background:#245d67;border-color:#7bddcb}.bookshelf :focus-visible,.shelf-add:focus-visible{outline:3px solid #7bddcb;outline-offset:3px}.shelf-card,.shelf-plan-card{border:1px solid #35516a;border-radius:16px;padding:20px;margin:18px 0;background:#0d2032;overflow-wrap:anywhere}.shelf-card h2,.shelf-plan-card h3{margin-top:0}.shelf-card summary,.shelf-plan-card summary{padding:12px 0;cursor:pointer}.shelf-card form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:14px 0}.shelf-card label,.shelf-plan-card label{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.shelf-card form label{display:flex;flex-direction:column;align-items:start}.shelf-volume-list{max-height:440px;overflow:auto;border:1px solid #35516a;padding:10px;border-radius:8px}.shelf-volume-row{padding:10px 0;border-bottom:1px solid #35516a;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.shelf-simulation{margin-top:42px;border-top:1px solid #35516a;padding-top:24px}.shelf-total{font-size:1.15rem;padding:18px;background:#12333b;border-radius:12px}.shelf-price{line-height:1.8}.shelf-danger{color:#ffc8c8!important}.shelf-add{display:inline-block;margin:12px 8px 12px 0}.shelf-error{color:#ffcccc}.bookshelf input[type=file]{width:230px}.bookshelf [hidden]{display:none!important}@media(max-width:600px){.shelf-card,.shelf-plan-card{padding:14px}.bookshelf{padding-top:12px}.shelf-card form label,.shelf-card form input{width:100%}.shelf-tools{align-items:start}.shelf-tools label{max-width:100%}}
