.auth-container[data-v-298c59cf]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:var(--bg-primary)}.auth-card[data-v-298c59cf]{background-color:var(--bg-secondary);padding:3rem;border-radius:8px;box-shadow:0 10px 40px var(--shadow);max-width:400px;text-align:center}h1[data-v-298c59cf]{font-size:2rem;margin-bottom:.5rem;color:var(--accent-primary)}.subtitle[data-v-298c59cf]{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.auth-button[data-v-298c59cf]{width:100%;padding:1rem;font-size:1rem;margin-bottom:2rem}.error-message[data-v-298c59cf]{color:var(--warning);padding:1rem;background-color:#ff6b6b1a;border-radius:4px;margin-bottom:1.5rem}.info-text[data-v-298c59cf]{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.drawer-overlay[data-v-14bc9a9e]{position:fixed;top:0;bottom:0;left:0;right:400px;background:linear-gradient(to right,rgba(0,0,0,.2),transparent);z-index:100;pointer-events:none}@keyframes slideLeft-14bc9a9e{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer[data-v-14bc9a9e]{position:fixed;top:0;bottom:0;right:0;width:400px;background-color:var(--bg-primary);border-left:1px solid var(--border);display:flex;flex-direction:column;animation:slideLeft-14bc9a9e .15s ease-out;box-shadow:-4px 0 16px #0000004d;z-index:101;pointer-events:auto}.drawer-header[data-v-14bc9a9e]{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--border);flex-shrink:0;gap:1rem}.drawer-header h2[data-v-14bc9a9e]{margin:0;color:var(--accent-primary);font-size:1.2rem;line-height:1.4;word-break:break-word;flex:1}.close-btn[data-v-14bc9a9e]{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:0;width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s,color .15s;flex-shrink:0}.close-btn[data-v-14bc9a9e]:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.drawer-content[data-v-14bc9a9e]{flex:1;overflow-y:auto;padding:1.5rem}.header-section[data-v-14bc9a9e]{margin-bottom:2rem}.meta-row[data-v-14bc9a9e]{display:flex;gap:1rem;margin-bottom:.75rem;align-items:flex-start}.label[data-v-14bc9a9e]{color:var(--text-secondary);font-weight:500;min-width:120px;flex-shrink:0}.value[data-v-14bc9a9e]{color:var(--text-primary);word-break:break-word;flex:1}.dnf-badge[data-v-14bc9a9e]{display:inline-block;padding:.25rem .75rem;background-color:#ff6b6b33;color:var(--warning);border-radius:12px;font-size:.85rem;font-weight:600}.notes-section[data-v-14bc9a9e]{margin-bottom:2rem}.notes-section h3[data-v-14bc9a9e]{margin:0 0 1rem;color:var(--accent-primary);font-size:1rem}.notes-content[data-v-14bc9a9e]{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:1rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto;font-size:.9rem}.metadata-section[data-v-14bc9a9e]{margin-bottom:1rem}.collapsible-header[data-v-14bc9a9e]{width:100%;background:none;border:1px solid var(--border);border-radius:4px;padding:1rem;color:var(--accent-primary);font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .15s}.collapsible-header[data-v-14bc9a9e]:hover{background-color:var(--bg-secondary)}.toggle-icon[data-v-14bc9a9e]{font-size:.75rem;opacity:.7}.metadata-content[data-v-14bc9a9e]{background-color:var(--bg-secondary);border:1px solid var(--border);border-top:none;border-radius:0 0 4px 4px;padding:1rem}.metadata-content .meta-row[data-v-14bc9a9e]{margin-bottom:.5rem}.drawer-footer[data-v-14bc9a9e]{padding:1.5rem;border-top:1px solid var(--border);flex-shrink:0}.edit-button[data-v-14bc9a9e]{width:100%;padding:.75rem;background-color:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:opacity .15s}.edit-button[data-v-14bc9a9e]:hover{opacity:.9}.form-wrapper[data-v-17fcaf9d]{width:100%;height:100%;background-color:var(--bg-primary);display:flex;flex-direction:column}.form-header[data-v-17fcaf9d]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.form-header h1[data-v-17fcaf9d]{margin:0;color:var(--accent-primary);font-size:1.8rem}.error-banner[data-v-17fcaf9d]{background-color:#ff6b6b1a;color:var(--warning);padding:1rem;border-bottom:1px solid var(--warning);font-size:.9rem}.cancel-btn[data-v-17fcaf9d]{background-color:transparent;border:1px solid var(--accent-primary);color:var(--accent-primary);padding:.5rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:600;transition:all .15s}.cancel-btn[data-v-17fcaf9d]:hover{background-color:var(--accent-primary);color:var(--bg-primary)}.form-content[data-v-17fcaf9d]{flex:1;overflow-y:auto;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.form-section[data-v-17fcaf9d]{margin:0 auto;max-width:700px}.notes-section[data-v-17fcaf9d]{max-width:1500px;text-align:center}.notes-section .form-textarea[data-v-17fcaf9d]{max-width:100%}.form-section[data-v-17fcaf9d]{margin-bottom:2rem}.form-section[data-v-17fcaf9d]:last-of-type{margin-bottom:1rem}.form-label[data-v-17fcaf9d]{display:block;margin-bottom:1rem}.label-text[data-v-17fcaf9d]{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.9rem}.form-input[data-v-17fcaf9d],.form-textarea[data-v-17fcaf9d]{width:100%;padding:.75rem;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.95rem;transition:border-color .15s}.form-input[data-v-17fcaf9d]:focus,.form-textarea[data-v-17fcaf9d]:focus{outline:none;border-color:var(--accent-primary)}.form-textarea[data-v-17fcaf9d]{resize:vertical;min-height:300px;line-height:1.5;overflow:hidden}.form-checkbox[data-v-17fcaf9d]{width:18px;height:18px;cursor:pointer;margin-right:.75rem;vertical-align:middle}.form-label[data-v-17fcaf9d]:has(.form-checkbox){display:flex;align-items:center;margin-bottom:1rem}.form-label:has(.form-checkbox) .label-text[data-v-17fcaf9d]{margin:0;font-weight:400;display:inline}.autocomplete-wrapper[data-v-17fcaf9d]{position:relative}.autocomplete-dropdown[data-v-17fcaf9d]{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-secondary);border:1px solid var(--border);border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:10}.autocomplete-item[data-v-17fcaf9d]{padding:.75rem;cursor:pointer;color:var(--text-primary);transition:background-color .15s}.autocomplete-item[data-v-17fcaf9d]:hover{background-color:var(--bg-hover)}.section-title[data-v-17fcaf9d]{margin:0 0 1rem;color:var(--accent-primary);font-size:.95rem;font-weight:600}.metadata-form[data-v-17fcaf9d]{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:1rem;margin-bottom:1rem}.metadata-form .form-label[data-v-17fcaf9d]{margin-bottom:.75rem}.error-message[data-v-17fcaf9d]{color:var(--warning);font-size:.85rem;margin-top:.25rem}.form-footer[data-v-17fcaf9d]{display:flex;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--border);flex-shrink:0;background-color:var(--bg-secondary);justify-content:flex-end;margin:0 auto;width:100%;max-width:700px}.btn-cancel[data-v-17fcaf9d],.btn-save[data-v-17fcaf9d]{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-weight:600;cursor:pointer;transition:all .15s;font-size:.95rem}.btn-cancel[data-v-17fcaf9d]{background-color:transparent;color:var(--text-primary)}.btn-cancel[data-v-17fcaf9d]:hover{background-color:var(--bg-hover)}.btn-save[data-v-17fcaf9d]{background-color:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.btn-save[data-v-17fcaf9d]:hover:not(:disabled){opacity:.9}.btn-save[data-v-17fcaf9d]:disabled{opacity:.5;cursor:not-allowed}.book-list-container[data-v-8cba3b9a]{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--bg-primary)}.header[data-v-8cba3b9a]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}h1[data-v-8cba3b9a]{color:var(--accent-primary);margin:0;font-size:1.8rem}.header-actions[data-v-8cba3b9a]{display:flex;gap:1rem;align-items:center}.add-btn[data-v-8cba3b9a]{background-color:var(--accent-primary);color:var(--bg-primary);border:none;width:40px;height:40px;border-radius:4px;font-size:1.5rem;font-weight:600;cursor:pointer;transition:opacity .15s;display:flex;align-items:center;justify-content:center}.add-btn[data-v-8cba3b9a]:hover{opacity:.9}.logout-btn[data-v-8cba3b9a]{background-color:transparent;border:1px solid var(--accent-primary);color:var(--accent-primary);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.logout-btn[data-v-8cba3b9a]:hover{background-color:var(--accent-primary);color:var(--bg-primary)}.content[data-v-8cba3b9a]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.loading[data-v-8cba3b9a]{color:var(--text-secondary)}.error[data-v-8cba3b9a]{color:var(--warning)}.empty[data-v-8cba3b9a]{color:var(--text-secondary)}.table-wrapper[data-v-8cba3b9a]{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem}.controls[data-v-8cba3b9a]{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}.search-bar[data-v-8cba3b9a]{display:flex;align-items:center;gap:1rem;flex:1}.search-input[data-v-8cba3b9a]{flex:1;padding:.75rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:1rem}.search-input[data-v-8cba3b9a]::placeholder{color:var(--text-secondary)}.row-count[data-v-8cba3b9a]{color:var(--text-secondary);font-size:.9rem;white-space:nowrap}.filters[data-v-8cba3b9a]{display:flex;gap:1rem;align-items:center}.filter-group[data-v-8cba3b9a]{display:flex;align-items:center;gap:.5rem}.filter-group label[data-v-8cba3b9a]{color:var(--text-primary);font-size:.9rem;font-weight:500;white-space:nowrap}.filter-select[data-v-8cba3b9a]{padding:.5rem .75rem;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:border-color .15s}.filter-select[data-v-8cba3b9a]:hover{border-color:var(--accent-primary)}.filter-select[data-v-8cba3b9a]:focus{outline:none;border-color:var(--accent-primary)}.checkbox-label[data-v-8cba3b9a]{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-primary);font-size:.9rem;-webkit-user-select:none;user-select:none}.checkbox-label input[data-v-8cba3b9a]{cursor:pointer}.table-scroll[data-v-8cba3b9a]{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:4px}.books-table[data-v-8cba3b9a]{width:100%;border-collapse:collapse;background-color:var(--bg-secondary);font-size:.95rem}.books-table thead[data-v-8cba3b9a]{background-color:var(--bg-tertiary);border-bottom:2px solid var(--border)}.books-table th[data-v-8cba3b9a]{padding:1rem;text-align:left;color:var(--accent-primary);font-weight:600;-webkit-user-select:none;user-select:none}.books-table th.sortable[data-v-8cba3b9a]{cursor:pointer}.header-cell[data-v-8cba3b9a]{display:flex;align-items:center;gap:.5rem}.sort-indicator[data-v-8cba3b9a]{font-size:.7rem;opacity:.7}.books-table tbody tr[data-v-8cba3b9a]{border-bottom:1px solid var(--border);transition:background-color .15s;cursor:pointer}.books-table tbody tr.audiobook[data-v-8cba3b9a]{background-color:#a855f714}.books-table tbody tr.audiobook[data-v-8cba3b9a]:hover{background-color:#a855f726}.books-table tbody tr[data-v-8cba3b9a]:not(.audiobook):hover{background-color:var(--bg-hover)}.books-table tbody tr[data-v-8cba3b9a]:last-child{border-bottom:none}.books-table td[data-v-8cba3b9a]{padding:1rem;color:var(--text-primary)}.duration-cell[data-v-8cba3b9a],.pages-cell[data-v-8cba3b9a],.boolean-cell[data-v-8cba3b9a]{text-align:center}.badge[data-v-8cba3b9a]{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.badge.audiobook[data-v-8cba3b9a]{background-color:#00d9ff33;color:var(--accent-primary)}.badge.dnf[data-v-8cba3b9a]{background-color:#ff6b6b33;color:var(--warning)}.actions-cell[data-v-8cba3b9a]{display:flex;gap:.5rem;justify-content:center;align-items:center}.action-btn[data-v-8cba3b9a]{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:.3rem .4rem;cursor:pointer;font-size:1rem;color:var(--accent-primary);opacity:.7;transition:all .15s;display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0}.action-btn[data-v-8cba3b9a]:hover{opacity:1;background-color:var(--bg-hover)}.delete-btn[data-v-8cba3b9a]{color:var(--warning)}.toast-notification[data-v-8cba3b9a]{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:1rem 1.5rem;border-radius:4px;font-weight:500;z-index:300;animation:slideDown-8cba3b9a .3s ease-out;max-width:90%}@keyframes slideDown-8cba3b9a{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.toast-notification.success[data-v-8cba3b9a]{background-color:#51cf66e6;color:#fff;box-shadow:0 4px 12px #51cf664d}.toast-notification.delete[data-v-8cba3b9a]{background-color:#ff6b6be6;color:#fff;box-shadow:0 4px 12px #ff6b6b4d;display:flex;align-items:center;gap:1rem}.undo-btn[data-v-8cba3b9a]{background-color:#fff3;border:1px solid #fff;color:#fff;padding:.4rem .8rem;border-radius:3px;cursor:pointer;font-weight:600;font-size:.85rem;transition:background-color .15s}.undo-btn[data-v-8cba3b9a]:hover{background-color:#ffffff4d}.callback-container[data-v-eda61f60]{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}.error[data-v-eda61f60]{color:var(--warning)}.app[data-v-6d61e3c0]{width:100%;height:100%}:root{--bg-primary: #0a1123;--bg-secondary: #1a2a3a;--bg-hover: #2a3a4a;--text-primary: #f5f5f5;--text-secondary: #a0a0a0;--accent-primary: #00d9ff;--accent-secondary: #a855f7;--warning: #ff6b6b;--success: #51cf66;--border: #2a3a4a;--shadow: rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}#app{width:100%;height:100vh}button{padding:.5rem 1rem;border:none;border-radius:4px;background-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;cursor:pointer;transition:opacity .2s}button:hover{opacity:.8}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{padding:.5rem;border:1px solid var(--border);border-radius:4px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:1rem}input:focus,textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #00d9ff1a}
