.music-page{background:#080a0d;color:#f7f7f7;min-height:100vh}
.music-page main{width:min(var(--max),calc(100% - 40px));max-width:none;margin:0 auto;padding:3rem 0 5rem}
.music-page .page-intro{max-width:740px;margin-bottom:2rem}
.music-page .page-intro h1{font-size:clamp(2.3rem,6vw,4.5rem);line-height:1.05;margin:.3rem 0 1rem}
.music-page .page-intro p{color:#c7cbd2;font-size:1.05rem;line-height:1.55}
.music-page .eyebrow{color:#f4b94b;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.music-page .music-card,.music-links>div{background:#14191f;border:1px solid #343b43;border-radius:18px;padding:1.5rem}
.music-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.music-links.music-links-single{grid-template-columns:minmax(0,1fr)}
.music-links p{color:#c7cbd2}
.music-links .button{margin-top:.75rem}
.music-form{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.music-form label{display:grid;gap:.45rem;font-weight:700}
.music-form .full{grid-column:1/-1}
.music-form input,.music-form select,.music-form textarea,.chart-editor input{width:100%;box-sizing:border-box;color:#fff;background:#090d12;border:1px solid #68737e;border-radius:9px;padding:.8rem;font:inherit}
.music-form input:focus,.music-form select:focus,.music-form textarea:focus,.chart-editor input:focus{outline:2px solid #f4b94b;outline-offset:2px}
.music-form input[type=file]{padding:.6rem}
.music-form .check{display:flex;align-items:flex-start;font-weight:400;gap:.7rem;line-height:1.5}
.music-form .check input{width:auto;margin-top:.3rem}
.music-form button{justify-self:start;cursor:pointer}
.music-form button:disabled{opacity:.55;cursor:not-allowed}
.form-note,.form-status{color:#c7cbd2;font-size:.95rem}
.form-status[role=alert]{color:#ffc27a}
.chart-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}
.chart-tabs button{border:1px solid #56616c;background:#171d24;color:#fff;border-radius:999px;padding:.7rem 1rem;font:inherit;cursor:pointer}
.chart-tabs button[aria-selected=true]{background:#f4b94b;color:#111;border-color:#f4b94b;font-weight:800}
.country-chart-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.5rem 0 2rem}
.country-chart-tabs button{display:flex;align-items:center;gap:.85rem;min-width:0;min-height:96px;padding:.85rem 1rem;border-radius:14px;text-align:left;font-weight:750;line-height:1.25}
.country-chart-tabs button img{display:block;flex:none;width:90px;height:60px;object-fit:contain;border:1px solid #bdc5c8;border-radius:5px;background:#0a1015;box-shadow:0 3px 10px #0007}
.country-chart-tabs button span{overflow-wrap:anywhere}
.country-chart-tabs button:hover{border-color:#f4b94b;background:#26303a}
.country-chart-tabs button[aria-selected=true]:hover{background:#f4b94b}
.country-chart-tabs button:focus-visible{outline:3px solid #f4b94b;outline-offset:3px}
.chart-list{list-style:none;padding:0;margin:0}
.chart-list li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1rem .2rem;border-bottom:1px solid #343b43;align-items:center}
.chart-list .rank{font-size:1.4rem;font-weight:900;color:#f4b94b}
.chart-list strong{display:block;font-size:1.08rem}
.chart-list small{color:#b9c1ca;font-size:.9rem}
.chart-list a{color:#f4b94b}
.chart-editor{display:grid;gap:.65rem}
.chart-editor .track-row{display:grid;grid-template-columns:2rem 1fr 1fr 1.3fr;gap:.6rem;align-items:center}
.chart-editor .track-row span{color:#f4b94b;font-weight:800}
.chart-editor input{min-width:0}
.admin-actions{display:flex;gap:1rem;align-items:center;margin-top:1.2rem}
@media(max-width:700px){.music-links,.music-form{grid-template-columns:1fr}.chart-editor .track-row{grid-template-columns:2rem 1fr}.chart-editor .track-row input:last-child{grid-column:2}}
@media(max-width:1000px){.country-chart-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){.country-chart-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.country-chart-tabs button{flex-direction:column;align-items:flex-start;min-height:130px}.country-chart-tabs button img{width:96px;height:64px}}
@media(max-width:390px){.country-chart-tabs{gap:.5rem}.country-chart-tabs button{padding:.65rem;font-size:.87rem}}
