.library-storage-note{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;color:#77807b;font-size:11px;margin-bottom:18px}
.library-storage-note b{color:#27352d}.library-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.library-tools .search{flex:1;min-width:180px}.library-count{font-size:11px;color:var(--muted)}
.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px}.library-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.library-preview{aspect-ratio:4/3;background:#edf0ed;display:grid;place-items:center;position:relative;overflow:hidden}.library-preview img,.library-preview video{height:100%;width:100%;object-fit:contain}.library-preview .library-kind-icon{font-size:40px;color:#8c978f}.library-card-body{padding:14px}.library-card h3{font-size:13px;margin:0 0 6px;overflow-wrap:anywhere}.library-card p{font-size:10px;color:var(--muted);margin:4px 0;overflow-wrap:anywhere}.library-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.library-card-actions button{font-size:10px}.library-tag{display:inline-block;font-size:9px;padding:3px 7px;border-radius:20px;background:#f0f4ef;color:#59665d;margin:5px 4px 0 0}.library-drop{border:1px dashed #a5b4a8;background:#f7faf6;border-radius:12px;padding:20px;text-align:center;color:#6d796f;font-size:11px;margin-bottom:15px;cursor:pointer}.library-drop strong{display:block;color:#26392c;font-size:13px;margin-bottom:4px}.library-drop.drag-over{background:#e9f3e8;border-color:#4b7654}.library-drop input{display:none}
.library-empty{background:#fff;border:1px dashed #d9e0d9;border-radius:12px;padding:55px 20px;text-align:center;color:#7e8a81}.library-empty strong{display:block;color:#344138;font-size:15px;margin:12px 0 5px}.library-empty p{font-size:11px}.library-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0;font-size:11px}.library-pagination button:disabled{opacity:.4;cursor:default}
.library-dialog{max-width:1100px;width:94vw;max-height:92vh;overflow:auto;padding:26px}.library-dialog h3{margin-top:0}.library-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.library-dialog-header p{font-size:11px;color:var(--muted);margin:4px 0}.library-dialog .close{position:static;flex-shrink:0}.library-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.library-form-grid label{display:grid;gap:5px;font-size:11px;color:#627068}.library-form-grid input,.library-form-grid select,.library-form-grid textarea,.library-api-fields input,.library-api-fields select{width:100%;padding:9px 11px;border:1px solid #dde4dd;border-radius:7px;background:white;color:#26352c;font:inherit;font-size:12px}.library-form-grid .wide{grid-column:1/-1}.library-csv{min-height:170px;font-family:Consolas,monospace!important;font-size:11px!important;resize:vertical;white-space:pre;overflow:auto}.library-error{font-size:11px;color:#aa493c;margin:8px 0;min-height:16px}.library-success{color:#177a58}.library-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.library-form-actions .library-error{margin-right:auto}.library-help{font-size:10px;color:var(--muted);margin:7px 0 14px}.library-template-preview{padding:15px;border:1px solid var(--line);border-radius:8px;max-height:180px;overflow:auto;font-size:11px;pointer-events:none;background:#fff}.library-table{width:100%;min-width:500px;border-collapse:collapse;font-size:11px}.library-table td,.library-table th{padding:8px 10px;border-bottom:1px solid #e8ede8;text-align:left;white-space:normal;overflow-wrap:anywhere}.library-table th{background:#f5f8f4;font-size:10px;color:#6b786f}.library-preview-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;margin:10px 0}.library-api-box{background:#f6f8f5;border:1px solid #dfe7df;border-radius:10px;padding:15px;margin:18px 0}.library-api-box summary{font-size:12px;font-weight:700;cursor:pointer}.library-api-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0}.library-api-fields label{display:grid;gap:5px;font-size:10px;color:#68746c}.library-api-field-action{display:flex;gap:5px}.library-api-field-action button{white-space:nowrap}.library-api-status{font-size:11px;color:#6c7a70;min-height:17px}.library-compat-status{margin-top:10px;font-size:11px;color:#7d6b45}.library-picker-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.library-picker-toolbar h2{margin:0;font-size:14px}.library-picker-toolbar p{margin:3px 0 0;font-size:10px;color:var(--muted)}.library-picker-toolbar .head-actions{flex-wrap:wrap}.library-picker-grid .library-card.selected{border-color:#28794f;box-shadow:0 0 0 1px #28794f}.library-picker-grid .library-preview{aspect-ratio:16/10}.library-picker-grid input[type=checkbox]{position:absolute;top:10px;left:10px;z-index:1;width:18px;height:18px}.library-picker-selection{font-size:11px;color:#627368;margin-right:auto}.library-dialog .description-visual{min-height:240px}.library-api-results{max-height:330px;overflow:auto;margin-top:12px}.library-api-results input[type=checkbox]{width:14px}.library-compat-native{max-height:440px;overflow:auto}.library-compat-native table{min-width:520px}.library-compat-native input{min-width:95px}.library-danger{color:#a04b3f}.library-link-note{font-size:11px;color:#68746c}
@media(max-width:760px){.library-form-grid{grid-template-columns:1fr}.library-form-grid .wide{grid-column:auto}.library-dialog{padding:18px;width:97vw;max-height:95vh}.library-dialog-header{gap:8px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.library-picker-toolbar{align-items:flex-start}.library-storage-note{align-items:flex-start}.library-form-actions{flex-wrap:wrap}}
.modal-backdrop#libraryRecordModal,.modal-backdrop#libraryPickerModal{z-index:60}body:not(.authed) #libraryRecordModal,body:not(.authed) #libraryPickerModal{display:none!important}
