/* Кабинет по утверждённому макету. */
.radio-cabinet__stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:16px; }
.radio-cabinet__stat,.radio-cabinet__box,.radio-cabinet__vote { padding:16px 18px; border:1px solid var(--radio-border); border-radius:var(--radio-radius); background:var(--radio-cabinet-panel); }
.radio-cabinet__stat { display:grid; gap:5px; min-width:0; }
.radio-cabinet__stat strong { font-size:22px; overflow-wrap:anywhere; }
.radio-cabinet__stat span { color:var(--radio-text-subtle); font-size:12px; }
.radio-cabinet__coins-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:14px; }
.radio-cabinet__box h3 { margin:0 0 10px; font-size:15px; }
.radio-cabinet__box p { color:var(--radio-muted); font-size:13px; }
.radio-cabinet__log { margin:0; padding:0; list-style:none; }
.radio-cabinet__log li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:9px 0; border-bottom:1px solid var(--radio-border); }
.radio-cabinet__log small { display:block; color:var(--radio-text-subtle); font-size:12px; }
.radio-cabinet__plus { color:var(--radio-chart-up); }
.radio-cabinet__minus { color:var(--radio-chart-down); }
.radio-cabinet__pager { display:flex; gap:10px; align-items:center; margin-top:12px; }
.radio-cabinet__votes { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:10px; }
.radio-cabinet__vote { display:flex; align-items:center; gap:10px; padding:10px; min-width:0; }
.radio-cabinet__position { flex:none; color:var(--radio-accent-light); font-size:12px; }
.radio-cabinet { max-width:1040px; margin:0 auto; padding-bottom:40px; }
.radio-cabinet [hidden], .radio-cabinet__status:empty { display:none; }
.radio-cabinet__status { color:var(--radio-muted); }
.radio-cabinet__profile { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:22px; align-items:center; padding:22px; border:1px solid var(--radio-border); border-radius:var(--radio-radius); background:var(--radio-cabinet-panel); }
.radio-cabinet__portrait { position:relative; }
.radio-cabinet__avatar { display:block; width:92px; height:92px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 3px var(--radio-panel-2),0 0 0 5px var(--radio-accent); }
.radio-cabinet__portrait .radio-cabinet__btn { position:absolute; bottom:-4px; right:-8px; padding:4px 7px; border-radius:20px; background:var(--radio-accent); color:var(--radio-white); font-size:11px; }
.radio-cabinet__details { min-width:0; }
.radio-cabinet__name { margin:0 0 4px; font-size:25px; overflow-wrap:anywhere; }
.radio-cabinet__email { margin:0; color:var(--radio-text-subtle); font-size:12px; overflow-wrap:anywhere; }
.radio-cabinet__socials { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.radio-cabinet__social { padding:4px 10px; border:1px solid var(--radio-line-strong); border-radius:20px; color:var(--radio-accent-light); font-size:12px; }
.radio-cabinet__balance { display:grid; justify-items:end; gap:3px; }
.radio-cabinet__balance strong { color:var(--radio-coin); font-size:32px; line-height:1.1; }
.radio-cabinet__balance span { color:var(--radio-text-subtle); font-size:11px; }
.radio-cabinet__tabs { display:flex; gap:4px; margin:20px 0 16px; border-bottom:1px solid var(--radio-border); overflow-x:auto; }
.radio-cabinet__tab { flex:none; padding:12px 13px; border-bottom:2px solid transparent; color:var(--radio-muted); font-size:13px; text-decoration:none; }
.radio-cabinet__tab[aria-selected="true"] { color:var(--radio-accent-light); border-bottom-color:var(--radio-accent); }
.radio-cabinet__btn,.radio-cabinet__remove { display:inline-flex; align-items:center; justify-content:center; padding:9px 14px; border:1px solid var(--radio-accent); border-radius:8px; background:var(--radio-accent); color:var(--radio-white); font:inherit; font-size:13px; cursor:pointer; text-decoration:none; }
.radio-cabinet__btn--secondary,.radio-cabinet__remove { background:transparent; border-color:var(--radio-line-strong); color:var(--radio-muted); }
.radio-cabinet button:disabled { opacity:.5; cursor:default; }
.radio-cabinet :focus-visible { outline:2px solid var(--radio-accent); outline-offset:3px; }
.radio-cabinet__field { display:flex; flex-wrap:wrap; align-items:center; gap:10px; max-width:620px; padding:16px 18px; margin-bottom:12px; border:1px solid var(--radio-border); border-radius:var(--radio-radius); background:var(--radio-cabinet-panel); }
.radio-cabinet__field > span,.radio-cabinet__field small { flex-basis:100%; color:var(--radio-muted); }
.radio-cabinet__field label { display:grid; flex:1 1 200px; min-width:0; gap:6px; }
.radio-cabinet input[type="text"],.radio-cabinet input[type="search"] { width:100%; min-width:0; height:40px; padding:0 12px; border:1px solid var(--radio-line-strong); border-radius:8px; background:var(--radio-panel-2); color:var(--radio-text); font:inherit; }
.radio-cabinet__crop { width:min(440px,calc(100% - 24px)); max-height:calc(100dvh - 32px); overflow-y:auto; padding:20px; border:1px solid var(--radio-line-strong); border-radius:var(--radio-radius); background:var(--radio-panel-2); color:var(--radio-text); }
.radio-cabinet__crop::backdrop { background:var(--radio-scrim); }
.radio-cabinet__crop h2 { margin:0 0 12px; font-size:18px; }
.radio-cabinet__crop canvas { display:block; width:256px; max-width:100%; height:auto; margin:0 auto 14px; }
.radio-cabinet__crop .radio-cabinet__field { display:grid; padding:4px 0; border:0; background:transparent; }
.radio-cabinet__list { margin:12px 0; padding:0 16px; list-style:none; border:1px solid var(--radio-border); border-radius:var(--radio-radius); background:var(--radio-cabinet-panel); }
.radio-cabinet__item { display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--radio-border); }
.radio-cabinet__item:last-child { border-bottom:0; }
.radio-cabinet__cover { flex:none; width:48px; height:48px; border-radius:8px; object-fit:cover; }
.radio-cabinet__meta { min-width:0; flex:1; }
.radio-cabinet__title { margin:0; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.radio-cabinet__artist { margin:2px 0 0; color:var(--radio-text-subtle); font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.radio-cabinet__empty { padding:18px 0; color:var(--radio-muted); }
.radio-cabinet__import { margin-bottom:14px; padding:14px; border:1px solid var(--radio-border); border-radius:var(--radio-radius); }
.radio-cabinet__import-actions { display:flex; gap:10px; }
@media(max-width:760px) {
 .radio-cabinet__stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .radio-cabinet__coins-grid { grid-template-columns:minmax(0,1fr); }
 .radio-cabinet__profile { grid-template-columns:auto minmax(0,1fr); padding:16px; gap:16px; }
 .radio-cabinet__avatar { width:72px; height:72px; }
 .radio-cabinet__name { font-size:21px; }
 .radio-cabinet__balance { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; padding-top:12px; border-top:1px solid var(--radio-border); }
 .radio-cabinet__balance strong { font-size:26px; }
 .radio-cabinet__tab { padding:12px 8px; font-size:12px; }
 .radio-cabinet__list { padding:0 10px; }
 .radio-cabinet__item { gap:10px; }
 .radio-cabinet__remove { padding:6px 8px; }
}

.radio-cabinet__toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.radio-cabinet__toolbar .radio-cabinet__search { margin-left:auto; width:240px; flex:1 1 180px; max-width:340px; }
.radio-cabinet__item { display:grid; grid-template-columns:22px 48px minmax(0,1fr) minmax(0,120px) 34px; gap:12px; }
.radio-cabinet__item--playing { background:var(--radio-hover); }
.radio-cabinet__item--dragging { opacity:.55; outline:1px solid var(--radio-accent); }
.radio-cabinet__drag { padding:0; border:0; background:transparent; color:var(--radio-text-subtle); font-size:24px; cursor:grab; touch-action:none; }
.radio-cabinet__track-play { position:relative; width:48px; height:48px; padding:0; border:0; border-radius:8px; overflow:hidden; background:var(--radio-panel-2); color:var(--radio-white); cursor:pointer; }
.radio-cabinet__track-play svg { position:absolute; left:12px; top:12px; width:24px; height:24px; filter:drop-shadow(0 1px 3px var(--radio-bg)); }
.radio-cabinet__station { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--radio-text-subtle); font-size:12px; }
.radio-cabinet__item .radio-cabinet__remove { width:34px; height:34px; padding:6px; border:0; color:var(--radio-favorite); }
.radio-cabinet__remove svg { width:22px; height:22px; }
.radio-cabinet__danger { margin-top:24px; border-color:var(--radio-error); }
.radio-cabinet__danger h3,.radio-cabinet__danger p { margin:0; }
.radio-cabinet__delete-form label { display:grid; gap:8px; }
.radio-cabinet__delete-form .radio-cabinet__btn { margin:8px 8px 0 0; }
@media(max-width:600px) {
 .radio-cabinet__item { grid-template-columns:20px 44px minmax(0,1fr) 34px; gap:8px; }
 .radio-cabinet__station { display:none; }
 .radio-cabinet__track-play,.radio-cabinet__track-play .radio-cabinet__cover { width:44px; height:44px; }
 .radio-cabinet__track-play svg { left:10px; top:10px; }
 .radio-cabinet__toolbar .radio-cabinet__search { max-width:none; width:100%; flex-basis:100%; }
}

.radio-cabinet__social-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
