:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{color:#fff;background-color:#000;margin:0}html,body,#root{width:100%;height:100%}*{box-sizing:border-box;margin:0;padding:0}body{color:#fff;background-color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{background-color:#000;min-height:100vh}.password-container{background:linear-gradient(135deg,#000 0%,#1a1a1a 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.password-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#141414cc;border:1px solid #333;border-radius:16px;flex-direction:column;gap:2rem;width:100%;max-width:420px;padding:3rem;display:flex}.password-form h1{text-align:center;letter-spacing:3px;color:#fff;font-size:2rem;font-weight:300}.password-input-wrapper{gap:.75rem;display:flex}.password-input{color:#fff;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;flex:1;padding:.875rem 1rem;font-size:1rem;transition:all .3s}.password-input:focus{background-color:#ffffff14;border-color:#ffffff4d;outline:none}.password-submit{color:#000;cursor:pointer;background-color:#fff;border:none;border-radius:10px;padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.password-submit:hover{background-color:#f0f0f0;transform:translateY(-2px);box-shadow:0 10px 20px #ffffff1a}.password-error{color:#ff6b6b;text-align:center;background-color:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.app-container{background-color:#000;max-width:1400px;margin:0 auto;padding:2.5rem}.header{margin-bottom:3rem}.header h1{letter-spacing:2px;color:#fff;margin-bottom:.5rem;font-size:2.5rem;font-weight:300}.header p{color:#999;letter-spacing:.5px;font-size:.95rem}.controls{gap:1rem;margin-bottom:2rem;display:flex}.filter-section{background-color:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}.search-bar-wrapper{display:flex}.search-bar{color:#fff;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;flex:1;padding:.875rem 1rem;font-size:.95rem;transition:all .3s}.search-bar::placeholder{color:#666}.search-bar:focus{background-color:#ffffff14;border-color:#ffffff4d;outline:none}.rating-filters{flex-wrap:wrap;gap:1.5rem;display:flex}.filter-group{flex-direction:column;gap:.5rem;min-width:200px;display:flex}.filter-group label{text-transform:uppercase;letter-spacing:.5px;color:#999;font-size:.85rem;font-weight:600}.filter-select{color:#fff;cursor:pointer;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:.75rem 1rem;font-size:.95rem;transition:all .3s}.filter-select:hover{background-color:#ffffff14;border-color:#fff3}.filter-select:focus{background-color:#ffffff14;border-color:#ffffff4d;outline:none}.filter-select option{color:#fff;background-color:#1a1a1a}.btn{color:#000;cursor:pointer;letter-spacing:.5px;background-color:#fff;border:none;border-radius:10px;padding:.875rem 2rem;font-size:.95rem;font-weight:600;transition:all .3s}.btn:hover:not(:disabled){background-color:#f0f0f0;transform:translateY(-2px);box-shadow:0 10px 25px #ffffff26}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#fff;background-color:#0000;border:1.5px solid #fff3;font-weight:500}.btn-secondary:hover:not(:disabled){background-color:#ffffff0d;border-color:#ffffff80}.btn-delete{color:#ff6b6b;background-color:#ff6b6b1a;border:1.5px solid #ff6b6b4d;font-weight:500}.btn-delete:hover:not(:disabled){background-color:#ff6b6b26;border-color:#ff6b6b99}.btn-logout{color:#999;background-color:#0000;border:1.5px solid #fff3;padding:.75rem 1.5rem;font-size:.875rem}.btn-logout:hover:not(:disabled){color:#fff;background-color:#ffffff0d;border-color:#fff6}.table-wrapper{background-color:#000;overflow-x:auto}.song-table{border-collapse:collapse;width:100%;font-size:.95rem}.song-table thead{border-bottom:1px solid #ffffff1a}.song-table th{text-align:left;text-transform:uppercase;letter-spacing:1.5px;color:#999;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:1.25rem 1rem;font-size:.75rem;font-weight:600;transition:color .2s}.song-table th:hover{color:#fff}.song-table th.sortable:after{content:" ↕";opacity:.3;margin-left:.5rem}.song-table th.sortable.asc:after{content:" ↑";opacity:1}.song-table th.sortable.desc:after{content:" ↓";opacity:1}.song-table tbody tr{cursor:pointer;border-bottom:1px solid #ffffff0d;transition:background-color .2s}.song-table tbody tr:hover{background-color:#ffffff08}.song-table td{white-space:nowrap;padding:1.25rem 1rem}.song-thumbnail{color:#666;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:inline-flex;overflow:hidden}.song-thumbnail img{object-fit:cover;width:100%;height:100%}.song-thumbnail .placeholder{opacity:.4;font-size:1.5rem}.song-title{color:#fff;font-weight:600}.song-table th.rating-cell{text-align:center}.song-table td.rating-cell{text-align:center;color:#ccc;font-weight:500}.rating-cell{color:#ccc;font-weight:500}.action-btn{color:#fff;cursor:pointer;background-color:#0000;border:1.5px solid #fff3;border-radius:8px;padding:.6rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s}.action-btn:hover:not(:disabled){background-color:#ffffff0d;border-color:#ffffff80;transform:translateY(-1px)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:#141414f2;border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:600px;max-height:90vh;padding:2.5rem;overflow-y:auto}.modal-header{margin-bottom:2rem}.modal-header h2{margin-bottom:.25rem;font-size:1.75rem;font-weight:600}.modal-header p{color:#999;font-size:.95rem}.modal-close{float:right;color:#999;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .2s}.modal-close:hover:not(:disabled){color:#fff}.form-group{margin-bottom:1.5rem}.form-group label{text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea{color:#fff;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:.95rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{background-color:#ffffff14;border-color:#ffffff4d;outline:none}.form-group textarea{resize:vertical;min-height:120px}.file-input{display:none}.file-input-label{cursor:pointer;text-align:center;color:#999;background-color:#ffffff0d;border:1.5px dashed #fff3;border-radius:10px;padding:.875rem 1rem;font-size:.95rem;transition:all .3s;display:block}.file-input-label:hover{background-color:#ffffff14;border-color:#fff6}.file-input-label.has-file{color:#fff;background-color:#ffffff14;border-style:solid;border-color:#ffffff4d}.detail-container{max-width:800px;margin:0 auto}.detail-thumbnail{color:#666;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:220px;height:220px;margin-bottom:2.5rem;display:flex;overflow:hidden}.detail-thumbnail img{object-fit:cover;width:100%;height:100%}.detail-thumbnail .placeholder{opacity:.3;font-size:4rem}.detail-info{margin-bottom:2.5rem}.detail-info h2{color:#fff;margin-bottom:.5rem;font-size:2rem;font-weight:600}.detail-info p{color:#999;margin-bottom:.5rem;font-size:.95rem}.detail-links{flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;display:flex}.detail-links a{color:#fff;background-color:#0000;border:1.5px solid #fff3;border-radius:10px;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.detail-links a:hover{background-color:#ffffff0d;border-color:#ffffff80;transform:translateY(-2px)}.detail-lyrics{margin-top:2.5rem}.detail-lyrics h3{text-transform:uppercase;letter-spacing:1px;color:#fff;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.lyrics-content{white-space:pre-wrap;word-wrap:break-word;color:#ccc;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1.75rem;font-size:.95rem;line-height:1.8}.no-lyrics{color:#666;text-align:center;padding:2rem;font-style:italic}.back-btn{color:#fff;background-color:#0000;border:1.5px solid #fff3;border-radius:10px;margin-bottom:2rem;padding:.875rem 1.5rem;font-weight:500;transition:all .3s}.back-btn:hover{background-color:#ffffff0d;border-color:#ffffff80;transform:translateY(-2px)}.song-count{text-align:right;color:#999;border-top:1px solid #ffffff1a;margin-top:1.5rem;padding:1rem;font-size:.9rem}@media (width<=768px){.app-container{padding:1.5rem}.header h1{font-size:1.75rem}.header{margin-bottom:1.5rem}.header>div{flex-direction:column;align-items:flex-start;gap:1rem}.btn-logout{width:100%}.controls{flex-direction:column}.btn{width:100%}.filter-section,.rating-filters{flex-direction:column}.filter-group{width:100%;min-width:auto}.song-table{font-size:.85rem}.song-table th,.song-table td{padding:.875rem .5rem}.modal{max-width:90%;padding:1.5rem}.detail-thumbnail{width:150px;height:150px}.detail-info h2{font-size:1.5rem}.detail-links{flex-direction:column}.detail-links a,.btn{justify-content:center;width:100%}}
