:root{--primary-color:#8c2b5f;--bg-color:#1a0811;--bg-surface:#8c2b5f0d;--bg-surface-hover:#8c2b5f26;--text-primary:#fff;--text-secondary:#a0a0a0;--accent:#d24286;color:var(--text-primary);background-color:var(--bg-color);box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif}*,:before,:after{box-sizing:inherit}body{background:radial-gradient(circle at 50% 0,#3a1125,#1a0811 60%);flex-direction:column;min-height:100vh;margin:0;padding:0;display:flex}#root{flex-direction:column;width:100%;height:100vh;display:flex}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-surface-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.glass-panel{-webkit-backdrop-filter:blur(16px);background:#19191e99;border-top:1px solid #ffffff1a}.app-container{flex-direction:column;height:100vh;padding-bottom:90px;display:flex;overflow:hidden}.header{z-index:10;padding:24px 32px;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;display:flex}.title{background:linear-gradient(90deg,#fff,#a0a0a0);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;margin:0;font-size:32px;font-weight:800}.search-container{width:300px;position:relative}.search-input{background-color:var(--bg-surface);width:100%;color:var(--text-primary);border:1px solid #ffffff1a;border-radius:20px;outline:none;padding:10px 16px 10px 40px;font-size:14px;transition:all .2s}.search-input:focus{background-color:var(--bg-surface-hover);border-color:#ffffff4d}.search-icon{color:var(--primary-color);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.main-content{flex:1;padding:0 32px 32px;overflow-y:auto}.songs-table{border-collapse:collapse;width:100%}.songs-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;background-color:var(--bg-color);z-index:5;border-bottom:1px solid #ffffff1a;padding:8px 16px;font-size:12px;font-weight:500;position:sticky;top:66px}.songs-table td{border-bottom:1px solid #ffffff0d;padding:12px 16px;font-size:14px;transition:background-color .2s}.song-row{cursor:pointer;border-radius:8px}.song-row:hover td{background-color:var(--bg-surface)}.song-row.active td{background-color:var(--bg-surface-hover);color:var(--primary-color)}.td-no{width:5%;color:var(--text-secondary)}.td-title{width:45%;font-weight:500}.td-composer{width:45%;color:var(--text-secondary)}.song-row.active .td-title,.song-row.active .td-no,.song-row.active .td-composer{color:var(--primary-color)}.loading-state,.error-state{height:50vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.error-state{color:#ff5252}.header-logo{object-fit:contain;background-color:#fff;border-radius:4px;height:44px;padding:2px 8px}.sticky-tabs{z-index:10;background-color:var(--bg-color);margin-bottom:8px;padding-top:24px;position:sticky;top:0}.player-container{z-index:100;justify-content:space-between;align-items:center;height:90px;padding:0 24px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0006}.player-info{align-items:center;width:30%;min-width:180px;display:flex}.song-details{flex-direction:column;justify-content:center;display:flex}.song-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:14px;font-weight:600;overflow:hidden}.song-composer{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.player-controls-wrapper{flex-direction:column;justify-content:center;align-items:center;width:40%;max-width:722px;display:flex}.audio-element{outline:none;width:100%;height:40px}audio::-webkit-media-controls-panel{background-color:#ffffff0d}audio::-webkit-media-controls-play-button{filter:invert(21%)sepia(54%)saturate(2256%)hue-rotate(301deg)brightness(93%)contrast()}audio::-webkit-media-controls-mute-button{filter:invert(21%)sepia(54%)saturate(2256%)hue-rotate(301deg)brightness(93%)contrast()}audio::-webkit-media-controls-timeline{filter:invert(21%)sepia(54%)saturate(2256%)hue-rotate(301deg)brightness(93%)contrast()}audio::-webkit-media-controls-current-time-display{filter:invert(21%)sepia(54%)saturate(2256%)hue-rotate(301deg)brightness(93%)contrast()}audio::-webkit-media-controls-time-remaining-display{filter:invert(21%)sepia(54%)saturate(2256%)hue-rotate(301deg)brightness(93%)contrast()}audio::-webkit-media-controls-volume-slider{filter:invert(21%)sepia(54%)saturate(2256%)hue-rotate(301deg)brightness(93%)contrast()}.player-extra{justify-content:flex-end;width:30%;min-width:180px;display:flex}.empty-state{width:100%;height:100%;color:var(--text-secondary);justify-content:center;align-items:center;font-size:14px;display:flex}.tabs-container{border-bottom:2px solid #ffffff1a;gap:8px;margin-bottom:24px;padding-bottom:0;display:flex;overflow-x:auto}.tab-button{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .3s;display:flex}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:#8c2b5f1a}.tab-button.tab-allotted{color:var(--text-secondary)}.tab-button.tab-allotted:hover{color:#10b981}.tab-button.tab-allotted.active{color:#10b981;background:#10b9811a;border-bottom-color:#10b981;box-shadow:0 0 12px #10b98133}.tab-button.tab-unallotted{color:var(--text-secondary)}.tab-button.tab-unallotted:hover{color:#ff6b6b}.tab-button.tab-unallotted.active{color:#ff6b6b;background:#ff6b6b1a;border-bottom-color:#ff6b6b;box-shadow:0 0 12px #ff6b6b33}.tab-label{font-weight:600}.tab-count{background:#ffffff1a;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.tab-button.tab-allotted.active .tab-count{color:#10b981;background:#10b9814d}.tab-button.tab-unallotted.active .tab-count{color:#ff6b6b;background:#ff6b6b4d}.tab-button.active .tab-count{color:var(--primary-color);background:#8c2b5f4d}
