:root{--bg:#fff;--ink:#171a1f;--muted:#8a919c;--soft:#f3f5f7;--hover:#f7f9fb;--active:#edf4ff;--blue:#2563eb}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.4}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px clamp(18px,4vw,56px);background:#fff}header h1{margin:0;font-size:1.55rem;font-weight:850;letter-spacing:-.055em;line-height:1.05}header p{margin:5px 0 0;color:var(--muted);font-size:.76rem}.header-actions{display:flex;align-items:center;gap:8px}.admin-status{color:var(--muted);font-size:.72rem}.admin-btn,.btn-reset,.view-btn,.primary-btn,.secondary-btn,.assign-project-btn{border:0;border-radius:6px;padding:8px 12px;background:var(--soft);color:var(--ink);font-size:.76rem;font-weight:650;transition:background .16s,color .16s}.admin-btn:hover,.btn-reset:hover,.view-btn:hover,.secondary-btn:hover{background:#e9edf2}.primary-btn,.assign-project-btn{background:var(--blue);color:#fff}.primary-btn:hover,.assign-project-btn:hover{background:#1d4ed8}.license-info{max-width:none;margin:0;padding:14px clamp(18px,4vw,56px) 20px;color:var(--muted);font-size:.82rem;line-height:1.45}.license-info p{margin:0}.license-info strong{color:var(--ink)}.license-info .contact-btn{display:inline-block;margin:5px 0 0;color:var(--blue);font-weight:700;text-decoration:none}.filter-container{position:sticky;top:0;z-index:10;padding:12px clamp(18px,4vw,56px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}.top-controls,.bottom-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bottom-controls{margin-bottom:0}.top-controls input[type=text]{flex:1 1 320px}.filter-container input[type=text],.filter-container select{min-height:34px;padding:7px 10px;border:0;border-radius:6px;background:var(--soft);color:var(--ink);font-size:.75rem}.filter-container input:focus,.filter-container select:focus{outline:2px solid #dbeafe}.view-toggle{display:flex;gap:3px}.view-btn{padding:7px 10px;color:var(--muted)}.view-btn.active{background:var(--ink);color:#fff}.bpm-wrapper{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.74rem}input[type=range]{accent-color:var(--blue)}.music-list-shell{padding:0 clamp(18px,4vw,56px) 48px}.music-grid{padding:0}.music-grid.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;padding-top:18px}.music-list-header{display:grid;grid-template-columns:minmax(270px,1.75fr) minmax(220px,1.4fr) 64px minmax(120px,.9fr) minmax(140px,1fr) minmax(130px,1fr) 54px 94px;column-gap:12px;padding:12px 9px 8px;color:#a0a7b0;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.song-card{background:var(--bg);border:0;border-radius:8px;box-shadow:none;transition:background .16s ease}.song-card:hover{background:var(--hover);transform:none}.grid-view .song-card{padding:16px}.card-header{display:flex;justify-content:space-between;gap:10px}.card-header h3{margin:0;font-size:1rem;font-weight:750;letter-spacing:-.018em}.card-header small{color:var(--muted);font-size:.7rem}.tags{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.tag{padding:2px 6px;border:0;border-radius:4px;background:var(--soft);color:var(--muted);font-size:.65rem;font-weight:600}.tag-genre{background:#eef4ff;color:#3969b0}.tag-mood{background:#fff9e7;color:#8b6b13}.tag-project{background:#edf9f2;color:#24764d}.fav-star{color:#d89b00}.custom-player{display:flex;align-items:center;gap:8px;margin-top:12px;padding:6px 0;background:transparent;border:0}.play-btn{width:27px;height:27px;padding:0;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:.72rem}.timeline-container{position:relative;height:42px;min-width:160px;flex:1;overflow:hidden;border-radius:5px;background:#f0f2f5;cursor:pointer}.audio-waveform{position:absolute;inset:4px 5px;z-index:1;display:flex;align-items:center;gap:2px;padding:0;pointer-events:none}.audio-waveform i{display:block;flex:1;min-width:2px;max-height:100%;border-radius:2px;background:#aeb8c4}.timeline-progress{position:absolute;z-index:2;top:0;bottom:0;left:0;width:0;background:rgba(37,99,235,.2);border-right:2px solid var(--blue)}.time-display{min-width:42px;color:var(--muted);font-size:.68rem;text-align:right;font-variant-numeric:tabular-nums}.download-area{display:flex;gap:6px;margin-top:10px}.download-btn{flex:1;padding:6px 4px;border:0;border-radius:5px;background:var(--soft);color:var(--ink);text-align:center;text-decoration:none;font-size:.68rem;font-weight:700}.btn-wav{background:var(--ink);color:#fff}.music-grid.list-view{display:flex;flex-direction:column;gap:0}.song-card.list-item{display:grid;grid-template-columns:minmax(270px,1.75fr) minmax(220px,1.4fr) 64px minmax(120px,.9fr) minmax(140px,1fr) minmax(130px,1fr) 54px 94px;align-items:center;column-gap:12px;padding:9px;min-height:72px;border:0;border-radius:7px;box-shadow:none}.song-card.list-item:hover{background:var(--hover);transform:none}.song-card.list-item:has(.play-btn[aria-label="Pause"]){background:var(--active)}.list-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem}.title-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;white-space:normal;line-height:1.15}.song-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;font-weight:790;letter-spacing:-.018em}.artist-inline{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b8490;font-size:.72rem;font-weight:500}.year-cell,.genre-cell,.mood-cell,.project-cell,.bpm-cell{color:var(--muted)}.year-cell,.bpm-cell{font-variant-numeric:tabular-nums}.player-cell .custom-player{margin:0;padding:0}.player-cell .play-btn{width:28px;height:28px;flex:0 0 auto}.player-cell .timeline-container{height:42px;min-width:0}.download-cell .download-area{margin:0;gap:3px}.download-cell .download-btn{padding:6px 3px;font-size:.6rem}.admin-cell .assign-project-btn{width:100%;margin:0;padding:6px 4px;font-size:.6rem}.status-message{width:100%;padding:26px;text-align:center;color:var(--muted)}.modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.38)}.modal-content{position:relative;width:min(440px,100%);max-height:90vh;overflow:auto;padding:25px;border-radius:12px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.2)}.modal-close{position:absolute;top:8px;right:14px;border:0;background:transparent;color:var(--muted);font-size:26px}.modal-content h2{margin:0 0 5px;font-size:1.2rem}.modal-content p{margin:0;color:var(--muted);font-size:.82rem}.modal label:not(.checkbox-label){display:block;margin:15px 0 5px;font-size:.78rem;font-weight:700}.modal input[type=email],.modal input[type=password]{width:100%;padding:10px;border:1px solid #e4e7eb;border-radius:7px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.project-song-title{color:var(--ink)!important;font-weight:700}.project-checkboxes{display:grid;gap:7px;margin-top:15px}.checkbox-label{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #e4e7eb;border-radius:7px;cursor:pointer}.form-message{min-height:20px;margin:10px 0 0!important;color:#b42318!important;font-size:.8rem}@media(max-width:1150px){.music-list-header,.song-card.list-item{grid-template-columns:minmax(220px,1.5fr) minmax(180px,1.25fr) 58px minmax(105px,.8fr) minmax(120px,.9fr) minmax(110px,.9fr) 48px 82px}.project-cell{display:none}}@media(max-width:700px){header{display:block;padding:17px 18px}header h1{font-size:1.32rem}.header-actions{margin-top:10px}.filter-container{padding:9px 18px}.music-list-shell{padding-left:18px;padding-right:18px}.music-list-header{display:none}.song-card.list-item{grid-template-columns:minmax(145px,1.3fr) minmax(145px,1.25fr) 50px 72px;min-height:68px;gap:7px;padding:7px}.year-cell{display:flex!important;font-size:.66rem}.genre-cell,.mood-cell,.project-cell,.bpm-cell{display:none}.song-title{font-size:.82rem}.artist-inline{font-size:.66rem}.player-cell .timeline-container{height:30px}.list-cell{font-size:.69rem}.download-cell .download-btn{font-size:.57rem}.music-grid.grid-view{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}}