:root{--nav:#212529;--page:#f4f6f9;--text:#292d32;--muted:#596572;--line:#dfe4ea;--sidebar:244px;--topbar:68px;--accent:#0d6efd;--radius:10px}*{box-sizing:border-box}body{margin:0;color:var(--text);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--page);accent-color:var(--accent)}::selection{background:#cce0ff;color:#102d55}input,textarea{caret-color:#0b5ed7}a{text-underline-offset:3px}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid #1874ef;outline-offset:3px}.skip-link{position:fixed;left:12px;top:-80px;z-index:200;background:white;color:#174b91;padding:12px 20px;border:2px solid currentColor;border-radius:6px}.skip-link:focus{top:12px}.topbar{height:var(--topbar);position:fixed;inset:0 0 auto;z-index:40;background:var(--nav);display:flex;align-items:center;justify-content:space-between;padding:0 26px;color:#fff;border-bottom:1px solid #41484f}.brand-wrap,.brand,.user-menu,.row-actions{display:flex;align-items:center;gap:14px}.brand{color:#fff;text-decoration:none;font-size:23px;letter-spacing:-.02em}.brand:hover{color:#fff}.brand img{object-fit:contain;background:white;border-radius:4px;padding:2px}.brand strong{font-weight:750}.user-identification{font-size:14px;text-align:right}.user-identification small{display:block;color:#c2c9d1;font-size:12px}.user-menu form{margin:0}.sidebar{position:fixed;inset:var(--topbar) auto 0 0;width:var(--sidebar);z-index:35;background:var(--nav);color:#d1d5da;display:flex;flex-direction:column;padding:22px 0 0}.sidebar-heading{padding:0 22px 18px;color:#c8d0d8;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:space-between}.sidebar nav{overflow:auto;flex:1}.nav-item{display:flex;align-items:center;gap:13px;padding:13px 22px;text-decoration:none;color:#d1d5da;min-height:48px}.nav-item i{font-size:18px;width:20px}.nav-item:hover{background:#303a45;color:#fff}.nav-item.active{background:#26446d;color:#fff}.nav-section{font-weight:650;font-size:12px;color:#b1bbc6;padding:25px 22px 9px}.sidebar-footer{padding:18px 22px;border-top:1px solid #41484f;color:#d1d5da;font-size:13px}.sidebar-footer small{display:block;font-size:11px;color:#b1bbc6}.main-content{margin:var(--topbar) 0 0 var(--sidebar);padding:26px 32px 54px;max-width:1800px;min-height:calc(100dvh - var(--topbar))}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 25px}.page-heading h1{font-size:29px;line-height:1.25;font-weight:680;letter-spacing:-.025em;margin:0}.page-heading p{margin:7px 0 0;color:var(--muted)}.page-heading>.btn{flex-shrink:0}.back-link{display:inline-block;font-size:13px;margin-bottom:12px;text-decoration:none}.environment-notice{display:flex;align-items:center;gap:9px;font-size:12px;padding:9px 12px;background:#e7eef7;color:#344c68;border-radius:5px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.panel-heading{padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}h2{font-size:18px;font-weight:660;line-height:1.35;margin:0 0 14px}h3{font-size:16px;line-height:1.4}.panel-heading h2{margin:0}.panel-heading a{font-size:13px}.table-toolbar{padding:20px 22px;display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.table-toolbar .input-group{max-width:620px}.table{font-size:13px;--bs-table-bg:transparent}.table th{background:#f8f9fb;color:#596572;font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;padding:14px 18px;white-space:nowrap}.table td{padding:17px 18px;border-color:#e8edf2}.row-title{font-weight:650;font-size:14px;color:#243a54;text-decoration:none;display:block;max-width:450px;overflow-wrap:anywhere}.row-title:hover{color:#0a58ca;text-decoration:underline}.book-cell,.person-cell{display:flex;gap:14px;align-items:center;min-width:250px}.book-cell img{object-fit:cover;border-radius:3px;flex-shrink:0}.book-cell small,.person-cell small{display:block;color:var(--muted);margin-top:3px;font-size:12px}.book-placeholder{width:42px;height:60px;display:grid;place-items:center;background:#edf1f6;color:#647487;font-size:23px;border-radius:3px;flex-shrink:0}.person-cell img,.person-placeholder{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.person-placeholder{display:grid;place-items:center;background:#eaf0f7;color:#596b82;font-size:21px}.badge{font-weight:600;padding:6px 9px;line-height:1.25;white-space:normal}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}.pagination-bar>div{display:flex;gap:8px}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.summary-item{display:flex;gap:15px;align-items:center;padding:25px 24px;text-decoration:none;color:var(--muted);border-right:1px solid var(--line);font-size:12px}.summary-item:last-child{border-right:0}.summary-item:hover{background:#f6f9fd;color:#174b91}.summary-item i{font-size:27px;color:#376aab}.summary-item strong{display:block;color:var(--text);font-size:30px;font-weight:680;line-height:1.35;font-variant-numeric:tabular-nums}.table td,.code-label{font-variant-numeric:tabular-nums}.empty-state{padding:46px 24px!important;text-align:center;color:var(--muted)}.empty-state>i{font-size:32px;color:#4b7997;display:block;margin-bottom:15px}.empty-state h3{margin-bottom:8px;color:var(--text)}.empty-state p{margin:0}.form-panel{padding:26px;max-width:1100px}.form-section+.form-section{margin-top:30px;padding-top:27px;border-top:1px solid var(--line)}.form-label{font-size:13px;font-weight:650;margin-bottom:7px}.form-control,.form-select{border-color:#bac5d0;min-height:41px;border-radius:6px}.form-control::placeholder{color:#657281;opacity:1}.form-control:focus,.form-select:focus{border-color:#3e83df;box-shadow:0 0 0 3px #0d6efd1f}.form-text{color:#596572;font-size:12px;line-height:1.5}.btn{font-weight:600;border-radius:6px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px}.btn-sm{font-size:12px;min-height:34px;padding:6px 10px}.btn-lg{min-height:49px}.btn:disabled{cursor:wait}.btn-outline-secondary{--bs-btn-color:#465565;--bs-btn-border-color:#adb9c6;--bs-btn-hover-bg:#edf1f5;--bs-btn-hover-color:#233448;--bs-btn-hover-border-color:#71849a}.form-actions{display:flex;justify-content:flex-end;gap:11px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.form-actions>.btn{min-width:130px}.isbn-panel{padding:22px 26px;margin-bottom:24px;max-width:1100px}.isbn-input{max-width:380px}.isbn-result{padding:19px 20px;border:1px solid #b3cae8;border-radius:6px;background:#f5f9ff}.isbn-result h3{margin-top:0}.edit-cover{max-width:150px;max-height:210px;object-fit:contain;display:block;margin-bottom:18px}.edit-avatar{width:100px;height:100px;object-fit:cover;border-radius:50%;display:block;margin-bottom:18px}.code-label{font-size:13px;background:#e8edf3;padding:6px 10px;border-radius:4px;display:inline-block}.lookup-wrap{position:relative}.lookup-results{position:absolute;top:100%;left:0;right:0;background:#fff;z-index:15;border:1px solid #9fb2c9;border-radius:0 0 6px 6px;box-shadow:0 8px 18px #132b491a;max-height:300px;overflow:auto}.lookup-option{width:100%;display:block;text-align:left;background:white;border:0;border-bottom:1px solid #e3eaf3;padding:13px 16px;color:#24374e}.lookup-option:hover,.lookup-option:focus{background:#eaf2fe;outline-offset:-3px}.lookup-empty{padding:15px;color:var(--muted);font-size:13px}.selection-summary{margin-top:14px;padding:14px 16px;background:#f4f7fa;border-radius:6px;color:#526276;font-size:13px}.selection-summary.selected{background:#e8f3ed;color:#265b40}.filter-links{display:flex;gap:4px;margin-bottom:21px;flex-wrap:wrap}.filter-links a{padding:10px 18px;text-decoration:none;border-radius:6px;color:#4c5d70;font-weight:600}.filter-links a.active{background:#dfeafa;color:#174b91}.row-actions{gap:8px;flex-wrap:wrap}.row-actions form{margin:0}.list-note{color:var(--muted);font-size:12px;padding:15px 22px;margin:0}.taxonomy-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,2fr) auto auto;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}.taxonomy-row:last-child{border-bottom:0}.audit-description{max-width:450px;overflow-wrap:anywhere;font-size:12px}dialog{border:1px solid #d5dde7;border-radius:12px;padding:28px;width:min(540px,calc(100% - 32px));box-shadow:0 16px 48px #12294430}dialog::backdrop{background:#0c172777}.login-body{min-height:100dvh;background:#212933;display:grid;place-items:center;padding:34px 20px}.login-main{width:min(440px,100%)}.login-panel{padding:38px;background:#fff;border-radius:12px}.login-brand{display:flex;align-items:center;gap:18px;margin-bottom:32px;color:#263d58;font-size:25px;font-weight:700}.login-brand img{object-fit:contain}.login-panel h1{font-size:24px;font-weight:680;letter-spacing:-.025em}.login-panel>p{font-size:14px}.login-help{margin:26px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:12px!important;color:#596572}.menu-scrim{border:0;position:fixed;inset:0;z-index:45;background:#12243c80}.menu-toggle{padding:5px 9px;font-size:22px}#scanner{margin-top:18px}#scanner-video{position:relative;max-width:520px;background:#192a3d;min-height:200px;overflow:hidden;border-radius:8px}#scanner-video video{max-width:100%;width:100%;display:block}#scanner-video canvas{position:absolute;inset:0;width:100%;height:100%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#a6b3c2;border:2px solid #f4f6f9;border-radius:8px}::-webkit-scrollbar-track{background:#f4f6f9}
@media(max-width:1199px){.summary-item{padding:20px 17px;gap:12px}.summary-item i{font-size:22px}.main-content{padding:24px}.user-identification{max-width:210px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
@media(max-width:991px){.sidebar{inset:0 auto 0 0;z-index:50;transform:translateX(-100%);visibility:hidden;transition:transform .18s ease-out,visibility .18s}.sidebar.is-open{transform:translateX(0);visibility:visible}.sidebar-heading{padding-top:16px}.main-content{margin-left:0}.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-item:nth-child(2){border-right:0}.summary-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.taxonomy-row{grid-template-columns:1fr 1fr}.topbar{padding:0 18px}}
@media(max-width:575px){.main-content{padding:19px 15px 38px}.page-heading{align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:20px}.page-heading h1{font-size:25px}.page-heading p{font-size:13px}.page-heading>.btn{min-width:100%}.brand{font-size:20px;gap:10px}.brand img{width:35px;height:32px}.brand-wrap{gap:10px}.user-menu{gap:10px}.user-identification{max-width:95px;font-size:11px}.user-identification small{font-size:10px}.topbar{padding:0 12px}.summary-item{padding:18px 14px;font-size:11px;align-items:flex-start}.summary-item i{font-size:20px}.summary-item strong{font-size:26px}.summary-strip{margin-bottom:23px}.table-toolbar{padding:16px}.panel-heading{padding:16px}.table td,.table th{padding:13px 14px}.form-panel,.isbn-panel{padding:20px 17px}.form-actions{flex-wrap:wrap}.form-actions>.btn{flex:1;min-width:100px}.isbn-input{max-width:100%;width:100%}.isbn-panel .btn{flex:1}.environment-notice{font-size:11px;align-items:flex-start}.taxonomy-row{grid-template-columns:1fr;padding:18px}.login-panel{padding:28px 24px}.login-brand{font-size:23px;gap:12px}.login-brand img{width:72px;height:60px}.login-panel h1{font-size:22px}.filter-links a{padding:9px 12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.topbar,.sidebar,.skip-link,.environment-notice,.page-heading>.btn,.table-toolbar,.filter-links,.pagination-bar,.form-actions{display:none!important}.main-content{margin:0;padding:0;max-width:none}.panel{border:0}.table-responsive{overflow:visible}.table td,.table th{padding:7px 8px}body{background:#fff;font-size:11px}.page-heading h1{font-size:22px}.summary-strip{break-inside:avoid}}

.report-filters{flex-wrap:wrap;align-items:end}.report-filters>div{min-width:140px;flex:1}.report-filters>div:first-child{min-width:220px}
.table-responsive{position:relative}.table-toolbar .input-group{min-width:0}.row-actions{flex-wrap:wrap}.list-note{overflow-wrap:anywhere}
