.books-view{max-width:1180px}.books-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.books-hero h1{margin:4px 0 5px;font-size:clamp(42px,5vw,72px);letter-spacing:-.055em}.books-hero p:last-child{margin:0;color:var(--muted);font-size:18px}.books-summary{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-bottom:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.books-summary article{display:grid;gap:2px;padding:18px 22px;border-right:1px solid var(--line)}.books-summary article:last-child{border:0}.books-summary strong{font-size:28px;color:var(--green-dark)}.books-summary span{color:var(--muted);font-size:13px;font-weight:700}.books-tabs{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#edf1ee}.books-tabs button{min-height:38px;padding:7px 16px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:750;cursor:pointer}.books-tabs button.is-active{background:#fff;color:var(--green-dark);box-shadow:0 1px 4px #183b2e14}.books-list{display:grid;gap:12px;margin-top:16px}.book-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}.book-cover{width:72px;height:102px;object-fit:cover;border-radius:8px;background:#e8eee9;box-shadow:0 5px 14px #183b2e1c}.book-cover-placeholder{display:grid;place-items:center;color:var(--green-dark);font-size:25px}.book-copy{min-width:0}.book-copy h2{margin:0 0 3px;font-size:20px}.book-copy>p{margin:0;color:var(--muted)}.book-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.book-meta span{padding:6px 9px;border-radius:99px;background:#f0f5f1;color:var(--green-dark);font-size:12px;font-weight:700}.book-meta .is-due-soon{background:#fff1cc;color:#7a5500}.book-meta .is-overdue{background:#ffe0dd;color:#9e2828}.book-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.book-actions button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green-dark);font:inherit;font-weight:750;cursor:pointer}.book-actions .return-book{border-color:var(--lime);background:var(--lime)}.books-empty{display:grid;justify-items:center;padding:60px 20px;text-align:center}.books-empty[hidden]{display:none}.books-empty>span{font-size:38px;color:var(--green)}.books-empty h2{margin:12px 0 4px}.books-empty p{margin:0 0 18px;color:var(--muted)}.book-dialog{width:min(720px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:22px;box-shadow:0 28px 90px #09281e52}.book-dialog::backdrop{background:#09281e80}.book-form{display:grid;gap:16px;padding:26px}.book-dialog-head{display:flex;justify-content:space-between;gap:20px}.book-dialog-head h2{margin:2px 0;font-size:32px}.book-dialog-head p{margin:0}.book-dialog-head>button{width:40px;height:40px;border:0;border-radius:50%;background:#edf2ee;font-size:24px;cursor:pointer}.book-form label,.book-reminders legend{color:var(--ink);font-size:13px;font-weight:750}.book-form input{width:100%;min-height:48px;margin-top:7px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.book-search-row{display:grid;grid-template-columns:1fr auto;gap:8px}.book-search-row button{align-self:end;min-height:48px;padding:0 18px;border:0;border-radius:12px;background:var(--green-dark);color:#fff;font:inherit;font-weight:750}.book-search-results{display:grid;max-height:250px;overflow:auto;border-radius:14px}.book-search-result{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;padding:10px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.book-search-result img{width:42px;height:58px;object-fit:cover;border-radius:4px;background:#edf1ee}.book-search-result strong,.book-search-result span{display:block}.book-search-result span{color:var(--muted);font-size:12px}.selected-book{grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #b8d8c5;border-radius:14px;background:#f0faf2}.selected-book:not([hidden]){display:grid}.selected-book img{width:52px;height:72px;object-fit:cover;border-radius:5px}.selected-book small,.selected-book strong,.selected-book span{display:block}.selected-book span{color:var(--muted);font-size:12px}.selected-book button{border:0;background:transparent;color:var(--green-dark);font-weight:800}.book-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.book-reminders{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:14px;border:1px solid var(--line);border-radius:14px}.book-reminders legend{padding:0 4px}.book-reminders label{display:flex;gap:7px;align-items:center}.book-reminders input{width:18px;min-height:18px;margin:0}.book-reminder-note{margin:-5px 0 0;color:var(--muted);font-size:12px}.book-form-actions{display:flex;justify-content:flex-end;gap:8px}
.book-search-input-wrap{position:relative;display:block}.book-search-input-wrap input{padding-right:48px}.book-search-input-wrap #clear-book-search{position:absolute;right:7px;bottom:6px;width:36px;min-height:36px;padding:0;border-radius:50%;background:#edf2ee;color:var(--green-dark);font-size:22px}.book-destination{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.book-destination legend{width:100%;margin-bottom:0;color:var(--ink);font-size:13px;font-weight:750}.book-destination label{position:relative}.book-destination input{position:absolute;opacity:0;pointer-events:none}.book-destination span{display:block;padding:10px 15px;border:1px solid var(--line);border-radius:10px;background:#fff}.book-destination input:checked+span{border-color:var(--green);background:#e7f5df;color:var(--green-dark)}
.scan-book-barcode{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid var(--green);border-radius:12px;background:#eef9e9;color:var(--green-dark);font:inherit;font-weight:800;cursor:pointer}.scan-book-barcode span{font-size:22px}.book-barcode-panel{padding:12px;border:1px solid var(--line);border-radius:14px;background:#f5f8f5;text-align:center}.book-barcode-panel:not([hidden]){display:block}.book-barcode-panel p{margin:10px 0;color:var(--muted);font-size:12px}.book-barcode-panel>button{border:0;background:transparent;color:var(--green-dark);font:inherit;font-weight:800;cursor:pointer}#book-barcode-reader{overflow:hidden;border-radius:10px;background:#14231d}#book-barcode-reader video{width:100%!important;border-radius:10px}
@media(max-width:760px){.books-hero{display:grid;align-items:start}.books-hero .primary-action{width:100%}.books-summary article{padding:13px}.books-summary strong{font-size:22px}.book-card{grid-template-columns:58px 1fr}.book-cover{width:58px;height:82px}.book-actions{grid-column:1/-1;justify-content:stretch}.book-actions button{flex:1}.book-form{padding:19px}.book-form-grid{grid-template-columns:1fr}.book-search-row{grid-template-columns:1fr}.book-search-row>button{width:100%}.mobile-tabbar{grid-template-columns:repeat(6,1fr)!important}.mobile-tabbar a{min-width:0;padding-inline:3px!important}.mobile-tabbar small{font-size:10px!important}}
.book-card{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.book-card:hover{transform:translateY(-1px);border-color:#a8cdbb;box-shadow:0 8px 24px rgba(18,63,53,.08)}.book-card:focus-visible{outline:3px solid rgba(114,201,54,.45);outline-offset:3px}
@media(max-width:760px){
  .book-dialog{
    inset:0!important;
    width:calc(100% - 20px)!important;
    max-height:calc(100dvh - max(env(safe-area-inset-top),54px) - max(env(safe-area-inset-bottom),12px) - 18px)!important;
    margin:max(env(safe-area-inset-top),54px) auto max(env(safe-area-inset-bottom),12px)!important;
    border-radius:20px!important;
  }
  .book-form{gap:14px;padding:18px 16px 22px!important}
  .book-dialog-head{align-items:flex-start;gap:12px}
  .book-dialog-head>div{min-width:0;flex:1}
  .book-dialog-head h2{margin:0!important;padding:0;font-size:29px!important;line-height:1.08!important}
  .book-dialog-head p{line-height:1.4}
  .book-dialog-head>button{width:42px;height:42px;flex:0 0 42px;margin:0;font-size:23px}
}
