.library-source-tabs { display:flex; gap:10px; overflow:auto; padding-bottom:8px; margin-bottom:22px; }
.library-source-tabs button { min-width:150px; text-align:left; padding:13px 15px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.library-source-tabs button.active { border-color:var(--accent); background:var(--soft); }
.library-source-tabs strong,.library-source-tabs small { display:block; }
.library-source-tabs small { color:var(--muted); margin-top:3px; font-size:10px; }
.library-toolbar { display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) 150px auto; gap:12px; align-items:end; margin-bottom:27px; }
.library-toolbar .field { margin:0; }
.library-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.library-card { padding:0; text-align:left; min-width:0; transition:transform .16s,border-color .16s; }
.library-card:hover { transform:translateY(-2px); border-color:#b8cbb0; }
.library-card>img,.library-file-icon { width:100%; aspect-ratio:1.35; object-fit:cover; background:#edf1e8; }
.library-file-icon { display:grid; place-content:center; justify-items:center; color:#7c8f79; gap:8px; }
.library-file-icon .icon { width:38px; height:38px; }
.library-file-icon small { font-size:11px; }
.library-card-copy { display:block; padding:14px; }
.library-card-copy strong { display:block; font-size:12px; overflow-wrap:anywhere; }
.library-card-copy>small { display:block; color:var(--muted); font-size:10px; margin:5px 0 9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.library-card-copy .badge { margin:0 5px 4px 0; }
.library-viewer { min-height:260px; max-height:65vh; display:grid; place-items:center; background:#19211e; border-radius:11px; overflow:hidden; }
.library-viewer img,.library-viewer video { max-width:100%; max-height:65vh; object-fit:contain; }
.library-viewer iframe { width:100%; height:65vh; border:0; background:white; }
.library-no-preview { color:white; text-align:center; }
.library-no-preview .icon { width:55px; height:55px; margin:auto; }
.library-viewer-meta { display:flex; justify-content:space-between; gap:15px; color:var(--muted); font-size:11px; margin:12px 0; }
.library-original-warning { font-size:10px; margin:12px 0 0; }
.library-policy-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px 18px; padding:16px; border:1px solid var(--line); border-radius:9px; margin-bottom:15px; }
.library-item-summary { padding:14px; border-radius:9px; background:var(--soft); margin-bottom:18px; }
.library-item-summary strong,.library-item-summary small { display:block; }
.library-item-summary small { margin-top:5px; color:var(--muted); }
.library-admin-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-bottom:20px; }
.library-admin-summary .panel { padding:19px; }
.library-admin-summary strong { display:block; font-size:25px; font-weight:500; margin-top:7px; }
.library-admin-summary span { color:var(--muted); font-size:10px; }
.library-source-admin { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:18px; }
.library-source-admin>.card { padding:15px; }
.library-source-admin>.card.active { border-color:var(--accent); }
.library-source-admin>.card>button { display:grid; grid-template-columns:1fr auto; width:100%; text-align:left; gap:4px 10px; margin-bottom:12px; }
.library-source-admin strong,.library-source-admin small { display:block; }
.library-source-admin small { color:var(--muted); font-size:10px; grid-column:1; overflow-wrap:anywhere; }
.library-source-admin .badge { grid-row:1/3; grid-column:2; align-self:center; }
.library-source-admin p { color:#9a6c59; font-size:10px; margin:10px 0 0; }
.library-admin-table td:nth-child(3) { min-width:190px; }
@media(max-width:1000px){.library-grid{grid-template-columns:repeat(3,1fr)}.library-toolbar{grid-template-columns:1fr 1fr}.library-toolbar .btn{align-self:end}.library-source-admin{grid-template-columns:1fr}}
@media(max-width:650px){.library-grid{grid-template-columns:repeat(2,1fr);gap:10px}.library-toolbar{grid-template-columns:1fr}.library-policy-grid,.library-admin-summary{grid-template-columns:1fr}.library-viewer{min-height:200px}.library-viewer iframe{height:60vh}.library-admin-table{overflow:auto}.library-card-copy{padding:11px}.library-card-copy>small{white-space:normal}.library-viewer-meta{flex-direction:column;gap:3px}}
