*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f8fafc;color:#1e293b}.songbook-app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0}.app-header h1{font-size:20px;font-weight:600}.lang-selector{display:flex;gap:4px}.lang-btn{padding:6px 12px;border:1px solid #e2e8f0;background:#fff;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.lang-btn:hover{background:#f8fafc}.lang-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.app-main{display:flex;flex:1;overflow:hidden}.sidebar{width:320px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;padding:16px;gap:20px;overflow-y:auto;flex-shrink:0}.search-box .search-input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.search-box .search-input:focus{border-color:#2563eb}.filter-panel h3{font-size:14px;font-weight:600;margin-bottom:12px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.filter-checkbox{display:flex;align-items:center;gap:8px;padding:8px 0;cursor:pointer;font-size:14px}.filter-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#2563eb}.filter-select{display:flex;flex-direction:column;gap:4px;padding:8px 0;font-size:14px}.filter-select span{color:#64748b;font-size:12px;text-transform:uppercase}.filter-select select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;color:#1e293b;font-size:14px;cursor:pointer;outline:none}.filter-select select:focus{border-color:#2563eb}.songbook-preview{background:#f8fafc;border-radius:8px;padding:16px}.songbook-preview .preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.songbook-preview .preview-header h3{font-size:14px;font-weight:600}.songbook-preview .btn-collapse{padding:4px 8px;border:none;background:transparent;color:#64748b;font-size:12px;cursor:pointer}.songbook-preview .btn-collapse:hover{color:#2563eb}.songbook-preview.collapsed .preview-header{cursor:pointer;user-select:none}.songbook-preview .btn-clear{padding:4px 8px;border:none;background:transparent;color:#64748b;font-size:12px;cursor:pointer;margin-bottom:8px}.songbook-preview .btn-clear:hover{color:#2563eb}.songbook-preview .no-songs{text-align:center;color:#64748b;padding:20px 0;font-size:14px}.songbook-preview .preview-stats{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px}.songbook-preview .preview-stats .songs-count{font-weight:500}.songbook-preview .preview-stats .pages-count{color:#64748b}.songbook-preview .preview-list{max-height:200px;overflow-y:auto;margin-bottom:16px}@media(max-width:768px){.songbook-preview .preview-list{max-height:150px;scrollbar-width:none}.songbook-preview .preview-list::-webkit-scrollbar{display:none}}.songbook-preview .preview-item{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:13px;border-bottom:1px solid #e2e8f0;cursor:grab;transition:background .2s,opacity .2s}.songbook-preview .preview-item:last-child{border-bottom:none}.songbook-preview .preview-item:hover{background:#2563eb0d}.songbook-preview .preview-item.dragging{opacity:.5;background:#2563eb1a}.songbook-preview .preview-item .drag-handle{color:#64748b;cursor:grab;font-size:12px;user-select:none}.songbook-preview .preview-item .preview-num{color:#64748b;min-width:24px}.songbook-preview .preview-item .preview-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.songbook-preview .preview-item .move-buttons{display:flex;gap:2px}.songbook-preview .preview-item .btn-move{padding:2px 6px;border:1px solid #e2e8f0;background:#fff;border-radius:4px;cursor:pointer;font-size:10px;color:#64748b;transition:all .2s}.songbook-preview .preview-item .btn-move:hover:not(:disabled){background:#f8fafc;color:#2563eb;border-color:#2563eb}.songbook-preview .preview-item .btn-move:disabled{opacity:.3;cursor:not-allowed}.songbook-preview .generating{text-align:center}.songbook-preview .generating .progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:8px}.songbook-preview .generating .progress-fill{height:100%;background:#2563eb;transition:width .3s ease}.songbook-preview .generating span{font-size:12px;color:#64748b}.songbook-preview .btn-generate{width:100%;padding:12px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.songbook-preview .btn-generate:hover{background:#1d4ed8}.content{flex:1;overflow-y:auto;padding:16px}.song-list{display:flex;flex-direction:column;gap:4px}.song-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.song-item:hover{border-color:#2563eb;background:#2563eb05}.song-item.selected{border-color:#2563eb;background:#2563eb0d}.song-item .song-checkbox{width:20px;height:20px;accent-color:#2563eb;cursor:pointer}.song-item .song-info{flex:1;min-width:0}.song-item .song-info .song-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-item .song-info .song-author{font-size:12px;color:#64748b;margin-top:2px}.song-item .song-badges{display:flex;gap:4px}.song-item .song-badges .badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.song-item .song-badges .badge.image{background:#dbeafe;color:#1d4ed8}.song-item .song-badges .badge.score{background:#dcfce7;color:#15803d}.song-item .song-badges .badge.boomwhackers{background:#fef3c7;color:#b45309}.no-results{text-align:center;color:#64748b;padding:40px;font-size:14px}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:16px;color:#64748b}@media(max-width:768px){.app-main{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #e2e8f0;max-height:40vh;overflow-y:auto}.sidebar.collapsed{max-height:48px;overflow:hidden}.content{flex:1;overflow-y:auto;scrollbar-width:none}.content::-webkit-scrollbar{display:none}.song-list{display:grid;grid-template-columns:1fr;gap:8px;padding-bottom:20px}.song-item{padding:10px 12px}}
/*# sourceMappingURL=script.css.map */
