:root{--color-bg:#fff;--color-panel:#fff;--color-border:#eaeaea;--color-hover:#fdfbf7;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-soft:0 10px 30px #0000000a;--shadow-hover:0 14px 40px #00000014}.repertoire-page{background-color:var(--color-bg);min-height:100vh;padding:60px 24px 100px}.app-header{text-align:center;margin-bottom:50px}.tagline{letter-spacing:2px;color:var(--color-noble-gold);text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:700;display:block}.title{letter-spacing:2px;color:var(--color-rich-black);text-transform:uppercase;margin-bottom:12px;font-size:clamp(2rem,4vw,2.8rem);font-weight:400}.subtitle{color:var(--color-soft-grey);font-size:1.1rem}.container{max-width:1300px;margin:0 auto}.app-grid{grid-template-columns:1fr;gap:30px;display:grid}h2{color:var(--color-rich-black);letter-spacing:-.5px;margin-bottom:16px;font-size:2.2rem;font-weight:400}@media (width>=992px){.app-grid{grid-template-columns:280px 1fr 340px;align-items:start}}.panel{background:var(--color-panel);border-radius:var(--radius-md);border:1px solid var(--color-noble-gold);box-shadow:var(--shadow-soft);padding:32px}@media (width>=992px){.filter-panel,.setlist-panel{max-height:calc(100vh - 120px);position:sticky;top:100px;overflow-y:auto}.panel::-webkit-scrollbar{width:6px}.panel::-webkit-scrollbar-thumb{background:#bda3654d;border-radius:4px}}.panel-title{font-family:var(--font-body);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-rich-black);text-align:center;border-bottom:1px solid var(--color-border);margin:0 0 24px;padding-bottom:16px;font-size:1.2rem;font-weight:500}.filter-group{flex-direction:column;gap:16px;display:flex}.custom-select,.search-input,.custom-input{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;font-family:var(--font-body);color:var(--color-rich-black);outline:none;padding:14px 16px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.custom-select:focus,.search-input:focus,.custom-input:focus{border-color:var(--color-noble-gold);box-shadow:0 0 0 3px #bda3651a}.search-wrapper{margin-bottom:24px}.search-input{border-radius:var(--radius-md);border-color:var(--color-noble-gold);padding:18px 24px;font-size:1.05rem}.loader{text-align:center;color:var(--color-soft-grey);padding:40px;font-style:italic;display:none}.song-list{flex-direction:column;gap:12px;display:flex}.song-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:16px 20px;transition:all .2s;display:flex}.song-item:hover{border-color:#bda36566;box-shadow:0 4px 12px #00000008}.song-info{flex-direction:column;gap:4px;display:flex}.song-title-wrapper{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.song-title{font-family:var(--font-body);color:var(--color-rich-black);font-size:1.05rem;font-weight:600}.song-artist{font-family:var(--font-body);color:var(--color-soft-grey);font-size:.9rem}.lang-badge{border:1px solid var(--color-noble-gold);color:var(--color-noble-gold);font-family:var(--font-body);text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.song-actions{align-items:center;gap:12px;display:flex}.action-btn{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:40px;height:40px;padding:0;transition:all .2s;justify-content:center!important;align-items:center!important;display:flex!important}.btn-play{border:1px solid var(--color-noble-gold);color:var(--color-noble-gold);background:0 0}.btn-play:hover{background:var(--color-noble-gold);color:var(--color-pure-white)}.btn-play svg{fill:currentColor;width:14px;height:14px;margin-left:3px}.btn-add{background:var(--color-rich-black);color:var(--color-pure-white)}.btn-add:hover{background:#333;transform:scale(1.05)}.btn-add svg{fill:currentColor;width:20px;height:20px}.song-item.selected{background-color:var(--color-noble-gold);border-color:var(--color-noble-gold)}.song-item.selected .song-title,.song-item.selected .song-artist{color:var(--color-pure-white)}.song-item.selected .lang-badge,.song-item.selected .btn-play{color:var(--color-pure-white);border-color:#fff9}.song-item.selected .btn-play:hover{background:#fff3}.song-item.selected .btn-add{border:1px solid var(--color-pure-white);background:0 0}.selected-list{max-height:40vh;margin:0;padding:0;list-style:none;overflow-y:auto}.selected-list::-webkit-scrollbar{width:4px}.selected-list::-webkit-scrollbar-thumb{background:#eaeaea;border-radius:4px}.selected-list li{border-bottom:1px solid var(--color-border);font-family:var(--font-body);color:var(--color-rich-black);justify-content:space-between;align-items:center;padding:12px 0;font-size:.95rem;font-weight:500;display:flex}.selected-list li.empty-state{color:var(--color-soft-grey);border:none;justify-content:center;padding-top:20px;font-style:italic;font-weight:400}.btn-remove{color:var(--color-soft-grey);cursor:pointer;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:4px 8px;font-size:1.1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:none!important;background:0 0!important;border:none!important}.btn-remove:hover{color:#e63946;background-color:#e639461a!important}.custom-song-section{border-top:1px solid var(--color-border);margin-top:24px;padding-top:24px}.custom-song-label{font-family:var(--font-body);text-transform:uppercase;color:var(--color-rich-black);font-size:.85rem;font-weight:600;display:block}.custom-song-hint{font-family:var(--font-body);color:var(--color-soft-grey);margin-top:4px;margin-bottom:12px;font-size:.75rem;display:block}.custom-input{margin-bottom:12px}.summary-box{background:var(--color-hover);border-radius:var(--radius-sm);text-align:center;border:1px solid #bda36526;margin:24px 0;padding:16px}.summary-label{font-family:var(--font-body);color:var(--color-soft-grey);text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:600;display:block}.summary-value{font-family:var(--font-body);color:var(--color-noble-gold);font-size:1.8rem;font-weight:500}.btn{border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:none;border:none;padding:14px;font-size:.9rem;font-weight:600;transition:all .2s}.btn-dark{background:var(--color-rich-black);color:var(--color-pure-white)}.btn-dark:hover{background:#333}.btn-primary{background:var(--color-noble-gold);color:var(--color-pure-white);border-radius:99px}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #bda3654d}.mobile-sticky-bar{background:var(--color-rich-black);color:var(--color-pure-white);z-index:999;justify-content:space-between;align-items:center;padding:16px 24px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 20px #0000001a}@media (width>=992px){.mobile-sticky-bar{display:none!important}}.mobile-stats{font-family:var(--font-body);flex-direction:column;gap:4px;display:flex}.stat-item{color:#aaa;text-transform:uppercase;font-size:.8rem}.stat-item strong{color:var(--color-noble-gold);margin-left:4px;font-size:1.1rem}.btn-small{width:auto;padding:10px 24px;font-size:.8rem}.toast{background:var(--color-rich-black);color:var(--color-pure-white);font-family:var(--font-body);letter-spacing:.5px;opacity:0;visibility:hidden;z-index:10000;border-radius:99px;padding:16px 28px;font-size:.95rem;font-weight:500;transition:all .3s;position:fixed;bottom:30px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 10px 30px #0003}.toast.show{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.video-modal{backdrop-filter:blur(8px);z-index:100000;opacity:0;visibility:hidden;background:#0a0a0af2;justify-content:center;align-items:center;padding:20px;transition:all .3s;display:flex;position:fixed;inset:0}.video-modal.show{opacity:1;visibility:visible}.video-close{color:var(--color-pure-white);cursor:pointer;z-index:100001;background:0 0;border:none;font-size:3rem;font-weight:300;transition:color .2s;position:absolute;top:20px;right:30px}.video-close:hover{color:var(--color-noble-gold)}.video-wrapper{border-radius:var(--radius-md);background:#000;width:100%;max-width:900px;padding-bottom:56.25%;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.video-wrapper iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}
