.library-page{max-width:1240px;margin:0 auto;padding:28px 20px 56px;color:#10263a}.library-page h2{font-size:clamp(1.7rem,4vw,2.4rem);margin:0 0 8px}.library-page h3{margin:0 0 12px}.library-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}.library-muted{color:#526778;line-height:1.6}.library-button,.library-page button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid #126347;border-radius:10px;background:#064e3b;color:#fff;font:700 1rem inherit;cursor:pointer;text-decoration:none}.library-page button:disabled{opacity:.55;cursor:wait}.library-page button.secondary,.library-button.secondary{background:#fff;color:#064e3b}.library-page :is(input,select,textarea){width:100%;box-sizing:border-box;min-height:46px;padding:10px 12px;border:1px solid #8297a7;border-radius:9px;background:#fff;color:#10263a;font:inherit;font-size:1rem}.library-page label{display:grid;gap:6px;font-weight:700}.library-page :focus-visible,.library-button:focus-visible{outline:3px solid #1b6fb0;outline-offset:3px}.library-filters,.library-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;align-items:end;margin:18px 0}.library-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-span{grid-column:1/-1}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.library-card,.library-panel{background:#fff;border:1px solid #d7e3e9;border-radius:15px;padding:20px;min-width:0}.library-card{display:flex;flex-direction:column;gap:10px}.library-card h3{font-size:1.1rem;line-height:1.6;margin:0;overflow-wrap:anywhere}.library-card p{margin:0;line-height:1.5}.library-card details{margin-top:auto}.library-card summary{cursor:pointer;padding:8px 0;font-weight:700}.library-book-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:.9rem;margin:8px 0}.library-book-meta dt{color:#526778}.library-book-meta dd{margin:0;overflow-wrap:anywhere}.library-badge{display:inline-flex;align-self:flex-start;border-radius:20px;padding:5px 10px;font-size:.85rem;font-weight:700;background:#e7f6ee;color:#075438}.library-badge.issued{background:#fff0cf;color:#714900}.library-badge.overdue,.library-badge.unavailable{background:#ffe9e7;color:#8c2323}.library-badge.review{background:#e8edf3;color:#445568}.library-toolbar,.library-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0}.library-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.library-stat{background:#eef6f4;padding:16px;border-radius:12px}.library-stat strong{display:block;font-size:1.7rem;color:#064e3b}.library-panel{margin:20px 0}.library-notice{padding:12px 16px;border-radius:10px;background:#edf4f8;line-height:1.5}.library-notice.error{background:#fff0ed;color:#8c2323}.library-notice.success{background:#e7f6ee;color:#075438}.library-table-scroll{overflow-x:auto}.library-table{border-collapse:collapse;width:100%;min-width:860px;font-size:.9rem}.library-table caption{text-align:left;color:#526778;padding:10px 0}.library-table th,.library-table td{padding:12px;text-align:start;border-bottom:1px solid #dce6eb;vertical-align:top}.library-table th{background:#edf4f7}.library-table td small{display:block;margin-top:5px;color:#526778}.library-table button{font-size:.85rem;padding:7px 10px;margin:2px}.library-librarians{display:flex;flex-direction:column}.library-librarian{display:flex;align-items:center;gap:18px;padding:18px 20px;background:linear-gradient(135deg,#f4faf7 0%,#e7f6ef 100%);border:1.5px solid #a4dfc6;border-radius:16px;box-shadow:0 4px 16px rgba(6,78,59,0.06);height:100%;box-sizing:border-box}.library-librarian-photo-wrap{flex-shrink:0}.library-librarian img{width:96px;height:114px;object-fit:cover;object-position:top center;border-radius:12px;border:3px solid #fff;background:#fff;box-shadow:0 4px 14px rgba(6,78,59,0.18);display:block}.library-avatar{width:96px;height:96px;border-radius:12px;display:grid;place-items:center;background:#064e3b;color:#fff;font-size:2.2rem;font-weight:700;border:3px solid #fff;box-shadow:0 4px 14px rgba(6,78,59,0.18)}.library-librarian-info{display:flex;flex-direction:column;gap:3px;min-width:0}.library-librarian-badge{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#047857;background:#d1fae5;padding:3px 8px;border-radius:6px;width:fit-content;border:1px solid #a7f3d0;margin-bottom:2px}.library-librarian-name{font-size:1.22rem;font-weight:800;color:#064e3b;line-height:1.3;margin:0}.library-librarian-sub{margin:0;font-size:.9rem;font-weight:600;color:#1e293b;line-height:1.3}.library-librarian-dept{font-size:.8rem;color:#526778;line-height:1.2}.library-student img{width:64px;height:72px;object-fit:contain;border-radius:8px;background:#fff}.library-student{display:flex;gap:15px;align-items:center;border:2px solid #a7cfb9;padding:16px;border-radius:12px;margin:15px 0}.library-student p{margin:4px 0}.library-dialog{width:min(640px,calc(100% - 32px));border:0;border-radius:16px;padding:24px;max-height:90vh;overflow:auto;color:#10263a}.library-dialog::backdrop{background:#10263ab3}.library-home .library-button{white-space:nowrap}.library-page [hidden]{display:none!important}@media(max-width:800px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-filters{grid-template-columns:1fr 1fr}.library-filters label:first-child{grid-column:1/-1}.library-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.library-page{padding:22px 14px}.library-grid,.library-form-grid,.library-filters{grid-template-columns:1fr}.library-card,.library-panel{padding:16px}.library-page button,.library-button{min-height:48px}.library-table-scroll{margin-inline:-6px}.library-student{align-items:flex-start}}

.library-list{list-style:none;margin:0;padding:0;border:1px solid #d7e3e9;border-radius:12px;overflow:hidden;background:#fff}.library-list>li+li{border-top:1px solid #d7e3e9}.library-list-entry>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;cursor:pointer;list-style:none;min-height:64px}.library-list-entry>summary::-webkit-details-marker{display:none}.library-list-entry>summary::after{content:'+';font-size:1.4rem;color:#064e3b}.library-list-entry[open]>summary::after{content:'−'}.library-list-entry>summary:hover,.library-list-entry[open]>summary{background:#f0f7f4}.library-list-title{display:grid;gap:5px;flex:1;min-width:0}.library-list-title strong{font-size:1.05rem;line-height:1.6;overflow-wrap:anywhere}.library-list-title>span,.library-list-state>span:last-child{font-size:.88rem;color:#526778}.library-list-state{display:grid;justify-items:end;gap:7px}.library-copy-list{padding:0 20px 16px}.library-copy{padding:16px 0;border-top:1px solid #d7e3e9}.library-copy-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.library-copy .library-book-meta{grid-template-columns:120px minmax(0,1fr);max-width:850px}.library-catalog-table{min-width:1020px}.library-catalog-table tbody th{background:#fff;min-width:220px;max-width:320px;font-weight:400}.library-catalog-table tbody th>strong{display:block;overflow-wrap:anywhere}.library-catalog-table summary{cursor:pointer;padding:8px 0;color:#064e3b}.library-catalog-table .library-book-meta{font-weight:400;grid-template-columns:auto minmax(0,1fr)}.library-row-actions{display:flex;flex-wrap:wrap;gap:4px;min-width:150px}.library-row-actions button{min-height:44px}.library-table-scroll:focus-visible{outline:3px solid #1b6fb0;outline-offset:3px}@media(max-width:520px){.library-list-entry>summary{padding:14px 12px;gap:10px;flex-wrap:wrap}.library-list-title{flex-basis:calc(100% - 30px)}.library-list-state{justify-items:start;display:flex;align-items:center;gap:10px;flex-wrap:wrap;order:1;width:100%}.library-copy-list{padding:0 12px 12px}.library-copy .library-book-meta{grid-template-columns:95px minmax(0,1fr)}.library-row-actions button{min-height:48px}}

.library-empty{padding:20px}
.library-home-row{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:stretch;margin-top:20px}
.library-home-stats{display:flex;align-items:stretch;width:100%}
.library-home-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;width:100%}
.library-stat-card{background:#fff;border:1.5px solid #d7e8e0;border-radius:14px;padding:16px 14px;display:flex;flex-direction:column;justify-content:center;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,0.03);box-sizing:border-box;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.library-stat-card:hover{transform:translateY(-2px);border-color:#10b981;box-shadow:0 6px 14px rgba(16,185,129,0.12)}
.library-stat-num{font-size:1.85rem;font-weight:800;color:#064e3b;line-height:1.1;letter-spacing:-.5px}
.library-stat-title{font-size:.95rem;font-weight:700;color:#10263a;line-height:1.2}
.library-stat-card.primary{background:linear-gradient(135deg,#064e3b 0%,#096a51 100%);border-color:#064e3b;color:#fff}
.library-stat-card.primary .library-stat-num{color:#fff}
.library-stat-card.primary .library-stat-title{color:#e6f4ea}
.library-stat-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;padding:6px 12px;background:#fff;color:#064e3b;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border-radius:8px;text-decoration:none;box-shadow:0 2px 6px rgba(0,0,0,0.12);transition:all .18s ease;width:fit-content}
.library-stat-btn:hover{background:#e6f7ef;color:#04392b;transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,0.18)}
@media(max-width:960px){.library-home-row{grid-template-columns:1fr}}
@media(max-width:600px){
  .library-home-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .library-home-stats-grid .library-stat-card.primary{grid-column:1/-1}
}
.library-student-card{display:flex;flex-direction:column;gap:12px;background:#f8fafc;border:2px solid #a7cfb9;border-radius:14px;padding:16px;margin:16px 0}
.library-student-header{display:flex;gap:16px;align-items:center}
.library-student-header img{width:68px;height:78px;object-fit:cover;border-radius:10px;border:1px solid #c2d6cd;background:#fff;box-shadow:0 2px 6px #0000000f}
.library-student-details{display:flex;flex-direction:column;gap:3px;flex:1}
.library-student-details h4{margin:0 0 2px;font-size:1.15rem;color:#064e3b}
.library-student-details p{margin:0;font-size:.92rem;color:#2c3e50;line-height:1.4}
.student-loan-status{padding:10px 14px;border-radius:9px;font-size:.88rem;line-height:1.4}
.student-loan-status.alert{background:#fff3cd;color:#856404;border:1px solid #ffeeba}
.student-loan-status.ok{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.student-loan-status.clean{background:#edf4f8;color:#2b4c68;border:1px solid #d0e2ec}
