*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:#c0c0c0 #735290}*::-webkit-scrollbar{width:8px}*::-webkit-scrollbar-track{background:#735290}*::-webkit-scrollbar-thumb{background-color:silver;border-radius:4px;border:2px solid #735290}*::-webkit-scrollbar-thumb:hover{background:#a0a0a0}body{background:linear-gradient(to bottom right,#4b2c74,#735290 50%,#4b2c74);min-height:100vh;width:100%;background-attachment:fixed;color:#fff;font-family:Arial,sans-serif}h1,h2,h3,h4,h5,h6,p,li,div,span{color:#fff}a{color:#00a693;text-decoration:none}a:hover,a:focus{color:#fd5e53}button,.input-group button:last-child{background-color:#00a693;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s ease}button:hover,.input-group button:last-child:hover{background-color:#fd5e53}input[type=text],input[type=email],input[type=search],textarea{background-color:#363457;color:#fff;padding:10px;border-radius:5px;margin:0%}input[type=text]:focus,input[type=email]:focus,input[type=search]:focus,textarea:focus{outline:none;border-color:#fd5e53;box-shadow:0 0 0 2px #fd5e53}.search-bar-container-wrapper{position:relative;width:min(92vw,600px)}@media(min-width:768px){.search-bar-container-wrapper{width:40vw;min-width:500px}}.search-bar-container{display:flex;width:100%;box-sizing:border-box;align-items:center;background-color:#363457;border-radius:40px;padding:8px 16px;box-shadow:0 2px 4px #0003}.search-bar-container button{margin:0;align-self:center}.search-button:hover{color:#00a693}#search-icon{color:silver;margin-right:10px;margin-top:auto;margin-bottom:auto;font-size:1.8rem}#calendar-icon{color:silver;font-size:1.5rem;margin-top:auto;margin-bottom:auto}#calendar-icon:hover{color:#00a693}#btn-no-style{all:unset;display:flex;align-items:center;padding:2px;margin-right:5px}.search-input{flex-grow:1;background:transparent;border:none;color:#fff;font-size:1rem;padding:8px 0;height:100%}.search-input::placeholder{color:silver}.search-input:focus{outline:none;box-shadow:0 0 0 2px #00a693}.clear-button{all:unset;display:flex;align-items:center;cursor:pointer;color:silver;font-size:1.4rem;margin-left:8px}.clear-button:hover{color:#00a693}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;padding:6px;list-style:none;background-color:#363457;border-radius:10px;box-shadow:0 8px 16px #0000001a;max-height:360px;overflow-y:auto;z-index:20;text-align:left}.suggestion-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;cursor:pointer;color:#fff}.suggestion-item.active{background-color:#735290}.suggestion-icon{color:silver;font-size:1.2rem;flex:0 0 auto}.suggestion-name{font-weight:600}.suggestion-disambiguation{color:silver;font-size:.85rem;margin-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-status{padding:12px 14px;color:silver;font-style:italic}.artist-name-container{position:sticky;top:0;background-color:inherit;padding:20px 20px 20px 35px;z-index:10;border-radius:15px}@media(max-width:600px){.artist-name-container{padding:12px 16px}}.setlist-container{flex-grow:1;display:flex;flex-direction:column;padding-right:10px;transition:flex .3s ease}.setlist-container.active{flex:0 0 32%;display:flex;flex-direction:column;margin-right:10px;transition:flex-basis .3s ease,margin-right .3s ease}.setlist-scroll-wrapper{overflow-x:hidden;max-height:80vh;overflow-y:auto;border-radius:10px}.setlist-item{position:relative;display:flex;flex-direction:row;flex:1 1 auto;background-color:#735290;color:#fff;padding:15px;border-radius:10px;box-shadow:0 8px 16px #0000001a;width:100%;box-sizing:border-box;margin-bottom:20px;cursor:pointer}.setlist-item:hover{z-index:20}.setlist-item h2{display:flex;align-items:center;margin-left:auto}.setlist-date,.setlist-venue,.icon-music-note,.icon-tag{color:#fff}.setlist-date{display:flex;margin-right:8px;flex-direction:column;align-items:center;justify-content:center;height:100%;font-weight:700}@media(min-height:56px){.setlist-item{align-items:center}}.setlist-date span{display:block;text-align:center}.setlist-songs span{color:silver}.setlist-link{all:unset;color:#fd5e53;text-decoration:none;cursor:pointer}.setlist-link:hover{text-decoration:underline}@media(max-width:720px){.setlist-songs{display:none}.setlist-item{justify-content:space-between;padding:10px}.setlist-date{justify-content:center}}@media(max-width:768px){.setlist-container,.setlist-container.active{flex:0 0 auto;width:100%;margin-right:0}}.playlist-items-container{text-align:center}.buttons-container{display:flex;justify-content:center;margin-bottom:16px}.button{margin:0 10px;padding:8px 16px;border:none;border-radius:4px;background-color:#00a693;color:#fff;cursor:pointer;transition:background-color .2s ease}.button:hover{background-color:#008277}.playlist-songs ul{list-style:none;padding:0;margin:0}.playlist-songs{text-align:start;max-height:70vh;overflow-y:auto}.playlist-songs li{display:flex;align-items:center;justify-content:start;padding:8px;border-bottom:1px solid #ddd}.playlist-songs .album-image{width:50px;height:50px;margin-right:10px;object-fit:cover}.playlist-songs .track-details{flex-grow:1}.playlist-songs .track-name{font-weight:700;color:#fff}.playlist-songs .track-info{color:silver;font-style:italic}.playlist-songs .found-track{display:flex;align-items:center;padding:8px;border-bottom:1px solid #ddd}.missing-track{display:none;background-color:#fd5e53;padding:8px;display:flex;align-items:center;justify-content:start;text-indent:50px}@media(max-width:768px){.button{padding:6px 12px;font-size:.8rem}}.show-missing-tracks .missing-track{display:flex}.playlist-details{color:#fff;padding:16px;border-radius:10px;background-color:#363457;box-shadow:0 4px 8px #0003;margin-bottom:16px;text-align:center}.playlist-details h3{font-size:24px;margin-bottom:10px;color:#fff}.playlist-details p{font-size:16px;margin-bottom:20px;color:#fff}.album-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto 16px}.album-mosaic img{width:100px;height:100px;object-fit:cover}.spotify-link{display:inline-block;background-color:#1db954;color:#fff;text-decoration:none;padding:8px 16px;border-radius:20px;margin-bottom:20px;box-shadow:0 2px 5px #0003}.spotify-link:hover{background-color:#1a8547}.playlist-success{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;padding:16px;color:#fff}.success-badge{display:flex;font-size:48px;color:#00a693;margin-bottom:8px}.success-subtitle{color:silver;font-size:14px;margin-bottom:18px}.success-cover{display:grid;grid-template-columns:1fr 1fr;width:140px;height:140px;border-radius:10px;overflow:hidden;margin-bottom:16px;box-shadow:0 6px 14px #0000004d}.success-cover img{width:100%;height:100%;object-fit:cover}.success-name{font-size:18px;line-height:1.3;margin-bottom:4px}.success-count{color:silver;font-size:13px;margin-bottom:18px}.open-spotify{display:inline-flex;align-items:center;gap:10px;background-color:#1db954;color:#fff;font-size:16px;font-weight:700;padding:14px 28px;border-radius:28px;margin-bottom:14px}.open-spotify:hover{background-color:#1aa34a;color:#fff}.success-secondary{display:flex;gap:12px;margin-bottom:22px}.success-secondary button{display:inline-flex;align-items:center;gap:8px;background-color:#2c2a47;color:#fff;border:1px solid #4d4a70;padding:10px 16px;border-radius:10px;font-size:14px;cursor:pointer}.success-qr{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px}.success-qr>:first-child{background:#fff;padding:10px;border-radius:12px}.success-qr span{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center;color:silver;font-size:12px;max-width:240px}.build-another{display:inline-flex;align-items:center;gap:6px;background:none;color:#00a693;border:none;font-size:14px;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#735290;color:#fff;padding:20px 20px 0;border-radius:8px;width:90vw;max-width:600px;max-height:80%;display:flex;flex-direction:column;box-shadow:0 4px 8px #0003}.modal-body{overflow-y:auto;padding-bottom:20px}.modal-footer{text-align:center;padding:10px;border-top:1px solid #ccc;background-color:#735290;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.modal-content button{background-color:#6121c0;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;align-self:center}.modal-content button:hover{background-color:#500a9b}.named-set ul{padding-left:20px;margin-top:5px}.named-set li{text-align:left;list-style-type:none}.playlist-actions{display:flex;justify-content:center;align-items:center;padding:16px;background-color:#363457;border-radius:10px;margin-top:16px;box-shadow:0 2px 4px #0003}.playlist-actions .button{background-color:#00a693;color:#fff;border:none;border-radius:4px;padding:10px 20px;cursor:pointer;transition:background-color .2s ease-in-out}.playlist-actions .button:hover{background-color:#008277}.playlist-actions .checkbox-container{display:flex;align-items:center}.playlist-actions .checkbox-label{margin-right:10px;color:#fff}.playlist-actions input[type=checkbox]{accent-color:#00a693;margin-right:10px}.playlist-display{display:flex;flex-direction:row;align-items:center;background-color:#735290;color:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;padding:30px;max-height:80vh;overflow-y:auto}.playlist-info-card,.playlist-items{flex:1;padding:10px}@media(max-width:1280px){.playlist-display{flex-direction:column;align-items:center}.playlist-info-card,.playlist-items{width:100%;max-width:none;padding:10px 0}}@media(max-width:720px){.playlist-display{flex-direction:column;padding:8px}.playlist-info-card,.playlist-items{width:100%;padding:8px 0}}.playlist-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;text-align:center;color:#fff}.sheet-handle{display:none}@media(max-width:768px){.sheet-handle{display:block;flex:0 0 auto;width:44px;height:5px;margin:0 auto 12px;border-radius:3px;background:silver;cursor:pointer}}.admin-panel{display:flex;justify-content:center;padding:60px 16px}.admin-card{background:#363457;border-radius:12px;padding:28px;width:min(92vw,420px);box-shadow:0 4px 8px #0003}.admin-card h2{margin-bottom:8px}.admin-card p{color:silver;font-size:14px;margin-bottom:16px}.admin-status{margin-top:14px}.App{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;width:100%}.main-container{width:90%;height:auto;margin:auto;display:flex;flex-direction:column;align-items:center;min-width:400px;max-height:95vh;max-height:95dvh}.main-container.search-submitted{padding-top:15px}.main-content{display:flex;flex-direction:column;flex-grow:1;background-color:#8f75a6;padding:0 20px 20px;margin:40px auto;border-radius:15px;box-shadow:0 4px 8px #0003;height:95%;max-height:95vh;max-width:95vw;min-width:500px;width:90%;box-sizing:border-box}.setlist-playlist-container{display:flex;flex-direction:row;gap:16px;width:100%;height:100%}.playlist-display{flex:1;min-width:0;height:auto}.sheet-scrim{display:none}@media(max-width:1024px){.main-container,.artist-name-container{width:100%}.main-content{margin:20px auto;padding:10px;min-width:0}}@media(max-width:768px){.main-container{width:100%;min-width:0;height:100vh;height:100dvh;margin-top:10px}.main-content{margin:0;padding:8px;min-width:0;border-radius:10px}.setlist-playlist-container{flex-direction:column}.sheet-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}.playlist-display{position:fixed;left:0;right:0;bottom:0;z-index:50;max-height:88dvh;margin:0;border-radius:18px 18px 0 0;animation:sheet-up .28s ease}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000}.loading-text{color:#fff;margin-top:20px;font-size:1.2rem;display:flex;align-items:center}.animated-period{margin-left:2px;position:relative}.loading-icon{width:100px;height:100px}
