:root {
  --ink: #171b18;
  --muted: #6f786f;
  --line: #dfe4dc;
  --paper: #f4f6f1;
  --card: #fff;
  --lime: #caff4c;
  --green: #6e9d28;
  --dark: #161b17;
  --danger: #a94b40;
  color-scheme: light;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.group-settings-page { display: grid; gap: 22px; padding-block: 24px; }
.group-settings-page .account-modal-card { width: 100%; max-width: none; }
.group-settings-page #group-invitation-form { display: grid; gap: 14px; }
#group-invitation-result { display: grid; gap: 10px; }
#group-invitation-list article { padding: 12px 0; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.invitation-history-trigger { width:fit-content; min-height:42px; margin-top:4px; }
.invitation-history-dialog { width:min(680px,calc(100% - 28px)); max-height:min(760px,calc(100dvh - 28px)); padding:0; border:1px solid rgba(var(--theme-accent-rgb),.38); border-radius:20px; background:var(--card); color:var(--ink); box-shadow:0 28px 90px rgba(0,0,0,.45); }
.invitation-history-dialog::backdrop { background:rgba(10,15,10,.58); backdrop-filter:blur(8px); }
.invitation-history-dialog form { display:grid; max-height:inherit; grid-template-rows:auto minmax(0,1fr) auto; }
.invitation-history-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 26px 18px; border-bottom:1px solid rgba(var(--theme-accent-rgb),.2); }
.invitation-history-dialog header h2 { margin:4px 0 6px; font-size:clamp(24px,4vw,34px); }
.invitation-history-dialog header p:not(.eyebrow) { margin:0; color:var(--muted); font-size:12px; }
.invitation-history-dialog header button { width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; font-size:20px; }
.invitation-history-content { min-height:0; overflow:auto; padding:6px 26px; }
.invitation-history-content h3 { display:none; }
.invitation-history-dialog footer { display:flex; justify-content:flex-end; padding:16px 26px 22px; border-top:1px solid rgba(var(--theme-accent-rgb),.2); }
.group-settings-page #group-invitation-list article:first-of-type { border-top:0; }
.group-invite-landing { margin: 30px auto; }
.account-profile-link { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; color: inherit; text-decoration: none; border-radius: 10px; cursor: pointer; min-width: 0; }
.account-profile-link:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.account-avatar { overflow: hidden; }
.account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-page { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 20px; margin-top: 28px; align-items: start; }
.profile-panel { padding: 25px; border: 1px solid var(--line); border-radius: 17px; background: white; display: grid; gap: 16px; min-width: 0; }
.profile-panel h2 { margin: 0; font-size: 22px; }
.profile-panel p,.profile-panel small { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.profile-side,#profile-password-form { display: grid; gap: 18px; }
.profile-avatar { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.profile-check { display: flex; align-items: center; gap: 10px; }
.profile-check input { width: 18px; min-height: 18px; }
.profile-back { color: #607153; font-size: 12px; font-weight: 800; text-decoration: none; }
.personal-mix-parts { margin: 8px 14px 12px 63px; }
.personal-song-title-row { display: flex; align-items: center; gap: 7px; min-width: 0; }
.personal-song-title-row h2 { min-width: 0; }
.personal-mix-toggle { flex: 0 0 auto; display: inline-flex; gap: 5px; align-items: center; padding: 2px 6px; border: 0; border-radius: 5px; background: #edf4e3; color: #526f2d; font-size: 9px; font-weight: 800; line-height: 1.4; }
.personal-mix-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.personal-mix-parts ol { margin: 10px 0 0; padding: 0 0 0 24px; font-size: 12px; }
.personal-mix-parts li { padding: 7px 0; border-bottom: 1px solid var(--line); }
.personal-mix-parts li small { display: block; color: var(--muted); }
.my-song-sheet-dialog { width:min(680px,calc(100% - 24px)); max-height:92dvh; padding:0; overflow:auto; border:0; border-radius:18px; background:var(--paper); }
.my-song-sheet-dialog::backdrop { background:rgba(11,15,12,.7); backdrop-filter:blur(6px); }
.my-song-sheet-card { padding:24px; display:grid; gap:20px; }
.my-song-sheet-card > header,.my-song-sheet-card > footer { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.my-song-sheet-card > header { margin:-24px -24px 0; padding:18px 24px; position:sticky; top:0; z-index:3; border-bottom:1px solid var(--line); background:var(--paper); }
.my-song-sheet-card > footer { margin:0 -24px -24px; padding:14px 24px; position:sticky; bottom:0; z-index:3; border-top:1px solid var(--line); background:var(--paper); }
.my-song-sheet-card > header > button { width:36px; height:36px; flex:0 0 36px; padding:0; border:1px solid #c9d4c3; border-radius:50%; background:#f5f8f2; color:#52634d; display:grid; place-items:center; cursor:pointer; font-size:19px; line-height:1; }
.my-song-sheet-card > header > button:hover { border-color:#8fac71; background:#e8f2dc; color:#35452f; }
.my-song-sheet-card > header h2,.my-song-sheet-card h3 { margin:4px 0; }
.my-song-shared { padding:18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.my-song-shared dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.my-song-shared dt { color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
.my-song-shared dd { margin:5px 0; font-size:12px; font-weight:750; }
.my-song-sheet-file { padding:16px; border:1px solid var(--line); border-radius:12px; }
.my-song-sheet-file label { margin-top:10px; }
.my-song-material { overflow:hidden; border:1px solid #d8e3d2; border-radius:16px; background:linear-gradient(145deg,#fbfdf8,#f2f7ed); box-shadow:0 12px 30px rgba(42,63,34,.06); }
.my-song-material > header { padding:17px 18px; border-bottom:1px solid #dfe8da; background:rgba(232,243,222,.72); }
.my-song-material > header > div { display:flex; align-items:center; gap:12px; }
.my-song-material > header span { width:38px; height:38px; border-radius:11px; background:#d8edbd; color:#537528; display:grid; place-items:center; font-size:19px; font-weight:900; }
.my-song-material > header h3 { margin:0 0 3px; font-size:16px; }
.my-song-material > header p { margin:0; color:var(--muted); font-size:10px; line-height:1.45; }
.my-song-material-editor { padding:18px; display:grid; gap:11px; }
.material-editor-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.material-editor-heading > div:first-child { display:grid; gap:3px; }
.material-editor-heading b { font-size:12px; }
.material-editor-heading small { color:var(--muted); font-size:9px; }
.material-size-picker { padding:3px; border:1px solid #d7dfd2; border-radius:9px; background:#fff; display:flex; gap:2px; }
.material-size-picker button { min-width:34px; height:30px; padding:0 7px; border:0; border-radius:6px; background:transparent; color:#6b7567; cursor:pointer; font-size:10px; font-weight:850; }
.material-size-picker button.active { background:#253320; color:#e4f5cb; }
.my-song-material-editor textarea { min-height:260px; padding:18px; border-color:#cedbc6; background:#fff; line-height:1.55; white-space:pre-wrap; tab-size:4; }
.my-song-material-editor textarea.material-text-size-small { font-size:15px !important; }
.my-song-material-editor textarea.material-text-size-medium { font-size:18px !important; }
.my-song-material-editor textarea.material-text-size-large { font-size:22px !important; }
.my-song-material-editor textarea.material-text-size-xlarge { font-size:28px !important; }
.my-song-material-file { padding:14px 18px; border-top:1px solid #dfe8da; background:rgba(255,255,255,.62); display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:10px; }
.my-song-material-file > div { min-width:0; display:grid; gap:3px; }
.my-song-material-file b { font-size:11px; }
.my-song-material-file small { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.my-song-material-file > a { color:#55792b; font-size:10px; font-weight:800; text-decoration:none; }
.my-song-material-file > label { min-height:38px; padding:0 12px; border:1px solid #9abb70; border-radius:9px; background:#edf6e3; color:#4f7028; display:grid; place-items:center; cursor:pointer; font-size:10px; font-weight:850; }
.my-song-material-file input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.my-song-sheet-card > footer { justify-content:flex-end; }
.group-song-ficha { min-height:28px; padding:0 8px; border:1px solid var(--line); border-radius:7px; background:#fff; color:#526f2d; font-size:9px; font-weight:850; }
.my-song-received,.my-song-sharing { padding:16px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.my-song-received article { padding:10px 0; border-top:1px solid var(--line); }
.my-song-sharing summary { color:#526f2d; font-size:12px; font-weight:850; }
.my-song-sharing > div { margin-top:12px; display:grid; gap:8px; }
.my-song-sharing section { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:10px; border-radius:9px; background:#f4f7f0; }
.my-song-sharing section small { grid-column:1; }
.my-song-sharing section label { display:flex; align-items:center; gap:5px; }
.my-song-sharing section input { width:16px; min-height:16px; }
.my-song-shared-audios { margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; }
.my-song-shared-audios h3 { flex:0 0 100%; }
@media(max-width:600px){.my-song-shared dl{grid-template-columns:repeat(2,minmax(0,1fr));}.material-editor-heading{align-items:flex-start;flex-direction:column}.material-size-picker{width:100%}.material-size-picker button{flex:1}.my-song-material-editor{padding:14px}.my-song-material-editor textarea{min-height:320px;padding:14px}.my-song-material-file{grid-template-columns:1fr 1fr}.my-song-material-file>div{grid-column:1/-1}.my-song-material-file>label{grid-column:1/-1}}
.profile-hero { margin-top: 24px; padding: 30px 0 34px; display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 28px; border-bottom: 1px solid var(--line); background: radial-gradient(ellipse at 10% 0,rgba(202,255,76,.12),transparent 65%); }
.profile-portrait { width: 150px; height: 150px; padding: 8px; border: 1px solid #d6e2c6; border-radius: 30px; background: #e9f2de; }
.profile-portrait { position: relative; cursor: pointer; }
.profile-portrait .profile-camera { position: absolute; right: -4px; bottom: -4px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; border: 2px solid var(--paper); background: #527328; color: white; }
.profile-camera svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.profile-photo-dialog { width: min(520px,calc(100% - 24px)); max-height: 94dvh; overflow: auto; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); color: var(--ink); }
.profile-photo-dialog::backdrop { background: rgba(10,15,10,.65); }
.profile-photo-dialog header,.profile-photo-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-photo-dialog h2 { margin: 5px 0 16px; }
.profile-photo-dialog [data-close] { border: 0; background: transparent; font-size: 24px; }
.photo-drop { width: 100%; min-height: 240px; padding: 24px; border: 2px dashed #9ab77a; border-radius: 16px; background: #eef5e5; color: #46622b; font-size: 18px; font-weight: 800; }
.photo-drop span { display: block; margin-top: 12px; font-size: 12px; font-weight: 500; }
.photo-drop.drag-over { background: #deedc7; border-color: #527328; }
.photo-editor canvas { display: block; width: 100%; aspect-ratio: 1; border-radius: 12px; touch-action: none; cursor: grab; background: #fff; }
.photo-editor canvas:active { cursor: grabbing; }
.photo-controls { display: grid; grid-template-columns: minmax(0,1fr) 110px; align-items: center; gap: 24px; padding: 18px 0; }
.photo-controls label,.photo-rotation > span { color: #526b31; font-size: 12px; font-weight: 800; }
.photo-controls input[type="range"] { padding: 0; accent-color: #6e9d28; cursor: ew-resize; }
.photo-rotation { display: grid; justify-items: center; gap: 8px; }
.photo-wheel { position: relative; width: 86px; height: 86px; border: 8px solid #d7e4c8; border-radius: 50%; background: #f9fbf6; display: grid; place-items: center; cursor: grab; touch-action: none; user-select: none; }
.photo-wheel i { position: absolute; inset: -5px; border-radius: 50%; pointer-events: none; }
.photo-wheel i::before { content: ""; display: block; width: 10px; height: 10px; border-radius: 50%; margin: -1px auto 0; background: #527328; }
.photo-wheel output { font-size: 13px; font-weight: 850; pointer-events: none; }
.photo-wheel:focus-visible { outline: 3px solid #92b955; outline-offset: 4px; }
.profile-photo-dialog [data-status] { font-size: 12px; color: var(--muted); line-height: 1.5; }
.profile-portrait .profile-avatar { width: 100%; height: 100%; border-radius: 23px; object-fit: cover; }
.profile-portrait > span { display: grid; place-items: center; width: 100%; height: 100%; color: #527328; font-size: 64px; font-weight: 900; }
.profile-hero h1 { margin: 8px 0; font-size: clamp(34px,5vw,58px); line-height: 1; letter-spacing: -.05em; overflow-wrap: anywhere; }
.profile-hero-copy > p:not(.eyebrow) { margin: 8px 0; font-size: 13px; color: var(--muted); }
.profile-hero-copy > p:empty { display: none; }
.profile-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.profile-hero-actions a { display: inline-flex; align-items: center; text-decoration: none; border-radius: 24px; }
.profile-section-nav { align-self: start; display: flex; flex-wrap: wrap; gap: 4px; padding: 5px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.7); }
.profile-section-nav a { padding: 10px 12px; border-radius: 9px; color: #526b31; text-decoration: none; font-size: 11px; font-weight: 850; }
.profile-section-nav a:hover { background: #e9f2de; }
.profile-mobile-summary { display:none; }
.profile-workspace :is(#profile-identity, #profile-music, #profile-account) { scroll-margin-top: 100px; }
@media (prefers-reduced-motion: no-preference) {
  html:has(.profile-workspace) { scroll-behavior: smooth; }
}
.profile-workspace .profile-page { grid-template-columns: minmax(0,2fr) minmax(230px,1fr); gap: 34px; margin-top: 28px; }
.profile-workspace .profile-panel { border: 0; border-radius: 0; background: transparent; padding: 0; gap: 22px; }
.profile-workspace .profile-panel h2 { margin: 8px 0; font-size: 28px; letter-spacing: -.035em; }
.profile-form-section { display:grid; gap:22px; min-width:0; }
.profile-workspace .profile-form-section,.profile-workspace .profile-account-section,.profile-workspace .profile-side > section { padding:26px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.82); }
.profile-social-editor { display:grid; gap:9px; }
.profile-social-chips { min-height:0; display:flex; flex-wrap:wrap; gap:8px; }
.profile-social-chip { min-height:34px; padding:0 6px 0 10px; border-radius:999px; color:white; display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:850; }
.profile-social-chip i { min-width:14px; font-style:normal; font-size:14px; text-align:center; }
.profile-social-chip button { width:22px; height:22px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.22); color:inherit; cursor:pointer; font-size:17px; line-height:1; }
.profile-social-chip.social-instagram { background:linear-gradient(135deg,#feda75,#fa7e1e 25%,#d62976 55%,#4f5bd5); }
.profile-social-chip.social-facebook { background:#1877f2; }.profile-social-chip.social-tiktok,.profile-social-chip.social-x { background:#161616; }.profile-social-chip.social-linkedin { background:#0a66c2; }.profile-social-chip.social-youtube { background:#f00; }.profile-social-chip.social-website { background:#e8ede4; color:#30402d; }
.profile-social-editor > input[type="text"] { min-height:44px; }
.profile-social-section [role="status"]:empty { display:none; }
.profile-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.profile-fields > label:has(textarea),.profile-fields > label:has([name="functions"]) { grid-column: 1 / -1; }
.profile-fields label { min-width: 0; font-size: 11px; }
.profile-fields > label:has(input[name="birth_date"]) { align-self: start; }
.profile-fields input[name="birth_date"] { height: 43px; min-width: 0; }
.profile-fields input[type="file"] { padding: 9px; max-width: 100%; }
.profile-music-fields { row-gap: 24px; align-items: start; }
.profile-music-fields > label { align-content: start; }
.profile-music-fields input:not([type="checkbox"]), .profile-music-fields select { height: 43px; }
.profile-music-fields .profile-voice-field .profile-check { min-height: 43px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.profile-music-fields .profile-voice-field:has(input:checked) .profile-check { background: #eef5e4; border-color: #8eb644; }
.profile-music-fields .profile-check input { margin: 0; flex: 0 0 18px; accent-color: var(--green); }
.profile-workspace #profile-music { padding-top: 25px; border-top: 1px solid var(--line); }
.profile-workspace [id^="profile-"] { scroll-margin-top: 100px; }
.profile-summary dl { margin: 8px 0 0; }
.profile-summary dl > div { padding: 18px 0; border-bottom: 1px solid var(--line); }
.profile-summary dt { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.profile-summary dd { margin: 7px 0 0; font-size: 15px; font-weight: 800; overflow-wrap: anywhere; }
.profile-workspace .profile-side { gap: 30px; }
.profile-save { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-save button { margin-left: auto; border-radius: 24px; }
.profile-workspace .profile-account-section { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 28px; }
.profile-account-section > label { max-width: 540px; }
.profile-workspace #profile-password-form { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: end; }
.profile-workspace #profile-password-form > p { grid-column: 1 / 3; }
@media(max-width:1050px) { .profile-hero { grid-template-columns: 120px minmax(0,1fr); } .profile-portrait { width:120px; height:120px; } .profile-section-nav { grid-column:1 / -1; } }
@media(max-width:760px) {
 .profile-workspace { min-width:0; max-width:100%; overflow-x:clip; }
 .profile-hero,.profile-hero-copy,.profile-section-nav { min-width:0; max-width:100%; }
 .profile-section-nav { width:100%; }
 .profile-mobile-summary { display:block; grid-column:1 / -1; padding:18px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.82); }
 .profile-mobile-summary > p { margin:0; }
 .profile-mobile-summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin:10px 0 0; }
 .profile-mobile-summary dl > div { min-width:0; padding:11px 0; border-bottom:1px solid var(--line); }
 .profile-mobile-summary dt { color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
 .profile-mobile-summary dd { margin:5px 0 0; overflow-wrap:anywhere; font-size:13px; font-weight:800; }
 .profile-side > .profile-summary { display:none; }
 .profile-workspace .profile-page,.profile-fields,.profile-workspace #profile-password-form { grid-template-columns: minmax(0,1fr); }
 .profile-workspace #profile-password-form > p { grid-column: auto; }
 .profile-form-section,.profile-workspace .profile-account-section,.profile-workspace .profile-side > section { padding:20px; }
 .profile-form-section { gap:18px; }
 .profile-form-section #profile-music { padding-top:0; border-top:0; }
 .profile-workspace .profile-account-section { gap:18px; }
 .profile-hero { grid-template-columns: 80px minmax(0,1fr); gap: 16px; }
 .profile-portrait { width: 80px; height: 80px; padding: 5px; border-radius: 20px; }
 .profile-portrait .profile-avatar { border-radius: 15px; }
 .profile-hero-actions { grid-column: 1 / -1; }
 .profile-hero-copy > p { overflow-wrap:anywhere; }
}
@media(max-width:760px){ .profile-page { grid-template-columns: minmax(0,1fr); } .profile-panel { padding: 20px; } }

#song-personal-genre-status:empty { display: none; }
.personal-genre-field { padding: 0 14px 12px 63px; font-size: 9px; }
.personal-genre-field select { min-height: 32px; font-size: 11px; }
.genre-manager { width: min(850px, calc(100% - 24px)); max-height: 90vh; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); color: var(--ink); }
.genre-manager::backdrop { background: rgba(0,0,0,.5); }
.genre-manager > header { display: flex; justify-content: space-between; gap: 15px; }
.genre-manager h2 { margin: 0; }
.genre-manager p, .genre-manager small { font-size: 12px; color: var(--muted); }
.genre-manager [data-close] { align-self: start; border: 0; background: transparent; font-size: 24px; }
.genre-manager details { padding: 14px 0; }
.genre-presets { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 10px; }
.genre-presets section { background: white; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.genre-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.genre-filters > * { flex: 1 1 170px; width: auto; }
.genre-results { max-height: 42vh; overflow: auto; display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; align-content: start; }
.genre-manager .genre-category { padding: 0; border: 1px solid var(--line); border-radius: 12px; background: white; }
.genre-category > summary { padding: 14px; cursor: pointer; }
.genre-category > summary small { margin-left: 12px; white-space: nowrap; }
.genre-category-items { padding: 0 10px 10px; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); gap: 8px; }
.genre-results label { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: white; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.genre-results label span { display: grid; gap: 4px; }
.genre-results input { appearance: none; flex: 0 0 38px; width: 38px; min-height: 22px; height: 22px; padding: 2px; border-radius: 20px; background: #cad1c5; cursor: pointer; }
.genre-results input::before { content: ""; display: block; width: 16px; height: 16px; border-radius: 50%; background: white; transition: transform .15s; }
.genre-results input:checked { background: #6e9d28; }
.genre-results input:checked::before { transform: translateX(15px); }
.genre-manager form { margin-top: 18px; display: grid; gap: 10px; }

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: #505b56; color: var(--ink); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
button:not(:disabled), a[href], summary, select, label:has(input[type="checkbox"]), label:has(input[type="radio"]), label:has(input[type="file"]), [role="button"] { cursor: pointer; }
button, a, summary, [role="button"] { -webkit-user-select: none; user-select: none; }
button:focus:not(:focus-visible), a:focus:not(:focus-visible), summary:focus:not(:focus-visible), [role="button"]:focus:not(:focus-visible) { outline: none; }
button:disabled, [aria-disabled="true"] { cursor: not-allowed; }
.hidden { display: none !important; }
.eyebrow { margin: 0; color: #65852d; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.brand-mark { width: 54px; height: 54px; border-radius: 16px; background: var(--lime); display: grid; place-items: center; color: #111; font-size: 24px; font-weight: 950; box-shadow: 0 12px 35px rgba(179, 230, 60, .22); }
.primary, .secondary { min-height: 44px; padding: 0 18px; border-radius: 10px; cursor: pointer; font-size: 12px; font-weight: 850; }
.primary { border: 1px solid #a8df32; background: var(--lime); color: #18200f; }
.primary:hover { background: #d6ff72; }
.primary:disabled { opacity: .55; cursor: wait; }
.secondary { border: 1px solid #cdd5c8; background: #fff; }
.text-button { border: 0; background: transparent; color: #5e7d2b; cursor: pointer; font-size: 11px; font-weight: 800; }
.form-error { margin: 0; padding: 10px 12px; border-radius: 8px; background: #f8e5e1; color: #8d392f; font-size: 11px; }
label { display: grid; gap: 7px; color: #5e675e; font-size: 10px; font-weight: 800; }
input, select, textarea { width: 100%; border: 1px solid #cfd6cc; border-radius: 9px; background: #fff; color: var(--ink); }
input, select { min-height: 43px; padding: 0 12px; }
textarea { padding: 11px 12px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(180, 232, 65, .22); border-color: #8eb644; }

.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(420px, 1.15fr) minmax(380px, .85fr); background: var(--dark); }
.auth-brand { min-height: 100vh; padding: clamp(44px, 8vw, 110px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background: radial-gradient(circle at 20% 15%, rgba(184,239,64,.13), transparent 30%), linear-gradient(135deg, #161b17, #232a23); color: white; }
.auth-brand-logo { width: min(310px, 72vw); height: auto; display: block; }
.auth-brand .eyebrow { margin-top: 32px; color: var(--lime); }
.auth-brand h1 { max-width: 720px; margin: 13px 0 18px; font-size: clamp(46px, 6vw, 88px); line-height: .94; letter-spacing: -.06em; }
.auth-brand > p:not(.eyebrow) { max-width: 560px; margin: 0; color: #b7c0b7; font-size: 16px; line-height: 1.7; }
.auth-features { width: min(570px, 100%); margin-top: 54px; padding-top: 24px; border-top: 1px solid #354035; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.auth-features span { color: #d5dbd4; display: grid; gap: 8px; font-size: 11px; font-weight: 750; }
.auth-features b { color: var(--lime); font-size: 10px; }
.auth-card { min-height: 100vh; padding: 42px; background: #f7f9f5; display: grid; place-items: center; }
.auth-card form, .auth-card .loading-block { width: min(430px, 100%); padding: 34px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 22px 60px rgba(10, 15, 10, .08); display: grid; gap: 19px; }
.auth-card h2 { margin: 0; font-size: 30px; letter-spacing: -.035em; }
.auth-card form > p:not(.eyebrow,.form-error) { margin: -10px 0 4px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.auth-switch { justify-self: center; color: #5e7d2b; font-size: 10px; font-weight: 850; }
.auth-switch:hover { text-decoration: underline; }
.registration-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.registration-choice { min-height: 84px; padding: 12px; position: relative; border: 1px solid #d6ddd2; border-radius: 11px; background: #f7f9f5; cursor: pointer; }
.registration-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.registration-choice span { height: 100%; display: grid; align-content: center; gap: 5px; }
.registration-choice b { color: var(--ink); font-size: 9px; }
.registration-choice small { color: var(--muted); font-size: 7px; font-weight: 600; line-height: 1.45; }
.registration-choice:has(input:checked) { border-color: #94bd43; background: #eff8dc; box-shadow: inset 0 0 0 1px #94bd43; }
.registration-choice:has(input:focus-visible) { outline: 3px solid rgba(180, 232, 65, .28); }
.access-member-summary { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #f3f8ea; display: flex; align-items: center; gap: 11px; }
.access-member-summary > img, .access-member-summary > span { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; background: #dff2b9; display: grid; place-items: center; color: #527426; font-weight: 900; }
.access-member-summary > div { display: grid; gap: 3px; }
.access-member-summary b { font-size: 12px; }
.access-member-summary small { color: var(--muted); font-size: 8px; }
.photo-field small { color: #899088; font-weight: 500; }
.loading-block { color: var(--muted); text-align: center; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 245px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; z-index: 30; padding: 24px 17px; background: var(--dark); color: white; display: grid; grid-template-rows: auto 1fr auto; }
.sidebar-brand { padding: 0 8px 30px; display: flex; align-items: center; gap: 11px; }
.sidebar-brand > span { width: 35px; height: 35px; border-radius: 10px; background: var(--lime); color: #111; display: grid; place-items: center; font-weight: 950; }
.sidebar-brand div { display: grid; gap: 2px; }
.sidebar-brand b { font-size: 14px; }
.sidebar-brand small { color: #899289; font-size: 8px; }
.sidebar nav { display: flex; flex-direction: column; gap: 5px; }
.sidebar nav button { min-height: 45px; padding: 0 13px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #aeb6ae; display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 11px; font-weight: 750; text-align: left; }
.sidebar nav button i { width: 22px; color: #879087; font-size: 15px; font-style: normal; text-align: center; }
.sidebar nav button:hover { background: #202720; color: white; }
.sidebar nav button.active { border-color: #98c93a; background: var(--lime); color: #16200d; }
.sidebar nav button.active i { color: #24360d; }
.sidebar-user { padding: 14px 8px 0; border-top: 1px solid #303730; display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 9px; }
.sidebar-user > span { width: 35px; height: 35px; overflow: hidden; border-radius: 50%; background: #394239; display: grid; place-items: center; font-size: 12px; font-weight: 900; }
.sidebar-user img, .member-grid img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-user div { min-width: 0; display: grid; gap: 2px; }
.sidebar-user b, .sidebar-user small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user b { font-size: 10px; }
.sidebar-user small { color: #8e978e; font-size: 8px; }
.sidebar-user button { border: 0; background: transparent; color: #8e978e; cursor: pointer; }
.app-main { min-width: 0; }
.preview-banner { min-height: 52px; padding: 9px clamp(22px, 4vw, 56px); background: #eef8d5; border-bottom: 1px solid #c5dc88; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.preview-banner div { display: grid; gap: 2px; }
.preview-banner b { font-size: 11px; }
.preview-banner span { color: #64704f; font-size: 8px; }
.preview-banner button, .member-preview { border: 1px solid #9dbb56; border-radius: 8px; background: white; color: #4e6822; padding: 8px 11px; font-size: 8px; font-weight: 800; cursor: pointer; }
.topbar { position: sticky; top: 0; z-index: 40; min-height: 82px; padding: 17px clamp(22px, 4vw, 56px); border-bottom: 1px solid var(--line); background: rgba(247,249,245,.94); backdrop-filter: blur(12px); display: flex; align-items: center; gap: 16px; }
.topbar > div { display: grid; gap: 5px; }
.topbar h1 { margin: 0; font-size: 23px; letter-spacing: -.035em; }
.sync-state { margin-left: 0; padding: 8px 10px; border-radius: 20px; background: #eaf2db; color: #547624; display: flex; align-items: center; gap: 7px; font-size: 8px; font-weight: 850; }
.header-search { width: 40px; height: 40px; margin-left: auto; padding: 0; border: 1px solid #d4ddcf; border-radius: 50%; background: white; color: #263222; cursor: pointer; display: grid; place-items: center; font-size: 22px; line-height: 1; }
.header-search svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
.header-search.hidden { display: none; }
.header-search.hidden + .sync-state { margin-left: auto; }
.sync-state i { width: 7px; height: 7px; border-radius: 50%; background: #7dad31; }
.mobile-menu { display: none; }
.app-content { width: min(1280px, calc(100% - clamp(36px, 7vw, 96px))); margin: 0 auto; padding: 38px 0 80px; }
.page-loader { min-height: 55vh; display: grid; place-content: center; justify-items: center; gap: 12px; color: var(--muted); font-size: 11px; }
.page-loader span { width: 42px; height: 42px; border-radius: 12px; background: var(--lime); display: grid; place-items: center; color: #111; font-size: 17px; font-weight: 950; animation: breathe 1.2s ease-in-out infinite alternate; }
@keyframes breathe { to { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(143,191,46,.3); } }
.welcome-panel { padding: clamp(25px, 4vw, 45px); border-radius: 18px; background: radial-gradient(circle at 90% 0, rgba(204,255,80,.18), transparent 34%), var(--dark); color: white; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.welcome-panel h2 { margin: 9px 0; font-size: clamp(28px, 4vw, 48px); letter-spacing: -.055em; }
.welcome-panel > div > p:last-child { margin: 0; color: #aab4aa; font-size: 11px; }
.welcome-actions { min-width: 235px; display: grid; gap: 9px; }
.proposal-action { min-height: 55px; padding: 8px 12px; border: 1px solid rgba(200,255,75,.38); border-radius: 11px; background: rgba(200,255,75,.08); color: white; cursor: pointer; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px; text-align: left; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.proposal-action:hover { transform: translateY(-1px); border-color: #c8ff4b; background: rgba(200,255,75,.15); }
.proposal-action > span { width: 34px; height: 34px; border-radius: 9px; background: #c8ff4b; color: #182018; display: grid; place-items: center; font-size: 20px; font-weight: 900; }
.proposal-action div { display: grid; gap: 3px; }
.proposal-action b { font-size: 10px; }
.proposal-action small { color: #aebba9; font-size: 8px; }
.proposal-modal { position: fixed; inset: 0; z-index: 80; padding: 20px; background: rgba(12,16,12,.72); backdrop-filter: blur(5px); display: grid; place-items: center; }
.proposal-modal.hidden { display: none; }
.proposal-modal-card { width: min(520px, 100%); padding: 22px; border-radius: 17px; background: white; box-shadow: 0 28px 80px rgba(0,0,0,.32); }
.proposal-modal-card header { margin-bottom: 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.proposal-modal-card h2 { margin: 5px 0; font-size: 23px; }
.proposal-modal-card header p:last-child { margin: 0; color: var(--muted); font-size: 9px; }
.proposal-modal-card header > button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: white; cursor: pointer; font-size: 18px; }
.proposal-modal-card form { display: grid; gap: 11px; }
.metric-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.metric-grid article, .metric-grid .metric-link { min-height: 100px; padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: white; color: var(--ink); display: flex; align-items: center; gap: 14px; text-align: left; }
.metric-grid .metric-link { cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.metric-grid .metric-link:hover { transform: translateY(-2px); border-color: #a7c66a; box-shadow: 0 9px 22px rgba(44, 64, 31, .08); }
.metric-grid article > span, .metric-grid .metric-link > span { font-size: 28px; font-weight: 900; letter-spacing: -.05em; }
.metric-grid article div, .metric-grid .metric-link div { display: grid; gap: 4px; }
.metric-grid article b, .metric-grid .metric-link b { font-size: 9px; }
.metric-grid article small, .metric-grid .metric-link small { color: var(--muted); font-size: 8px; }
.metric-grid .director-metric { background: #eff8dc; border-color: #d3e6ab; }
.next-rehearsal, .empty-panel { margin-top: 18px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.next-rehearsal h2 { margin: 6px 0; font-size: 22px; }
.next-rehearsal div > p:last-child { margin: 0; color: var(--muted); font-size: 10px; }
.section-heading { margin: 38px 0 14px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.section-heading h2 { margin: 6px 0 0; font-size: 22px; letter-spacing: -.035em; }
.section-heading div > p:last-child { margin: 7px 0 0; color: var(--muted); font-size: 10px; }
.empty-panel { justify-content: flex-start; }
.empty-panel > span { width: 44px; height: 44px; border-radius: 12px; background: #eef4e4; display: grid; place-items: center; color: #678b2c; font-size: 18px; }
.empty-panel h2 { margin: 0 0 5px; font-size: 15px; }
.empty-panel p { margin: 0; color: var(--muted); font-size: 10px; }
.empty-panel.error > span { background: #f8e4e0; color: #a6473d; }
.quiet { color: var(--muted); font-size: 10px; }
.rehearsal-list { display: grid; gap: 8px; }
.rehearsal-card { min-height: 78px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; display: grid; grid-template-columns: 48px minmax(0,1fr) auto auto 30px; align-items: center; gap: 15px; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease; }
.rehearsal-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(26,34,23,.07); }
.date-block { height: 48px; border-radius: 10px; background: #edf5df; display: grid; place-content: center; justify-items: center; color: #52711e; }
.date-block b { font-size: 17px; line-height: 1; }
.date-block small { font-size: 7px; text-transform: uppercase; }
.rehearsal-card h3 { margin: 0 0 4px; font-size: 12px; }
.rehearsal-card p { margin: 0; color: var(--muted); font-size: 8px; }
.card-count { min-width: 58px; display: grid; justify-items: center; gap: 2px; }
.card-count b { font-size: 13px; }
.card-count small { color: var(--muted); font-size: 7px; }
.rehearsal-card > button { width: 28px; height: 28px; border: 0; border-radius: 7px; background: #f0f3ed; cursor: pointer; }

.catalog-toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) 220px; gap: 9px; }
.search-field { position: relative; }
.search-field span { position: absolute; left: 13px; top: 13px; color: #7a8379; }
.search-field input { padding-left: 36px; }
.catalog-notice-row { margin: 13px 0 20px; display: grid; grid-template-columns: 2fr 1fr; gap: 10px; }
.privacy-note { margin: 0; padding: 10px 12px; border-radius: 9px; background: #eaf2dc; color: #567528; display: flex; align-items: center; gap: 9px; }
.privacy-note p { margin: 0; font-size: 8px; }
.catalog-filter-card { min-width: 0; padding: 9px 12px; border: 1px solid #d7e1d0; border-radius: 9px; background: white; color: var(--ink); cursor: pointer; display: grid; grid-template-columns: 31px minmax(0,1fr); align-items: center; gap: 9px; text-align: left; }
.catalog-filter-card > span { width: 31px; height: 31px; border-radius: 8px; background: #dff0c6; color: #58792c; display: grid; place-items: center; font-size: 16px; font-weight: 900; }
.catalog-filter-card div { min-width: 0; display: grid; gap: 3px; }
.catalog-filter-card b { font-size: 9px; }
.catalog-filter-card small { overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-search-overlay { position: fixed; inset: 0; z-index: 70; padding: 24px; background: rgba(18,23,18,.48); backdrop-filter: blur(12px); display: grid; place-items: start center; }
.catalog-search-overlay.hidden, .catalog-filter-modal.hidden { display: none; }
.catalog-search-overlay form { width: min(760px, 100%); margin-top: clamp(70px, 16vh, 170px); position: relative; }
.catalog-search-overlay form > span { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); color: #667261; font-size: 23px; }
.catalog-search-overlay input { width: 100%; min-height: 68px; padding: 0 62px 0 56px; border: 0; border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 24px 70px rgba(0,0,0,.24); font-size: 18px; outline: none; }
.catalog-search-overlay form > button { position: absolute; right: 14px; top: 50%; width: 38px; height: 38px; transform: translateY(-50%); border: 0; border-radius: 50%; background: #edf1e9; cursor: pointer; font-size: 18px; }
.catalog-filter-modal { position: fixed; inset: 0; z-index: 70; padding: 20px; background: rgba(18,23,18,.55); backdrop-filter: blur(8px); display: grid; place-items: center; }
.catalog-filter-shell { width: min(650px, 100%); max-height: min(720px, 86vh); overflow: auto; padding: 22px; border-radius: 17px; background: white; box-shadow: 0 28px 80px rgba(0,0,0,.3); }
.catalog-filter-shell header { margin-bottom: 17px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.catalog-filter-shell h2 { margin: 5px 0 0; font-size: 21px; }
.catalog-filter-shell header > button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: white; cursor: pointer; font-size: 18px; }
.catalog-special-filter { margin-bottom: 15px; padding: 12px 13px; border: 1px solid #d8e3ce; border-radius: 11px; background: #f5f9ef; cursor: pointer; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; }
.catalog-special-filter input { position: absolute; opacity: 0; pointer-events: none; }
.catalog-special-filter > span { width: 38px; height: 22px; border-radius: 999px; background: #d5dbd0; position: relative; transition: background .18s ease; }
.catalog-special-filter > span::after { content: ""; position: absolute; width: 16px; height: 16px; left: 3px; top: 3px; border-radius: 50%; background: white; box-shadow: 0 1px 4px rgba(0,0,0,.2); transition: transform .18s ease; }
.catalog-special-filter input:checked + span { background: #8fba43; }
.catalog-special-filter input:checked + span::after { transform: translateX(16px); }
.catalog-special-filter div { display: grid; gap: 3px; }
.catalog-special-filter b { font-size: 10px; }
.catalog-special-filter small { color: var(--muted); font-size: 8px; }
.catalog-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; }
.catalog-filter-grid button { width: 100%; height: 58px; padding: 6px 9px; border: 1px solid #dbe3d5; border-radius: 10px; background: #f7f9f5; color: #313b2e; cursor: pointer; display: grid; place-items: center; overflow-wrap: anywhere; font-size: 9px; font-weight: 850; line-height: 1.25; text-align: center; }
.catalog-filter-grid button.active { border-color: #99bd53; background: #def5b4; color: #45661d; box-shadow: inset 0 0 0 1px #99bd53; }
.genre-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; }
.genre-groups > .empty-panel { grid-column: 1 / -1; }
.genre-group { overflow: hidden; overflow-anchor: none; scroll-margin-top: 92px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.genre-heading { width: 100%; min-height: 56px; padding: 0 18px; border: 0; border-bottom: 1px solid var(--line); background: #f2f6ec; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.genre-heading > div { display: flex; align-items: center; gap: 9px; }
.genre-heading h2 { margin: 0; font-size: 12px; }
.genre-heading b { min-width: 23px; height: 23px; border-radius: 50%; background: #dfead0; display: grid; place-items: center; font-size: 8px; }
.genre-heading small { color: var(--muted); font-size: 8px; }
.genre-heading > div > span { transition: transform 180ms ease; }
.genre-group:not(.collapsed) .genre-heading > div > span { transform: rotate(180deg); }
.genre-group.collapsed .song-cards { display: none; }
.genre-group.collapsed .genre-heading { border-bottom: 0; }
.song-cards { display: grid; }
.song-cards.standalone { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; }
.song-card { min-height: 71px; padding: 10px 14px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 38px minmax(160px, 1fr) 112px 68px; align-items: center; gap: 12px; }
.song-card.removing { min-height: 0; padding-top: 0; padding-bottom: 0; border-bottom-color: transparent; opacity: 0; transform: translateX(24px) scale(.985); pointer-events: none; }
.song-card { transition: height 320ms cubic-bezier(.2,.75,.25,1), min-height 320ms cubic-bezier(.2,.75,.25,1), padding 320ms cubic-bezier(.2,.75,.25,1), opacity 190ms ease, transform 260ms cubic-bezier(.2,.75,.25,1), border-color 220ms ease; }
.genre-group { transition: opacity 180ms ease, transform 220ms ease; }
.genre-group.emptying { opacity: 0; transform: translateY(-8px); }
.song-card:last-child { border-bottom: 0; }
.song-play { width: 38px; height: 38px; border: 1px solid #cad3c6; border-radius: 50%; background: #fff; color: #577628; cursor: pointer; font-size: 11px; }
.song-play.playing { background: #24351f; border-color: #24351f; color: #fff; font-size: 13px; }
.song-play.disabled { color: #adb3aa; cursor: default; }
.song-copy { min-width: 0; }
.song-copy h3 { overflow: hidden; margin: 0 0 5px; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.song-copy p { overflow: hidden; margin: 0; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size: 7px; }
.song-copy em { margin-left: 5px; padding: 3px 5px; border-radius: 4px; background: #e9f2dc; color: #668a2d; font-style: normal; font-weight: 900; }
.stars { display: flex; gap: 1px; }
.stars button { padding: 2px; border: 0; background: transparent; color: #d9ddd5; cursor: pointer; font-size: 18px; }
.stars button.on { color: #82af2b; }
.knowledge-toggle { min-height: 46px; padding: 5px 10px; border: 1px solid #9fc959; border-radius: 12px; background: #eff9dd; color: #466b16; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px; cursor: pointer; transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
.knowledge-toggle b { width: 31px; height: 31px; border-radius: 9px; background: #8fbd32; color: white; display: grid; place-items: center; font-size: 11px; letter-spacing: .02em; }
.knowledge-toggle small { font-size: 11px; font-weight: 850; text-align: left; }
.knowledge-toggle.on { border-color: #d3d9d0; background: #f3f5f1; color: #626a61; box-shadow: none; }
.knowledge-toggle.on b { background: #dfe3dc; color: #596057; font-size: 19px; line-height: 1; }
.knowledge-toggle:hover:not(:disabled) { transform: translateY(-1px); }
.knowledge-toggle:disabled { cursor: default; opacity: .72; }
.removed-mix-label { min-height: 40px; padding: 0 10px; border-radius: 10px; background: #f0f2ef; color: #667064; display: grid; place-items: center; font-size: 9px; font-weight: 850; text-align: center; }
.song-quick-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.song-more, .youtube-reference { width: 30px; height: 30px; border: 0; border-radius: 7px; background: #f0f3ed; cursor: pointer; font-size: 8px; font-weight: 900; }
.youtube-reference { background: #e2362b; color: white; }
.youtube-reference.disabled { background: #e2e5df; color: #9da39b; cursor: default; }
.song-options { grid-column: 2 / -1; padding: 12px; border-radius: 9px; background: #f6f8f3; display: grid; gap: 10px; }
.mix-breakdown { grid-column: 1 / -1; margin: 2px 0 4px 50px; overflow: hidden; border: 1px solid #dce6d4; border-radius: 11px; background: #f8fbf5; }
.mix-breakdown-toggle { width: 100%; min-height: 48px; padding: 8px 12px; border: 0; background: #edf5e3; color: var(--ink); cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; }
.mix-breakdown-toggle > span { display: grid; gap: 3px; }
.mix-breakdown-toggle b { color: #5b7c2c; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.mix-breakdown-toggle small { color: var(--muted); font-size: 8px; }
.mix-breakdown-toggle i { color: #668a33; font-size: 17px; font-style: normal; transition: transform .25s ease; }
.mix-breakdown.open .mix-breakdown-toggle i { transform: rotate(180deg); }
.mix-breakdown-animation { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s cubic-bezier(.2,.75,.25,1); }
.mix-breakdown.open .mix-breakdown-animation { grid-template-rows: 1fr; }
.mix-breakdown-body { min-height: 0; overflow: hidden; }
.mix-breakdown-body > article { min-height: 55px; padding: 8px 12px; border-top: 1px solid #e1e8dc; display: grid; grid-template-columns: minmax(0,1fr) 104px; align-items: center; gap: 12px; }
.mix-breakdown-body > article > span { font-size: 10px; font-weight: 750; line-height: 1.35; }
.mix-breakdown-body > article > span { transition: color .18s ease, opacity .18s ease; }
.mix-breakdown-body > article.unknown > span { color: #8b9288; opacity: .72; text-decoration: line-through; text-decoration-thickness: 1.5px; text-decoration-color: #9ca398; }
.mix-part-toggle { min-height: 38px; padding: 4px 8px; border: 1px solid #d3dad0; border-radius: 10px; background: #f0f2ef; color: #667064; cursor: pointer; display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 5px; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.mix-part-toggle b { width: 30px; height: 28px; border-radius: 7px; background: #e2e6df; display: grid; place-items: center; font-size: 13px; }
.mix-part-toggle small { font-size: 8px; font-weight: 850; }
.mix-part-toggle.known { border-color: #9aca45; background: #e9f8cb; color: #456715; box-shadow: 0 0 0 2px rgba(159,211,67,.18), 0 0 18px rgba(145,205,42,.38); }
.mix-part-toggle.known b { background: #8fbd32; color: white; font-size: 10px; }
.mix-part-toggle:hover:not(:disabled) { transform: translateY(-1px); }
.mix-part-toggle:disabled { opacity: .65; cursor: wait; }
.stream-player { width: min(620px, 100%); height: 34px; }
.catalog-scope { margin: 12px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.catalog-scope button { min-height: 62px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 11px; background: white; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 3px 12px; text-align: left; cursor: pointer; }
.catalog-scope button.active { border-color: #a8ca5d; background: #eff8da; box-shadow: inset 3px 0 #8db730; }
.catalog-scope span { font-size: 11px; font-weight: 900; }
.catalog-scope b { grid-row: 1 / span 2; grid-column: 2; font-size: 17px; }
.catalog-scope small { color: var(--muted); font-size: 8px; }
.rehearsal-material-heading { margin-top: 36px; }
.rehearsal-material-heading > b { min-width: 38px; height: 38px; border-radius: 50%; background: #e9f3d8; display: grid; place-items: center; font-size: 12px; }
.rehearsal-material-list { display: grid; gap: 7px; }
.song-card.rehearsal-material { grid-template-columns: 38px minmax(0, 1fr) auto; }
.proposal-panel { margin-top: 34px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.proposal-heading { display: flex; justify-content: space-between; gap: 20px; }
.proposal-heading h2 { margin: 0 0 5px; font-size: 18px; }
.proposal-heading p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 9px; }
.proposal-heading strong { min-width: 52px; height: 36px; border-radius: 18px; background: #edf5df; display: grid; place-items: center; font-size: 11px; }
.proposal-panel form { margin-top: 18px; display: grid; grid-template-columns: 1fr 1.25fr 1fr auto; align-items: end; gap: 9px; }
.proposal-panel form label { display: grid; gap: 5px; color: var(--muted); font-size: 8px; font-weight: 800; }
.proposal-panel form input { width: 100%; min-width: 0; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #fafbf8; color: var(--ink); font-size: 9px; }
.proposal-list { margin-top: 18px; display: grid; }
.proposal-list article { min-height: 48px; padding: 8px 2px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.proposal-list article div { display: grid; gap: 3px; }
.proposal-list article b { font-size: 10px; }
.proposal-list article small { color: var(--muted); font-size: 7px; }
.proposal-list article a { padding: 7px 9px; border-radius: 7px; background: #ffebe8; color: #b32b20; text-decoration: none; font-size: 8px; font-weight: 900; }
.audio-pending { margin: 0; color: var(--muted); font-size: 8px; }
.mix-parts { padding-bottom: 10px; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.mix-parts > b { width: 100%; font-size: 8px; }
.mix-parts label { display: flex; align-items: center; gap: 6px; font-size: 8px; font-weight: 650; }
.mix-parts input { width: 15px; min-height: 15px; accent-color: #79a929; }
.song-option-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.song-option-actions label { margin-right: auto; display: flex; align-items: center; gap: 7px; font-size: 8px; }
.song-option-actions input { width: 15px; min-height: 15px; accent-color: #79a929; }
.song-option-actions button { min-height: 30px; padding: 0 9px; border: 1px solid #cdd5c9; border-radius: 7px; background: white; cursor: pointer; font-size: 7px; font-weight: 800; }

.back-button { margin-bottom: 14px; border: 0; background: transparent; color: #64882b; cursor: pointer; font-size: 9px; font-weight: 850; }
.rehearsal-hero { padding: 28px; border-radius: 16px; background: var(--dark); color: white; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.rehearsal-hero h2 { margin: 8px 0; font-size: 30px; }
.rehearsal-hero p { margin: 0; color: #acb6ac; font-size: 10px; line-height: 1.6; }
.setlist { margin-top: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; }
.setlist > article { padding: 18px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 14px; }
.setlist > article:last-child { border-bottom: 0; }
.set-order { color: #7b9d43; font-size: 10px; font-weight: 900; }
.set-song h3 { margin: 0 0 4px; font-size: 13px; }
.set-song > small { color: var(--muted); font-size: 8px; }
.general-instruction { padding: 10px; border-left: 3px solid #9ac447; background: #f3f7ed; font-size: 9px; line-height: 1.5; }
.instruction-list { display: grid; gap: 6px; }
.instruction { padding: 10px; border: 1px solid #e0e5dc; border-radius: 9px; display: grid; grid-template-columns: 75px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.instruction > span { color: #6a8a34; font-size: 7px; font-weight: 950; text-transform: uppercase; }
.instruction p { margin: 0; font-size: 9px; line-height: 1.5; }
.instruction button { min-height: 29px; padding: 0 8px; border: 1px solid #ccd4c8; border-radius: 7px; background: white; cursor: pointer; font-size: 7px; font-weight: 800; }
.instruction button.done { border-color: #cfe4aa; background: #edf6de; color: #5c8024; }
.priority-critical { border-left: 4px solid #b85347; }
.priority-important { border-left: 4px solid #e0a12d; }
.reference-link { align-self: start; padding: 7px 9px; border-radius: 7px; background: #f0f4eb; color: #567429; font-size: 8px; font-weight: 800; text-decoration: none; }

.director-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.director-card { padding: 23px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.director-card h2 { margin: 7px 0; font-size: 19px; }
.director-card > p:not(.eyebrow) { margin: 0 0 18px; color: var(--muted); font-size: 9px; }
.director-card form { display: grid; gap: 11px; }
.rehearsal-builder { margin-top: 14px; }
.director-welcome { margin-bottom: 16px; padding: 22px 24px; overflow: hidden; border-radius: 17px; background: linear-gradient(120deg, #182018, #283827); color: white; position: relative; }
.director-welcome::after { content: ""; position: absolute; width: 220px; height: 220px; right: -55px; top: -110px; border-radius: 50%; background: radial-gradient(circle, rgba(198,255,69,.34), rgba(198,255,69,0) 68%); }
.director-welcome h2 { margin: 6px 0; font-size: 25px; letter-spacing: -.04em; }
.director-welcome p:last-child { margin: 0; color: #c8d2c3; font-size: 11px; }
.director-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.director-module-card { min-height: 132px; padding: 18px; border: 1px solid #dae3d3; border-radius: 16px; background: linear-gradient(145deg, #fff, #f7faF3); color: var(--ink); cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: rgba(174, 217, 83, .18); display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; text-align: left; text-decoration: none; box-shadow: 0 7px 20px rgba(30, 43, 20, .045); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.director-module-card:hover, .director-module-card.active { transform: translateY(-2px); border-color: #aeca72; box-shadow: 0 13px 28px rgba(41, 62, 20, .1); }
.director-module-card > span { width: 48px; height: 48px; border-radius: 14px; background: #c6fa4b; display: grid; place-items: center; font-size: 20px; font-weight: 900; }
.director-module-card div { min-width: 0; }
.director-module-card small { color: #698a34; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.director-module-card h3 { margin: 5px 0; font-size: 15px; line-height: 1.2; }
.director-module-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.4; }
.director-module-card > b { color: #87ac47; font-size: 18px; }
.director-module-card > em { min-width: 30px; height: 30px; margin-right: -5px; border-radius: 50%; background: #273621; color: #c7fb4e; display: grid; place-items: center; font-size: 10px; font-style: normal; font-weight: 900; }
.module-card-tail { width: auto !important; height: auto !important; border-radius: 0 !important; background: transparent !important; display: inline-flex !important; align-items: center; gap: 9px; white-space: nowrap; }
.module-card-tail em { min-width: 30px; height: 30px; border-radius: 50%; background: #273621; color: #c7fb4e; display: grid; place-items: center; font-size: 10px; font-style: normal; font-weight: 900; }
.module-card-tail b { color: #87ac47; font-size: 18px; }
.director-module-card.invitations > span { background: #d9d0ff; color: #5a429d; }
.director-module-card.rehearsals > span { background: #ffdda2; color: #815413; }
.director-module-card.songs > span { background: #bfeee9; color: #226e68; }
.director-module-panel { display: block; padding: 24px; border: 1px solid #cdddbc; border-radius: 17px; background: linear-gradient(145deg, #fff, #f8fbf4); box-shadow: 0 16px 38px rgba(31, 47, 17, .08); animation: directorPanelIn .28s cubic-bezier(.2,.75,.25,1); }
@keyframes directorPanelIn { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }
.module-panel-heading { margin-bottom: 20px; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 13px; }
.module-panel-heading > span { width: 48px; height: 48px; border-radius: 14px; background: #c6fa4b; display: grid; place-items: center; font-size: 19px; font-weight: 900; }
.module-panel-heading h2 { margin: 5px 0; font-size: 21px; }
.module-panel-heading p:last-child { margin: 0; color: var(--muted); font-size: 10px; }
.panel-close { width: 38px; height: 38px; border: 1px solid #d7dfd1; border-radius: 50%; background: white; color: #6b7567; cursor: pointer; display: grid; place-items: center; text-decoration: none; font-size: 18px; }
.director-page-back { width: max-content; margin-bottom: 13px; padding: 8px 11px; border: 1px solid #d5dfce; border-radius: 9px; background: white; color: #5e7d33; display: inline-flex; align-items: center; text-decoration: none; font-size: 9px; font-weight: 850; }
.director-module-panel > form { display: grid; gap: 11px; }
.rehearsal-management { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr); gap: 20px; align-items: start; }
.rehearsal-management > form { display: grid; gap: 11px; }
.created-rehearsals { overflow: hidden; border: 1px solid #dde5d7; border-radius: 12px; background: white; }
.created-rehearsals > div { padding: 12px 14px; background: #f1f6e9; display: flex; align-items: center; justify-content: space-between; }
.created-rehearsals > div small { color: #62822f; font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.created-rehearsals article { padding: 12px 14px; border-top: 1px solid #e4e9df; display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 10px; }
.created-rehearsals article > span { min-width: 0; display: grid; gap: 4px; }
.created-rehearsals article strong, .created-rehearsals article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.created-rehearsals article strong { font-size: 10px; }
.created-rehearsals article small { color: var(--muted); font-size: 8px; }
.created-rehearsals article > em { padding: 5px 7px; border-radius: 999px; background: #eee; color: #6c7468; font-size: 7px; font-style: normal; font-weight: 900; }
.created-rehearsals article > em.status-published { background: #e1f4c2; color: #557b20; }
.created-rehearsals article > b { font-size: 10px; }
.created-rehearsals article > b small { display: block; font-size: 6px; font-weight: 600; }
.created-rehearsals article > a { border: 0; background: transparent; color: #608529; cursor: pointer; text-decoration: none; font-size: 8px; font-weight: 900; }
.decisions-panel .change-bulk-actions { margin: -4px 0 14px; justify-content: flex-end; }
.new-preparation-link { width: 38px; height: 38px; padding: 0; border-radius: 50%; display: inline-grid; place-items: center; text-decoration: none; white-space: nowrap; font-size: 20px; line-height: 1; }
.preparation-index { width: 100%; }
.preparation-index-row { min-height: 72px; padding: 12px 14px; border-top: 1px solid #e4e9df; color: var(--ink); display: grid; grid-template-columns: minmax(0, 1fr) auto auto 24px; align-items: center; gap: 12px; text-decoration: none; transition: background .18s ease; }
.preparation-index-row:hover { background: #f7fbea; }
.preparation-index-row > span { min-width: 0; display: grid; gap: 5px; }
.preparation-index-row strong, .preparation-index-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preparation-index-row strong { font-size: 12px; }
.preparation-index-row small { color: var(--muted); font-size: 9px; }
.preparation-index-row > em { padding: 5px 8px; border-radius: 999px; background: #eee; color: #6c7468; font-size: 8px; font-style: normal; font-weight: 900; }
.preparation-index-row > em.status-published { background: #e1f4c2; color: #557b20; }
.preparation-index-row > b { font-size: 11px; }
.preparation-index-row > b small { display: block; font-size: 7px; font-weight: 600; }
.preparation-index-row > i { color: #70953b; font-size: 17px; font-style: normal; }
.new-plan-page { max-width: 760px; }
.new-plan-page > form { display: grid; gap: 12px; }
.full-preparation-create { max-width: 900px; }
.full-preparation-create form > section { padding: 17px; border: 1px solid #dce6d4; border-radius: 13px; background: rgba(255,255,255,.8); display: grid; gap: 11px; }
.full-preparation-create form > section h3 { margin: 0 0 2px; color: #5d7d31; font-size: 11px; letter-spacing: .02em; }
.preparation-detail-hero { margin-bottom: 13px; padding: 21px 24px; border-radius: 16px; background: linear-gradient(120deg, #1b251a, #31442a); color: white; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.preparation-detail-hero h2 { margin: 6px 0; font-size: 24px; }
.preparation-detail-hero p:last-child { margin: 0; color: #c7d3c0; font-size: 10px; }
.preparation-song-list { margin-bottom: 18px; overflow: hidden; border: 1px solid #dfe6da; border-radius: 11px; background: white; }
.preparation-song-list > article { min-height: 68px; padding: 11px 13px; border-top: 1px solid #e6eae3; display: grid; grid-template-columns: minmax(150px, .8fr) minmax(180px, 1.2fr) auto; align-items: center; gap: 14px; }
.preparation-song-list > article:first-child { border-top: 0; }
.preparation-song-list article > span { min-width: 0; display: grid; gap: 4px; }
.preparation-song-list strong { font-size: 11px; }
.preparation-song-list small, .preparation-song-list p { color: var(--muted); font-size: 8px; }
.preparation-song-list p { margin: 0; line-height: 1.45; }
.preparation-song-list article > b { font-size: 11px; }
.preparation-song-list article > b small { display: block; font-size: 7px; font-weight: 600; }
.preparation-add-song { margin: 18px 0; padding: 16px; border: 1px solid #d7e3ca; border-radius: 12px; background: #f5f9ef; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px !important; }
.unified-preparation-form { grid-template-columns: 1fr; align-items: stretch; }
.plan-instruction-summary { min-width: 0; display: grid; gap: 7px; }
.plan-instruction-summary p { margin: 0; }
.plan-instruction-summary b { color: #5d7d31; font-size: 8px; }
.remove-plan-song { min-height: 32px; padding: 0 10px; border: 1px solid #dfd8d0; border-radius: 8px; background: white; color: #7a675c; cursor: pointer; font-size: 8px; font-weight: 850; }
.preparation-add-song > div { display: grid; gap: 10px; }
.song-picker-trigger { width: 100%; min-height: 40px; padding: 0 12px; border: 1px solid #cfd8c8; border-radius: 8px; background: white; color: #777f74; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; }
.song-picker-trigger.selected { border-color: #9fca58; background: #f6fce9; color: var(--ink); }
.song-picker-trigger span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.song-picker-trigger b { color: #608429; font-size: 8px; white-space: nowrap; }
.modal-open { overflow: hidden; }
.song-picker { position: fixed; z-index: 150; inset: 0; padding: 28px; background: rgba(17, 22, 17, .68); backdrop-filter: blur(8px); display: grid; place-items: center; }
.song-picker.hidden { display: none; }
.song-picker-shell { width: min(880px, 100%); max-height: min(820px, calc(100vh - 56px)); overflow: hidden; border: 1px solid #cfddc0; border-radius: 20px; background: #f8faf5; box-shadow: 0 28px 80px rgba(8, 14, 7, .35); display: grid; grid-template-rows: auto auto minmax(0, 1fr); animation: songPickerIn .24s cubic-bezier(.2,.75,.25,1); }
@keyframes songPickerIn { from { opacity: 0; transform: translateY(12px) scale(.985); } }
.song-picker-shell > header { padding: 20px 22px 15px; display: flex; justify-content: space-between; gap: 18px; }
.song-picker-shell > header h2 { margin: 5px 0; font-size: 23px; }
.song-picker-shell > header p:last-child { margin: 0; color: var(--muted); font-size: 10px; }
.song-picker-shell > header button { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid #d6ded0; border-radius: 50%; background: white; cursor: pointer; font-size: 18px; }
.song-picker-search { margin: 0 22px 15px; min-height: 44px; padding: 0 13px; border: 1px solid #cfd9c8; border-radius: 10px; background: white; display: flex; align-items: center; gap: 9px; }
.song-picker-search span { color: #75934b; font-size: 17px; }
.song-picker-search input { width: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 11px; }
.song-picker-genres { overflow-y: auto; padding: 0 22px 22px; display: grid; align-content: start; gap: 9px; }
.song-picker-genre { overflow: hidden; border: 1px solid #dce4d6; border-radius: 11px; background: white; }
.song-picker-genre.filtered-out, .song-picker-row.filtered-out { display: none; }
.song-picker-genre-heading { width: 100%; min-height: 46px; padding: 0 13px; border: 0; background: #f0f5e8; cursor: pointer; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 8px; text-align: left; }
.song-picker-genre-heading::-webkit-details-marker { display: none; }
.song-picker-genre-heading { list-style: none; }
.song-picker-genre-heading span { color: #66853a; transition: transform .2s ease; }
.song-picker-genre-heading strong { font-size: 11px; }
.song-picker-genre-heading b { min-width: 25px; padding: 4px 7px; border-radius: 999px; background: #dfeacd; color: #557629; font-size: 8px; text-align: center; }
.song-picker-genre:not([open]) .song-picker-genre-heading span { transform: rotate(-90deg); }
.song-picker-row { min-height: 64px; padding: 8px 11px; border-top: 1px solid #e5e9e1; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 11px; }
.song-picker-row > span { min-width: 0; display: grid; gap: 4px; }
.song-picker-row strong, .song-picker-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.song-picker-row strong { font-size: 11px; }
.song-picker-row small { color: var(--muted); font-size: 8px; }
.picker-play { width: 38px; height: 38px; border: 1px solid #ccd8c3; border-radius: 50%; background: #fbfdf9; color: #55702e; cursor: pointer; }
.picker-play.playing { background: #c8fa4c; color: #19220f; }
.picker-play.disabled { color: #b9beb6; cursor: default; }
.pick-song { min-height: 34px; padding: 0 11px; border: 1px solid #aeca76; border-radius: 8px; background: #eff9dc; color: #4e7120; cursor: pointer; font-size: 8px; font-weight: 900; }
.instruction-create { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.builder-actions { display: flex; justify-content: space-between; gap: 8px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.generated-link { margin-top: 12px; padding: 10px; border-radius: 9px; background: #eef7df; display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.generated-link b { grid-column: 1 / -1; font-size: 8px; }
.generated-link input { min-height: 35px; font-size: 8px; }
.generated-link button { border: 0; border-radius: 7px; background: #caee83; cursor: pointer; font-size: 8px; font-weight: 800; }
.member-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.member-grid article { min-height: 66px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: white; display: grid; grid-template-columns: 38px minmax(0,1fr) auto auto; align-items: center; gap: 10px; }
.member-grid article > span, .member-avatar-preview { width: 38px; height: 38px; padding: 0; overflow: hidden; border: 0; border-radius: 50%; background: #e9f0df; display: grid; place-items: center; color: #62852b; font-size: 12px; font-weight: 900; }
.member-avatar-preview { cursor: pointer; box-shadow: 0 0 0 2px white, 0 0 0 3px #bfd88b; transition: transform .18s ease, box-shadow .18s ease; }
.member-avatar-preview:hover { transform: scale(1.06); box-shadow: 0 0 0 2px white, 0 0 0 4px #a8cd5a; }
.member-grid h3 { margin: 0 0 3px; font-size: 10px; }
.member-grid h3 em { margin-left: 4px; color: #9a6d55; font-size: 6px; font-style: normal; text-transform: uppercase; }
.member-grid article.inactive { background: #faf8f4; }
.member-grid p { margin: 0; color: var(--muted); font-size: 7px; }
.member-grid article > b { font-size: 13px; }
.member-grid article > b small { display: block; color: var(--muted); font-size: 6px; font-weight: 600; }
.member-actions { display: flex; gap: 5px; }
.member-actions button { white-space: nowrap; }
.member-access { border: 1px solid #bad77c; border-radius: 7px; padding: 7px 9px; background: #eff9dc; color: #4e6928; cursor: pointer; font-size: 7px; font-weight: 800; }
.member-access-result { grid-column: 1 / -1; }
.member-access-result:empty { display: none; }
.member-access-result .generated-link { margin-top: 3px; }
.director-proposal-list { display: grid; gap: 10px; }
.director-proposal-list > article { min-height: 82px; padding: 13px 14px; border: 1px solid #dce5d5; border-radius: 12px; background: white; display: grid; grid-template-columns: 40px minmax(0,1fr) auto auto; align-items: center; gap: 12px; }
.director-proposal-list > article.resolved { opacity: .68; background: #f7f8f5; }
.proposal-member-photo { width: 40px; height: 40px; overflow: hidden; border-radius: 50%; background: #def0c4; color: #527529; display: grid; place-items: center; font-size: 13px; font-weight: 900; }
.proposal-member-photo img { width: 100%; height: 100%; object-fit: cover; }
.director-proposal-list article > div { min-width: 0; }
.director-proposal-list h3 { margin: 4px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.director-proposal-list p, .director-proposal-list small { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.director-proposal-list em { padding: 6px 8px; border-radius: 999px; background: #eef6df; color: #5b7c2e; font-size: 7px; font-style: normal; font-weight: 900; }
.director-proposal-list a { padding: 8px 10px; border-radius: 8px; background: #f1f4ed; color: #4f6f2a; text-decoration: none; font-size: 8px; font-weight: 900; }
.proposal-match-field { display: grid; gap: 5px; margin-top: 12px; }
.proposal-match-field span { color: var(--muted); font-size: 9px; font-weight: 800; }
.proposal-match-field input { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #ced9c6; border-radius: 9px; background: #fbfcf9; font: inherit; }
.proposal-resolution-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.proposal-resolution-actions button { min-height: 34px; padding: 7px 10px; font-size: 9px; }
.decision-history-link { align-self: center; text-decoration: none; white-space: nowrap; }
.history-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0; padding: 14px; border: 1px solid #dce6d3; border-radius: 14px; background: #f7faf2; }
.history-filters label { display: grid; gap: 6px; }
.history-filters span { color: #68813f; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.history-filters select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #ccd8c2; border-radius: 10px; background: white; font: inherit; }
.history-list { display: grid; gap: 9px; }
.history-list > article { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #dce5d5; border-radius: 13px; background: white; }
.history-list > article.superseded { background: #f7f8f5; opacity: .72; }
.history-list > article.current { border-color: #b9d985; box-shadow: inset 3px 0 #9dce42; }
.history-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #eff8df; color: #59772c; font-size: 17px; font-weight: 900; }
.history-list article > div { min-width: 0; display: grid; gap: 3px; }
.history-list small, .history-list p { margin: 0; color: var(--muted); font-size: 9px; }
.history-list strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.history-validity { width: max-content; margin-top: 4px; padding: 4px 7px; border-radius: 999px; background: #eaf6d8; color: #58782e; font-size: 7px; font-weight: 900; text-transform: uppercase; }
.history-list .superseded .history-validity { background: #e9ebe6; color: #777d72; }
.history-list em { padding: 6px 9px; border-radius: 999px; font-size: 8px; font-style: normal; font-weight: 900; }
.history-status-accepted { background: #e9f7d2; color: #55782a; }
.history-status-rejected { background: #f0f0ed; color: #6c7166; }
.history-status-pending { background: #fff3cf; color: #8a6917; }
.change-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.change-card { position: relative; min-height: 178px; overflow: hidden; padding: 17px; border: 1px solid #d9e4cf; border-radius: 16px; background: linear-gradient(145deg, #fff 20%, #f6faef); box-shadow: 0 7px 20px rgba(34, 50, 21, .055); display: flex; flex-direction: column; gap: 15px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.change-card::after { content: ""; position: absolute; right: -42px; top: -52px; width: 132px; height: 132px; border-radius: 50%; background: rgba(190, 247, 68, .12); pointer-events: none; }
.change-card:hover { transform: translateY(-2px); border-color: #bcd486; box-shadow: 0 12px 30px rgba(34, 50, 21, .1); }
.change-card header { position: relative; z-index: 1; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.change-icon { width: 40px; height: 40px; border-radius: 12px; background: #c5fb45; color: #263313; display: grid; place-items: center; font-size: 17px; font-weight: 900; box-shadow: inset 0 0 0 1px rgba(66, 92, 27, .12); }
.change-card header div { min-width: 0; display: grid; gap: 3px; }
.change-card header small { color: #668738; font-size: 8px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.change-card header b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.change-card header em { padding: 5px 8px; border-radius: 999px; background: #edf4e2; color: #69843c; font-size: 7px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.change-copy { flex: 1; display: grid; align-content: start; gap: 7px; }
.change-copy strong { font-size: 14px; line-height: 1.35; }
.change-copy small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.change-youtube .change-icon { background: #ffdfdc; color: #d83e31; }
.change-missing_song .change-icon { background: #ddd2ff; color: #6243a6; }
.change-profile .change-icon { background: #c9f0ed; color: #277a72; }
.change-mix_part .change-icon { background: #ffe1a7; color: #916016; }
.change-actions, .change-bulk-actions { display: flex !important; grid-auto-flow: column; gap: 7px !important; }
.change-actions { justify-content: flex-end; padding-top: 12px; border-top: 1px solid #e4eadf; }
.change-actions button, .change-bulk-actions button { min-height: 36px; padding: 0 13px; }
.change-actions .primary { flex: 1; max-width: 150px; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 100; max-width: 320px; padding: 13px 16px; border-radius: 10px; background: var(--dark); color: white; box-shadow: 0 15px 45px rgba(0,0,0,.2); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; font-size: 10px; }
.toast.visible { opacity: 1; transform: translateY(0); }
.audio-hub { position: fixed; left: 265px; right: 22px; bottom: 18px; z-index: 140; min-height: 68px; padding: 10px 12px 10px 17px; border: 1px solid #3b4639; border-radius: 15px; background: rgba(22, 27, 23, .96); color: white; box-shadow: 0 18px 50px rgba(9, 14, 10, .28); backdrop-filter: blur(16px); display: grid; grid-template-columns: minmax(150px, 1fr) 42px minmax(180px, 1.4fr) 48px auto; align-items: center; gap: 11px; animation: audioHubIn 220ms cubic-bezier(.2,.75,.25,1); }
body[data-account-shell="1"] .audio-hub { left: 22px; }
body[data-orbitboard-page="1"] { --setlist-color:#9b72ff;--setlist-color-rgb:155,114,255;--setlist-color-soft:#d8cbff; }
body[data-orbitboard-page="1"],body[data-orbitboard-page="1"] .account-shell,body[data-orbitboard-page="1"] .account-main.group-visual-stage { min-height:100dvh;background:#050708;color:#f4f6f2; }
body[data-orbitboard-page="1"] .account-header { display:none; }
body[data-orbitboard-page="1"] .group-workspace-heading { display:none; }
body[data-orbitboard-page="1"] .account-main { padding-top:0; }
body[data-orbitboard-page="1"] .group-section-nav { top:0;border-bottom-color:rgba(var(--setlist-color-rgb),.45);background:linear-gradient(90deg,rgba(var(--setlist-color-rgb),.15),rgba(8,11,10,.98) 38%);box-shadow:0 8px 28px rgba(var(--setlist-color-rgb),.13); }
body[data-orbitboard-page="1"] .group-section-nav a:hover,body[data-orbitboard-page="1"] .group-section-nav a.active { border-bottom-color:var(--setlist-color);color:var(--setlist-color-soft); }
body[data-orbitboard-page="1"] .group-section-nav { flex-wrap:wrap;row-gap:0;overflow:visible !important; }
body[data-orbitboard-page="1"] .group-section-nav > a { display:none; }
body[data-orbitboard-page="1"] .group-section-nav > .orbitboard-setlist-strip { flex:0 0 100%;width:100%;margin:2px 0 -1px;padding:4px 0 8px;background:transparent;scrollbar-width:none; }
body[data-orbitboard-page="1"] .group-section-nav > .orbitboard-setlist-strip::-webkit-scrollbar { display:none; }
body[data-orbitboard-page="1"] .audio-hub { left:12px;right:12px;bottom:12px; }
body[data-orbitboard-page="1"]:has(#audio-hub:not(.hidden)) .account-main { padding-bottom:calc(90px + var(--audio-hub-clearance)); }
body:has(#audio-hub:not(.hidden)) { --audio-hub-clearance: 112px; }
body:has(#audio-hub:not(.hidden)) .account-main { padding-bottom: calc(90px + var(--audio-hub-clearance)); }
body:has(#audio-hub:not(.hidden)) .my-song-sheet-dialog { max-height: calc(100dvh - var(--audio-hub-clearance) - 24px); }
.audio-hub-copy { min-width: 0; display: grid; gap: 3px; }
.audio-hub-copy small { color: #9eb18f; font-size: 10px; font-weight: 900; letter-spacing: .11em; }
.audio-hub-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.audio-hub-toggle { width: 42px; height: 42px; border: 1px solid #667260; border-radius: 50%; background: #caff4c; color: #17200e; cursor: pointer; font-size: 15px; font-weight: 950; }
.audio-hub-timeline { min-width: 0; display: grid; grid-template-columns: minmax(80px, 1fr) auto; align-items: center; gap: 10px; }
.audio-hub-timeline input { min-height: 18px; padding: 0; accent-color: #b9ee43; cursor: pointer; }
.audio-hub-timeline span { color: #aeb8ad; font-size: 11px; white-space: nowrap; }
.audio-hub-timeline b { color: inherit; font-weight: 750; }
.audio-hub-stop { min-height: 38px; padding: 0 13px; border: 1px solid #596258; border-radius: 9px; background: #30372f; color: #e5e9e3; cursor: pointer; font-size: 12px; font-weight: 850; }
.audio-hub-tap { width: 46px; height: 46px; padding: 4px; border: 1px solid #526557; border-radius: 10px; background: linear-gradient(145deg,#233027,#151c18); color: #caff4c; cursor: pointer; display: grid; place-items: center; align-content: center; gap: 0; box-shadow: inset 0 0 14px rgba(202,255,76,.05); }
.audio-hub-tap span { font-size: 18px; line-height: 1; }
.audio-hub-tap small { font-size: 7px; font-weight: 950; letter-spacing: .08em; }
.group-visual-stage > .group-orbitboard-app { width:min(1500px,calc(100% - 32px));margin:14px auto 0;position:relative;z-index:1; }
.orbitboard-shell { min-height:60vh;padding:clamp(12px,2vw,24px);border:1px solid rgba(var(--setlist-color-rgb),.24);border-radius:24px;background:linear-gradient(145deg,rgba(var(--setlist-color-rgb),.055),transparent 34%),rgba(10,13,14,.95);color:#f6f7f5;box-shadow:0 26px 80px rgba(0,0,0,.4); }
.group-orbitboard-app,.group-orbitboard-app * { -webkit-user-select:none;user-select:none;-webkit-touch-callout:none; }
.group-orbitboard-app input,.group-orbitboard-app textarea,.group-orbitboard-app select,[contenteditable="true"] { -webkit-user-select:text;user-select:text;-webkit-touch-callout:default; }
.orbitboard-intro { display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:20px; }
.orbitboard-intro .eyebrow { width:100%;margin:0;color:var(--lime); }
.orbitboard-intro h2 { margin:0;font-size:clamp(30px,5vw,58px);letter-spacing:-.055em; }
.orbitboard-intro > p:last-child { margin:0 0 5px;color:#9ea7a0; }
.orbitboard-setlist-strip { display:flex;gap:10px;overflow-x:auto;padding:4px 2px 13px;scrollbar-width:thin;scroll-snap-type:x proximity; }
.orbitboard-setlist-strip button { flex:0 0 auto;width:max-content;min-height:46px;padding:10px 18px;border:1px solid #343a38;border-radius:14px;background:#1a1e1e;color:#aab0ad;text-align:left;cursor:pointer;scroll-snap-align:start;display:grid;align-items:center; }
.orbitboard-setlist-strip button span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900; }
.orbitboard-setlist-strip button.active { border-color:var(--setlist-color);background:var(--setlist-color);color:#101414;box-shadow:0 0 25px rgba(var(--setlist-color-rgb),.25); }
.orbitboard-setlist-strip .orbitboard-start-live { --live-cta:#b8ff39; width:46px;min-width:46px;padding:0;border-color:var(--live-cta);background:transparent;color:var(--live-cta);place-items:center;text-align:center;box-shadow:none; }
.visual-theme-orbit-lime .orbitboard-start-live { --live-cta:#a981ff; }
.visual-theme-ion-cyan .orbitboard-start-live,.visual-theme-aurora-teal .orbitboard-start-live { --live-cta:#ffca43; }
.visual-theme-eclipse-amber .orbitboard-start-live,.visual-theme-quantum-gold .orbitboard-start-live { --live-cta:#45dcff; }
.orbitboard-setlist-strip .orbitboard-start-live span { overflow:visible;font-size:17px;line-height:1; }
.orbitboard-setlist-strip .orbitboard-start-live:hover:not(:disabled) { filter:brightness(1.1);transform:translateY(-1px); }
.orbitboard-setlist-strip .orbitboard-start-live.starting { cursor:wait; }
.orbitboard-setlist-strip .orbitboard-start-live.live { background:var(--live-cta);color:#13200d;box-shadow:0 0 24px color-mix(in srgb,var(--live-cta) 34%,transparent); }
.orbitboard-setlist-strip .orbitboard-start-live.is-remote-live { opacity:.5;cursor:not-allowed; }
.orbitboard-setlist-strip .orbitboard-exit { position:sticky;right:0;z-index:3;flex:0 0 46px;width:46px;min-width:46px;height:46px;margin-left:auto;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(19,23,23,.96);color:#f2f5ef;display:grid;place-items:center;text-decoration:none;box-shadow:-12px 0 20px rgba(8,11,10,.78); }
.orbitboard-setlist-strip .orbitboard-exit span { overflow:visible;font-size:20px;font-weight:900;line-height:1; }
.orbitboard-setlist-strip .orbitboard-exit:hover { border-color:var(--setlist-color);color:var(--setlist-color-soft);transform:translateY(-1px); }
.orbitboard-setlist-strip .orbitboard-exit.pressing { border-color:var(--setlist-color);color:var(--setlist-color-soft);transform:scale(.92);box-shadow:-12px 0 20px rgba(8,11,10,.78),0 0 22px rgba(var(--setlist-color-rgb),.42); }
.orbitboard-setlist-strip .orbitboard-exit.disabled { cursor:not-allowed;opacity:.38;filter:saturate(.15);pointer-events:auto; }
.orbitboard-pad-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:clamp(10px,1.6vw,20px);transition:opacity .16s ease; }
.orbitboard-pad-grid.loading { opacity:.42; }
.orbitboard-pad-grid.can-reorder .orbitboard-pad:not(:disabled) { cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none; }
.orbitboard-pad-grid.is-reordering .orbitboard-pad:active,.orbitboard-pad.dragging { cursor:grabbing; }
.orbitboard-pad.drag-armed,.orbitboard-pad.dragging { opacity:.72;transform:scale(1.04);box-shadow:0 0 0 5px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 48%,transparent),0 24px 50px rgba(0,0,0,.72); }
.orbitboard-drop-placeholder { min-width:0;aspect-ratio:1;border:3px dashed rgba(225,231,224,.82);border-radius:22px;background:rgba(225,231,224,.09);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 0 0 1px rgba(0,0,0,.16);pointer-events:none;animation:orbitboardDropPlaceholderIn .16s ease both; }
@keyframes orbitboardDropPlaceholderIn { from { opacity:0;transform:scale(.92); } to { opacity:1;transform:scale(1); } }
.orbitboard-pad { position:relative;isolation:isolate;aspect-ratio:1;min-width:0;overflow:hidden;padding:16px;border:3px solid var(--pad-border-color,var(--setlist-color));border-radius:22px;background:#23292a;color:white;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 12px 25px rgba(0,0,0,.24); }
.orbitboard-pad-portraits { position:absolute;inset:0;z-index:0;display:grid;background:linear-gradient(145deg,rgba(var(--theme-accent-rgb),.55),#17201b); }
.orbitboard-pad-portraits.count-2,.orbitboard-pad-portraits.count-4 { grid-template-columns:repeat(2,1fr); }
.orbitboard-pad-portraits.count-3 { grid-template-columns:repeat(2,1fr); }
.orbitboard-pad-portraits.count-3 > :first-child { grid-row:span 2; }
.orbitboard-member-portrait { position:relative;width:100%;height:100%;min-height:0;overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--member-color) 62%,#17201b);color:white;font-style:normal;font-size:34px;font-weight:950; }
.orbitboard-member-portrait img { width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.07); }
.orbitboard-member-portrait b { position:relative;z-index:1;font-size:34px; }
.orbitboard-member-portrait u { position:absolute;inset:0;background:linear-gradient(145deg,color-mix(in srgb,var(--member-color) 86%,transparent),color-mix(in srgb,var(--member-color) 58%,#050706));mix-blend-mode:multiply;opacity:.92;text-decoration:none;pointer-events:none;box-shadow:inset 0 0 42px color-mix(in srgb,var(--member-color) 62%,transparent); }
.orbitboard-pad-portraits em { position:absolute;right:9px;top:9px;padding:5px 7px;border-radius:999px;background:rgba(0,0,0,.72);color:white;font-style:normal;font-size:11px;font-weight:900; }
.orbitboard-pad-shade { position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,7,6,.15),rgba(4,7,6,.58)),radial-gradient(circle at center,transparent 0,rgba(1,3,2,.32) 100%); }
.orbitboard-pad-buffer { position:absolute;left:12px;right:12px;bottom:10px;height:4px;z-index:4;border-radius:999px;background:rgba(255,255,255,.22);opacity:0;overflow:hidden;transition:opacity .18s ease;box-shadow:0 0 8px rgba(0,0,0,.3); }
.orbitboard-pad-buffer i { display:block;width:0;height:100%;border-radius:inherit;background:var(--pad-border-color,var(--setlist-color));box-shadow:0 0 9px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 75%,transparent);transition:width .2s linear; }
.orbitboard-pad.buffering .orbitboard-pad-buffer,.orbitboard-pad.playing .orbitboard-pad-buffer { opacity:1; }
.orbitboard-pad strong { position:absolute;inset:18% 10%;z-index:2;display:grid;place-items:center;text-align:center;text-wrap:balance;font-size:clamp(17px,2vw,28px);line-height:1.03;text-shadow:0 2px 14px #000,0 1px 2px #000; }
.orbitboard-pad-state { position:absolute;right:12px;top:12px;z-index:3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(7,10,9,.7);color:var(--setlist-color);font-size:12px; }
.orbitboard-pad small { position:absolute;left:12px;right:12px;bottom:12px;z-index:2;color:#aab1ae;font-size:10px;font-weight:850;text-transform:uppercase; }
.orbitboard-pad:hover:not(:disabled),.orbitboard-pad:focus-visible { transform:translateY(-2px);border-color:var(--pad-border-color,var(--setlist-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 28%,transparent),0 18px 35px rgba(0,0,0,.38); }
.orbitboard-pad.playing { border-color:var(--pad-border-color,var(--setlist-color));box-shadow:0 0 0 4px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 34%,transparent),0 0 42px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 28%,transparent); }
.orbitboard-pad.selected { z-index:12;transform:scale(1.075);box-shadow:0 0 0 5px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 48%,transparent),0 22px 46px rgba(0,0,0,.68);animation:orbitboardPadPulse 1.2s ease-in-out infinite; }
@keyframes orbitboardPadPulse { 0%,100% { box-shadow:0 0 0 4px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 38%,transparent),0 18px 38px rgba(0,0,0,.58); } 50% { box-shadow:0 0 0 9px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 62%,transparent),0 0 42px color-mix(in srgb,var(--pad-border-color,var(--setlist-color)) 52%,transparent),0 24px 52px rgba(0,0,0,.72); } }
.orbitboard-pad.unavailable { cursor:not-allowed;filter:saturate(.25);opacity:.54; }
.orbitboard-empty { grid-column:1/-1;min-height:340px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:#aeb6b0; }
.orbitboard-empty span { font-size:44px;color:var(--lime); }.orbitboard-empty h2,.orbitboard-empty h3,.orbitboard-empty p { margin:0; }.orbitboard-empty a { color:var(--lime);font-weight:900; }
.audio-hub-tap.metro-live { border-color: #caff4c; box-shadow: 0 0 18px rgba(202,255,76,.42), inset 0 0 12px rgba(202,255,76,.14); animation: tapDockLive 1s infinite alternate; }
@keyframes tapDockLive { to { filter: brightness(1.35); } }
@keyframes audioHubIn { from { opacity: 0; transform: translateY(16px); } }

.tap-lab-backdrop { position: fixed; inset: 0; z-index: 160; padding: 18px; background: radial-gradient(circle at 50% 50%, rgba(43,255,190,.1), transparent 38%), rgba(3,6,8,.88); backdrop-filter: blur(15px); display: grid; place-items: center; }
.tap-lab { width: min(620px,100%); max-height: 94vh; overflow: auto; padding: 24px; position: relative; border: 1px solid #2fffc2; border-radius: 24px; background: radial-gradient(circle at 50% 38%, rgba(17,81,72,.42), transparent 35%), linear-gradient(160deg,#0d1719,#080c11 72%); color: #eafff9; box-shadow: 0 0 0 1px rgba(113,255,222,.15), 0 0 65px rgba(16,255,197,.22), inset 0 0 70px rgba(0,0,0,.55); display: grid; justify-items: center; gap: 20px; }
.tap-lab::before { content: ""; position: absolute; inset: 10px; pointer-events: none; border: 1px solid rgba(58,255,208,.14); border-radius: 17px; background: repeating-linear-gradient(90deg,transparent 0 38px,rgba(56,255,209,.025) 39px 40px); }
.tap-lab > * { position: relative; z-index: 1; }
.tap-lab > header { width: 100%; display: flex; align-items: flex-start; justify-content: space-between; }
.tap-lab > header p { margin: 0 0 4px; color: #52fbc9; font: 9px/1.2 ui-monospace,monospace; letter-spacing: .2em; }
.tap-lab > header h2 { margin: 0; font-size: 25px; letter-spacing: -.04em; }
.tap-lab > header button { width: 38px; height: 38px; border: 1px solid #28594f; border-radius: 50%; background: #101d1d; color: #94bcb3; cursor: pointer; font-size: 19px; }
.tap-lab-horizontal-content { display: contents; }
.tap-lab-controls, .tap-lab-stage { display: contents; }
.tap-lab-display { display: grid; justify-items: center; gap: 3px; }
.tap-lab-display small { color: #62cbb1; font: 9px/1 ui-monospace,monospace; letter-spacing: .16em; }
.tap-lab-display strong { color: #caff4c; font: 950 clamp(64px,16vw,112px)/.95 Inter,sans-serif; letter-spacing: -.08em; text-shadow: 0 0 28px rgba(202,255,76,.34); }
.tap-lab-display span { color: #8ba9a3; font-size: 11px; }
.tap-lab-core { width: min(270px,65vw); aspect-ratio: 1; border: 1px solid #40ffd0; border-radius: 50%; position: relative; overflow: hidden; background: radial-gradient(circle,#183b35 0 26%,#0b1c1c 27% 47%,#11272a 48% 50%,#071011 51%); color: #dffff5; cursor: pointer; display: grid; place-items: center; align-content: center; gap: 4px; box-shadow: 0 0 0 12px rgba(38,255,204,.03),0 0 55px rgba(38,255,204,.17),inset 0 0 45px rgba(24,255,202,.13); touch-action: manipulation; user-select: none; }
.tap-lab-core::before,.tap-lab-core::after { content:""; position:absolute; inset:10%; border:2px dashed rgba(98,255,218,.72); border-radius:50%; filter: drop-shadow(0 0 5px rgba(61,255,208,.58)); animation: tapOrbit 10s linear infinite; }
.tap-lab-core::after { inset:23%; border-color: rgba(202,255,76,.72); filter: drop-shadow(0 0 5px rgba(202,255,76,.48)); animation-direction:reverse; animation-duration:6s; }
.tap-lab-core b { font-size: 38px; letter-spacing: .12em; }
.tap-lab-core small { color: #71c8b5; font-size: 9px; letter-spacing: .08em; }
.tap-lab-core:active { transform: scale(.965); filter: brightness(1.55); }
.tap-spark { width: var(--spark-size); height: calc(var(--spark-size) * 2.7); position: absolute; left: 50%; top: 50%; z-index: 4; pointer-events: none; border-radius: 99px; background: linear-gradient(#fff,#52ffd2 48%,#caff4c); box-shadow: 0 0 8px #4dffd0,0 0 15px rgba(202,255,76,.75); transform: translate(-50%,-50%) rotate(var(--spark-angle)) translateY(-35px); opacity: 0; animation: tapSparkBurst 620ms cubic-bezier(.1,.7,.2,1) var(--spark-delay) forwards; }
@keyframes tapSparkBurst { 0% { opacity: 0; transform: translate(-50%,-50%) rotate(var(--spark-angle)) translateY(-32px) scale(.4); } 16% { opacity: 1; } 70% { opacity: .95; } 100% { opacity: 0; transform: translate(-50%,-50%) rotate(var(--spark-angle)) translateY(calc(var(--spark-distance) * -1)) scale(.1); } }
@keyframes tapOrbit { to { transform: rotate(360deg); } }
.tap-lab.tap-pulse .tap-lab-core { box-shadow: 0 0 0 14px rgba(38,255,204,.08),0 0 75px rgba(38,255,204,.42),inset 0 0 55px rgba(24,255,202,.26); }
.tap-lab-actions { width: 100%; display: grid; grid-template-columns: 1fr 1.5fr; gap: 9px; }
.tap-lab-actions button { min-height: 48px; border: 1px solid #28594f; border-radius: 11px; background: #111f20; color: #a7cfc5; cursor: pointer; font-weight: 850; }
.tap-lab-actions button:last-child { border-color: #7aa536; background: #caff4c; color: #15200d; }
.tap-lab-actions button:last-child.playing { border-color: #ff587b; background: #431825; color: #ffc6d3; box-shadow: 0 0 25px rgba(255,59,111,.2); }
.tap-lab-actions button:disabled { opacity: .35; cursor: not-allowed; }
.tap-lab-controls > p { margin: 0; color: #6f8e87; font-size: 10px; text-align: center; }

@media (hover: none) and (pointer: coarse) and (max-height: 600px) and (orientation: landscape) {
  .tap-lab-backdrop { padding: max(8px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); place-items: stretch; overflow: hidden; }
  .tap-lab { width: 100%; max-width: none; height: 100%; max-height: none; min-height: 0; padding: 12px 16px; border-radius: 17px; overflow: hidden; grid-template-columns: minmax(150px, .82fr) minmax(0, 1.18fr); grid-template-rows: auto minmax(0, 1fr); column-gap: 18px; row-gap: 7px; justify-items: stretch; }
  .tap-lab > header { grid-column: 1 / -1; min-height: 34px; align-items: center; }
  .tap-lab > header p { margin-bottom: 2px; font-size: 8px; }
  .tap-lab > header h2 { font-size: 19px; }
  .tap-lab > header button { width: 32px; height: 32px; font-size: 17px; }
  .tap-lab-controls, .tap-lab-stage { display: grid; min-height: 0; }
  .tap-lab-controls { grid-column: 1; grid-row: 2; align-content: center; gap: 9px; }
  .tap-lab-stage { grid-column: 2; grid-row: 2; grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-items: center; gap: 12px; }
  .tap-lab-actions { grid-template-columns: 1fr; gap: 7px; }
  .tap-lab-actions button { min-height: 39px; padding: 0 10px; font-size: 10px; }
  .tap-lab-controls > p { max-width: 180px; font-size: 9px; line-height: 1.35; text-align: left; }
  .tap-lab-display { min-width: 0; justify-items: start; gap: 1px; }
  .tap-lab-display small { font-size: 8px; }
  .tap-lab-display strong { font-size: clamp(50px, 12vh, 78px); }
  .tap-lab-display span { max-width: 142px; font-size: 10px; line-height: 1.25; }
  .tap-lab-core { width: min(34vh, 178px); min-width: 112px; max-width: 42vw; }
  .tap-lab-core b { font-size: clamp(24px, 5vh, 34px); }
  .tap-lab-core small { font-size: 8px; }
}

.setup-page { min-height: 100vh; padding: 30px; background: var(--dark); display: grid; place-items: center; }
.setup-card { width: min(540px, 100%); padding: 35px; border-radius: 18px; background: white; }
.setup-card .eyebrow { margin-top: 20px; }
.setup-card h1 { margin: 9px 0; font-size: 32px; }
.setup-card > p:not(.eyebrow) { color: var(--muted); font-size: 11px; line-height: 1.6; }
.setup-card form { margin-top: 20px; display: grid; gap: 13px; }
.success-box { margin-top: 20px; padding: 15px; border-radius: 10px; background: #eef8dd; display: grid; gap: 10px; }
.success-box code { padding: 9px; border-radius: 7px; background: #fff; overflow-wrap: anywhere; font-size: 9px; }
.success-box span { font-size: 9px; }

@media (min-width: 1200px) {
  .genre-groups { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 980px) {
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .member-grid { grid-template-columns: 1fr 1fr; }
  .catalog-toolbar { grid-template-columns: 1fr 190px; }
  .catalog-toolbar .secondary { grid-column: 1 / -1; }
  .song-card { grid-template-columns: 38px minmax(140px,1fr) 112px 68px; }
  .proposal-panel form { grid-template-columns: 1fr 1fr; }
  .rehearsal-management { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .auth-shell { grid-template-columns: 1fr; }
  .auth-brand { min-height: auto; padding: 42px 28px; }
  .auth-brand h1 { font-size: 48px; }
  .auth-features { margin-top: 30px; }
  .auth-card { min-height: auto; padding: 26px 18px 48px; }
  .app-shell { display: block; }
  .sidebar { position: fixed; left: 0; top: 0; width: min(285px, 84vw); transform: translateX(-105%); transition: transform .22s ease; box-shadow: 20px 0 50px rgba(0,0,0,.25); }
  .sidebar.open { transform: translateX(0); }
  .mobile-menu { width: 36px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 9px; background: white; display: grid; place-items: center; cursor: pointer; }
  .sync-state { display: none; }
  .app-content { width: calc(100% - 28px); padding-top: 22px; }
  .topbar { min-height: 68px; padding: 12px 15px; }
  .topbar h1 { font-size: 18px; }
  .welcome-panel { display: grid; align-items: start; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .director-module-grid { grid-template-columns: 1fr; }
  .director-module-card { min-height: 112px; }
  .director-module-panel { padding: 17px; }
  .history-filters { grid-template-columns: 1fr; }
  .history-list > article { grid-template-columns: 42px minmax(0, 1fr); }
  .history-list > article > em { grid-column: 2; justify-self: start; }
  .director-proposal-list > article { grid-template-columns: 40px minmax(0,1fr) auto; }
  .director-proposal-list > article > a { grid-column: 2 / -1; width: max-content; }
  .module-panel-heading { grid-template-columns: 42px minmax(0, 1fr) 36px; }
  .module-panel-heading > span { width: 42px; height: 42px; }
  .created-rehearsals article { grid-template-columns: minmax(0, 1fr) auto; }
  .created-rehearsals article > b { display: none; }
  .preparation-index-row { grid-template-columns: minmax(0, 1fr) auto 20px; }
  .preparation-index-row > b { display: none; }
  .preparation-detail-hero { align-items: flex-start; flex-direction: column; }
  .preparation-song-list > article { grid-template-columns: minmax(0, 1fr) auto; }
  .preparation-song-list > article p { grid-column: 1 / -1; }
  .preparation-add-song { grid-template-columns: 1fr; }
  .song-picker { padding: 0; place-items: stretch; }
  .song-picker-shell { width: 100%; max-height: 100vh; height: 100vh; border: 0; border-radius: 0; }
  .song-picker-shell > header { padding: 17px 16px 12px; }
  .song-picker-shell > header h2 { font-size: 21px; }
  .song-picker-search { margin: 0 16px 12px; }
  .song-picker-genres { padding: 0 16px 18px; }
  .song-picker-row { grid-template-columns: 38px minmax(0, 1fr) auto; }
  .genre-groups { grid-template-columns: 1fr; }
  .catalog-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-grid article, .metric-grid .metric-link { min-height: 86px; padding: 14px; }
  .metric-grid article > span, .metric-grid .metric-link > span { font-size: 23px; }
  .catalog-toolbar { grid-template-columns: 1fr; }
  .catalog-toolbar .secondary { grid-column: auto; }
  .song-card { grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; }
  .song-card.rehearsal-material { grid-template-columns: 34px minmax(0,1fr) auto; }
  .song-play { width: 34px; height: 34px; }
  .stars { grid-column: 2; }
  .knowledge-toggle { grid-column: 2; width: 132px; }
  .song-quick-actions { grid-column: 3; grid-row: 1; }
  .mix-breakdown { margin-left: 0; }
  .mix-breakdown-body > article { grid-template-columns: minmax(0,1fr) 96px; }
  .mix-parts { grid-column: 1 / -1; }
  .rehearsal-card { grid-template-columns: 44px minmax(0,1fr) 26px; }
  .card-count { display: none; }
  .rehearsal-hero, .director-grid { grid-template-columns: 1fr; }
  .setlist > article { grid-template-columns: 30px minmax(0,1fr); }
  .reference-link { grid-column: 2; justify-self: start; }
  .instruction { grid-template-columns: 1fr; }
  .instruction button { justify-self: start; }
  .member-grid { grid-template-columns: 1fr; }
  .change-list { grid-template-columns: 1fr; }
  .change-heading { align-items: stretch; flex-direction: column; }
  .audio-hub, body[data-account-shell="1"] .audio-hub { left: 10px; right: 10px; bottom: 10px; grid-template-columns: minmax(0, 1fr) 42px 46px auto; gap: 7px; }
  body:has(#audio-hub:not(.hidden)) { --audio-hub-clearance: 132px; }
  .audio-hub-timeline { grid-column: 1 / -1; grid-row: 2; }
  .audio-hub-tap { grid-column: 3; grid-row: 1; }
  .audio-hub-stop { grid-column: 4; grid-row: 1; }
  .tap-lab { padding: 19px 15px; gap: 16px; }
  .tap-lab-actions { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .auth-brand h1 { font-size: 40px; }
  .auth-features { grid-template-columns: 1fr; gap: 12px; }
  .auth-features span { grid-template-columns: 30px 1fr; align-items: center; }
  .auth-card form { padding: 23px; }
  .metric-grid { grid-template-columns: 1fr; }
  .catalog-scope { grid-template-columns: 1fr; }
  .proposal-panel form { grid-template-columns: 1fr; }
  .next-rehearsal { align-items: stretch; flex-direction: column; }
  .form-row { grid-template-columns: 1fr; }
}

.context-nav-link { min-height: 45px; padding: 0 13px; border: 1px solid #344034; border-radius: 10px; background: #202720; color: #d8dfd7; display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 750; }
.context-nav-link i { width: 22px; color: var(--lime); font-size: 13px; font-style: normal; text-align: center; }
.context-nav-link:hover { border-color: #5c7451; background: #263026; }

.account-shell { min-height: 100vh; background: #c5c5c5; }
.account-header { min-height: 76px; padding: 0 clamp(20px, 5vw, 70px); border-bottom: 1px solid var(--line); background: rgba(247,249,245,.95); position:relative; z-index:130; overflow:visible; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.account-header.group-header-themed { border-bottom-color: rgba(var(--theme-accent-rgb),.3); background: linear-gradient(105deg, rgba(var(--theme-accent-rgb),.15), transparent 44%), rgba(13,17,14,.96); color: white; box-shadow: 0 6px 22px rgba(var(--theme-accent-rgb),.1); }
.account-header.group-header-themed .sidebar-brand small, .account-header.group-header-themed .account-identity small { color: rgba(239,246,234,.7); }
.account-header.group-header-themed .account-identity .account-avatar { background: rgba(var(--theme-accent-rgb),.18); color: var(--theme-accent-soft); }
.account-header.group-header-themed .account-profile-menu > nav { border-color:rgba(var(--theme-accent-rgb),.38); background:#151a16; box-shadow:0 16px 34px rgba(0,0,0,.32); }
.account-header.group-header-themed .account-profile-menu > nav a,.account-header.group-header-themed .account-profile-menu > nav button { color:rgba(239,246,234,.88); }
.account-header.group-header-themed .account-profile-menu > nav a:hover,.account-header.group-header-themed .account-profile-menu > nav button:hover { background:rgba(var(--theme-accent-rgb),.14); color:var(--theme-accent-soft); }
.account-header.group-header-themed .account-profile-menu > nav button { border-top-color:rgba(255,255,255,.12); color:#ffb4a8; }
.account-brand { padding: 0; display: inline-flex; align-items: center; }
.orbit-logo { width: min(166px, 18vw); height: auto; display: block; }
.orbit-logo-dark { display: none; }
.account-global-nav { margin-right: auto; display: flex; align-items: center; gap: 4px; }
.account-global-nav a { min-height: 38px; padding: 0 11px; border-radius: 9px; color: #697367; display: grid; place-items: center; font-size: 10px; font-weight: 850; text-decoration: none; }
.account-global-nav a i { display: none; }
.account-global-nav a:hover { background: #edf2e8; color: #435237; }
.account-global-nav a.active { background: #263322; color: #e6f5cf; }
.account-header.group-header-themed .account-global-nav a { color: rgba(239,246,234,.76); }
.account-header.group-header-themed .account-global-nav a:hover { background: rgba(var(--theme-accent-rgb),.16); color: var(--theme-accent-soft); }
.account-header.group-header-themed .account-global-nav a.active { background: var(--theme-accent); color: #172015; box-shadow: 0 5px 14px rgba(var(--theme-accent-rgb),.2); }
.account-header.group-header-themed .orbit-logo-light, .setlist-night-mode .orbit-logo-light { display: none; }
.account-header.group-header-themed .orbit-logo-dark, .setlist-night-mode .orbit-logo-dark { display: block; }
.account-identity { min-width:0; position:relative; }
.account-profile-menu { position:relative; }
.account-profile-menu > summary { list-style:none; }
.account-profile-menu > summary::-webkit-details-marker { display:none; }
.account-profile-menu .account-profile-link { padding:3px 0; align-items:center; }
.account-profile-menu > nav { width:220px; position:absolute; top:calc(100% + 8px); left:0; z-index:120; padding:7px; border:1px solid #d3ddcc; border-radius:14px; background:rgba(255,255,255,.98); box-shadow:0 16px 34px rgba(31,43,27,.15); display:grid; gap:2px; }
.account-profile-menu > nav a,.account-profile-menu > nav button { min-height:38px; padding:0 11px; border:0; border-radius:9px; background:transparent; color:#485644; display:flex; align-items:center; font:inherit; font-size:11px; font-weight:800; text-align:left; text-decoration:none; cursor:pointer; }
.account-profile-menu > nav a:hover,.account-profile-menu > nav button:hover { background:#edf3e7; color:#40592a; }
.account-profile-menu > nav button { margin-top:3px; border-top:1px solid #e1e7dc; border-radius:0 0 9px 9px; color:#925147; }
.account-identity .account-avatar { width: 38px; height: 38px; border-radius: 50%; background: #dfeec7; color: #527328; display: grid; place-items: center; font-size: 13px; font-weight: 900; }
.account-profile-link > div { display: grid; gap: 2px; }
.account-identity b { font-size: 13px; }
.account-identity small { color: var(--muted); font-size: 10px; }
.account-brand { margin-left:auto; }
.account-main { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 48px 0 90px; }
.account-welcome { min-height: 260px; padding: clamp(30px, 5vw, 56px); border-radius: 21px; background: radial-gradient(circle at 90% 0, rgba(202,255,76,.18), transparent 34%), var(--dark); color: white; display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; }
.account-welcome h1 { margin: 11px 0 14px; font-size: clamp(38px, 6vw, 66px); letter-spacing: -.06em; line-height: .95; }
.account-welcome > div > p:last-child { max-width: 620px; margin: 0; color: #aeb8ae; font-size: 12px; line-height: 1.7; }
.account-welcome .primary { flex: 0 0 auto; }
.personal-context-card { min-height: 180px; margin-top: 18px; padding: clamp(24px, 4vw, 38px); border: 1px solid #cfe2a5; border-radius: 17px; background: #eff8dc; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 20px; }
.personal-context-icon { width: 58px; height: 58px; border-radius: 16px; background: var(--lime); color: #334b13; display: grid; place-items: center; font-size: 22px; font-weight: 900; }
.personal-context-copy { display: grid; gap: 6px; }
.personal-context-copy > small { color: #678b2e; font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.personal-context-copy h2 { margin: 0; font-size: 24px; letter-spacing: -.04em; }
.personal-context-copy > p { margin: 0; color: #66735d; font-size: 10px; }
.personal-context-stats { margin-top: 8px; display: flex; gap: 15px; flex-wrap: wrap; }
.personal-context-stats span { color: #617052; font-size: 8px; }
.personal-context-stats b { color: #2e401d; font-size: 13px; }
.personal-context-card > .primary { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.account-section { margin-top: 48px; }
.context-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; }
.context-card { min-height: 118px; padding: 19px; border: 1px solid var(--line); border-radius: 15px; background: white; color: inherit; text-decoration: none; display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 15px; transition: border-color .18s, transform .18s; }
.context-card:hover { border-color: #9fbe69; transform: translateY(-2px); }
.context-swipe { min-width: 0; position: relative; overflow: hidden; border-radius: 15px; }
.context-swipe > .context-card { position: relative; z-index: 1; height: 100%; touch-action: pan-y; }
.context-swipe[data-context-swipe] > .context-card { user-select: none; -webkit-user-select: none; }
.context-swipe-action { position: absolute; inset-block: 0; width: 90px; border: 0; color: white; font-size: 11px; font-weight: 850; opacity: 0; pointer-events: none; }
.context-swipe-action.archive { left: 0; background: #537d2d; }
.context-swipe-action.delete { right: 0; background: #a94b40; }
.context-swipe.swipe-archive-open { background: #537d2d; }
.context-swipe.swipe-delete-open { background: #a94b40; }
.context-swipe.swipe-archive-open > .context-card,
.context-swipe.swipe-delete-open > .context-card { box-shadow: none; }
.context-swipe.swipe-archive-open > .context-card { transform: translateX(90px); }
.context-swipe.swipe-delete-open > .context-card { transform: translateX(-90px); }
.context-swipe.swipe-archive-open > .archive,
.context-swipe.swipe-delete-open > .delete { opacity: 1; pointer-events: auto; }
.context-monogram { width: 52px; height: 52px; border-radius: 14px; background: #e9f4d7; color: #567a25; display: grid; place-items: center; font-size: 20px; font-weight: 950; }
.context-copy { min-width: 0; display: grid; gap: 4px; }
.context-copy small { color: #70933c; font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.context-copy h3 { overflow: hidden; margin: 0; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.context-copy p { overflow: hidden; margin: 0; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.context-card .secondary { min-height: 37px; font-size: 9px; }
.context-status { padding: 7px 9px; border-radius: 99px; background: #edf3e7; color: #627f38; font-size: 7px; font-weight: 900; }
.context-invitation-shell { overflow: visible; }
.context-invitation { position: relative; overflow: hidden; border-color: #8fbc39; background: radial-gradient(circle at 82% 10%,rgba(221,255,139,.78),transparent 28%),linear-gradient(125deg,#caff4c,#a8e52e); color:#233311; box-shadow:0 14px 34px rgba(107,153,35,.2); isolation:isolate; }
.context-invitation:hover { border-color:#5e8e1d; box-shadow:0 18px 42px rgba(107,153,35,.28); }
.context-invitation .context-monogram { border:1px solid rgba(45,69,15,.24); background:rgba(255,255,255,.48); color:#3d5a18; }
.context-invitation .context-copy small,.context-invitation .context-copy p { color:#476222; }
.context-invitation-accept { min-height:42px; padding:0 16px; border:1px solid rgba(24,39,8,.24); border-radius:11px; background:#1e2b12; color:white; font:inherit; font-size:10px; font-weight:900; cursor:pointer; box-shadow:0 8px 18px rgba(25,42,9,.18); }
.context-invitation-accept:hover { background:#10180a; transform:translateY(-1px); }
.context-invitation-accept:disabled { cursor:wait; opacity:.82; }
.context-acceptance-effect { position:absolute; inset:0; z-index:4; opacity:0; pointer-events:none; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 50%,#fff 0 5%,rgba(235,255,194,.98) 6% 11%,rgba(188,255,48,.94) 12% 23%,rgba(76,126,20,.68) 32%,rgba(8,19,11,.96) 68%,#030705 100%); }
.context-acceptance-effect::before { content:""; position:absolute; inset:0; z-index:0; opacity:0; background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.98) 0 5%,var(--theme-accent) 9% 19%,rgba(var(--theme-accent-rgb),.68) 28%,rgba(7,10,13,.97) 68%,#020304 100%); }
.context-acceptance-effect::after { content:""; position:absolute; inset:-8px; z-index:1; opacity:0; background-image:linear-gradient(90deg,rgba(7,9,10,.94),rgba(8,10,12,.72) 62%,rgba(8,10,12,.38)),var(--theme-image); background-position:center; background-size:cover; transform:scale(1.24); filter:blur(8px); }
.context-acceptance-effect > i { position:absolute; z-index:2; width:62px; height:62px; border:2px solid rgba(255,255,255,.92); border-radius:50%; box-shadow:0 0 18px rgba(218,255,132,.42); }
.context-acceptance-effect > i:nth-of-type(2) { width:112px; height:112px; border-style:dashed; }
.context-acceptance-effect > i:nth-of-type(3) { width:176px; height:176px; border-color:rgba(207,255,109,.48); }
.context-acceptance-effect > b { z-index:2; width:52px; height:52px; border-radius:50%; background:#f7ffe8; color:#385714; display:grid; place-items:center; font-size:24px; box-shadow:0 0 22px #fff,0 0 58px rgba(202,255,76,.95),0 0 100px rgba(168,229,46,.55); }
.context-acceptance-effect > strong { position:absolute; z-index:3; opacity:0; color:white; font-size:13px; letter-spacing:.08em; text-transform:uppercase; text-shadow:0 0 12px var(--theme-accent),0 0 28px rgba(var(--theme-accent-rgb),.9); }
.context-acceptance-effect > span { --distance:clamp(-360px,-32vw,-155px); position:absolute; z-index:2; width:8px; height:8px; border-radius:50%; color:#caff4c; background:#fff; box-shadow:0 0 7px #fff,0 0 18px #caff4c,0 0 34px rgba(202,255,76,.9); transform:rotate(var(--angle)) translateY(-72px); }
.context-acceptance-effect > span::after { content:""; position:absolute; left:3px; top:7px; width:2px; height:36px; border-radius:99px; background:linear-gradient(#fff,currentColor,transparent); filter:blur(.4px); }
.context-acceptance-effect > span:nth-of-type(3n+2) { width:5px; height:5px; --distance:clamp(-300px,-27vw,-130px); background:#d7ff7d; }
.context-acceptance-effect > span:nth-of-type(4n) { width:11px; height:11px; --distance:clamp(-410px,-37vw,-180px); }
.context-acceptance-effect > span:nth-of-type(1){--angle:0deg}.context-acceptance-effect > span:nth-of-type(2){--angle:20deg}.context-acceptance-effect > span:nth-of-type(3){--angle:40deg}.context-acceptance-effect > span:nth-of-type(4){--angle:60deg}.context-acceptance-effect > span:nth-of-type(5){--angle:80deg}.context-acceptance-effect > span:nth-of-type(6){--angle:100deg}.context-acceptance-effect > span:nth-of-type(7){--angle:120deg}.context-acceptance-effect > span:nth-of-type(8){--angle:140deg}.context-acceptance-effect > span:nth-of-type(9){--angle:160deg}.context-acceptance-effect > span:nth-of-type(10){--angle:180deg}.context-acceptance-effect > span:nth-of-type(11){--angle:200deg}.context-acceptance-effect > span:nth-of-type(12){--angle:220deg}.context-acceptance-effect > span:nth-of-type(13){--angle:240deg}.context-acceptance-effect > span:nth-of-type(14){--angle:260deg}.context-acceptance-effect > span:nth-of-type(15){--angle:280deg}.context-acceptance-effect > span:nth-of-type(16){--angle:300deg}.context-acceptance-effect > span:nth-of-type(17){--angle:320deg}.context-acceptance-effect > span:nth-of-type(18){--angle:340deg}
.context-invitation.is-joining { filter:saturate(1.08); }
.context-invitation.is-accepted .context-acceptance-effect { animation:orbit-accept-reveal 2.68s cubic-bezier(.16,.82,.22,1) both; }
.context-invitation.is-accepted .context-acceptance-effect::before { animation:orbit-theme-takeover 2.68s ease-in-out both; }
.context-invitation.is-accepted .context-acceptance-effect::after { animation:orbit-group-background-arrive 2.68s cubic-bezier(.16,.82,.22,1) both; }
.context-invitation.is-accepted .context-acceptance-effect > i:first-child { animation:orbit-ring-pulse .7s ease-out both; }
.context-invitation.is-accepted .context-acceptance-effect > i:nth-of-type(2) { animation:orbit-ring-spin 1.1s ease-out both; }
.context-invitation.is-accepted .context-acceptance-effect > i:nth-of-type(3) { animation:orbit-ring-pulse 1s .08s ease-out both; }
.context-invitation.is-accepted .context-acceptance-effect > b { animation:orbit-check-sequence 1.28s .12s cubic-bezier(.2,1.5,.35,1) both; }
.context-invitation.is-accepted .context-acceptance-effect > strong { animation:orbit-joining-label 1.12s 1.44s ease-in-out both; }
.context-invitation.is-accepted .context-acceptance-effect > span { animation:orbit-particle-orbit 2.35s .12s cubic-bezier(.12,.66,.18,1) both; }
.context-card-new { animation:context-card-arrive .72s cubic-bezier(.18,.9,.25,1) both; }
.context-card-new .context-monogram { animation:context-card-element .58s .08s cubic-bezier(.18,1.15,.3,1) both; }
.context-card-new .context-copy { animation:context-card-element .58s .17s cubic-bezier(.18,1.15,.3,1) both; }
.context-card-new .context-status { animation:context-card-element .58s .28s cubic-bezier(.18,1.15,.3,1) both; }
@keyframes orbit-accept-reveal { 0%{opacity:0;clip-path:circle(0 at 50% 50%)} 8%,100%{opacity:1;clip-path:circle(145% at 50% 50%)} }
@keyframes orbit-theme-takeover { 0%,34%{opacity:0} 53%,100%{opacity:1} }
@keyframes orbit-group-background-arrive { 0%,77%{opacity:0;transform:scale(1.24);filter:blur(8px)} 88%{opacity:1;transform:scale(1.1);filter:blur(2px)} 100%{opacity:1;transform:scale(1);filter:blur(0)} }
@keyframes orbit-ring-pulse { from{transform:scale(.12);opacity:1} to{transform:scale(2.3);opacity:0} }
@keyframes orbit-ring-spin { from{transform:scale(.25) rotate(-120deg);opacity:0} 35%{opacity:1} to{transform:scale(1.2) rotate(145deg);opacity:0} }
@keyframes orbit-check-sequence { 0%{transform:scale(.15) rotate(-90deg);opacity:0} 28%,68%{transform:scale(1) rotate(0);opacity:1} 100%{transform:scale(.3);opacity:0} }
@keyframes orbit-joining-label { 0%{opacity:0;transform:scale(.7);letter-spacing:.2em} 28%,72%{opacity:1;transform:scale(1);letter-spacing:.08em} 100%{opacity:0;transform:scale(1.16);letter-spacing:.13em} }
@keyframes orbit-particle-orbit { 0%{opacity:0;color:#caff4c;filter:blur(4px);transform:rotate(var(--angle)) translateY(-16px) scale(.15)} 14%{opacity:1;color:#caff4c;filter:blur(0);transform:rotate(var(--angle)) translateY(-58px) scale(1.2)} 40%{opacity:1;color:#caff4c;background:#fff;box-shadow:0 0 8px #fff,0 0 22px #caff4c,0 0 38px rgba(202,255,76,.9);transform:rotate(calc(var(--angle) + 8deg)) translateY(var(--distance)) scale(1.55)} 51%{opacity:.18;transform:rotate(calc(var(--angle) + 14deg)) translateY(var(--distance)) scale(.7)} 58%{opacity:1;color:var(--theme-accent);background:var(--theme-accent);box-shadow:0 0 8px white,0 0 22px var(--theme-accent),0 0 38px rgba(var(--theme-accent-rgb),.9);transform:rotate(calc(var(--angle) + 20deg)) translateY(var(--distance)) scale(1.45)} 88%{opacity:1;color:var(--theme-accent);transform:rotate(calc(var(--angle) + 30deg)) translateY(-32px) scale(.75)} 100%{opacity:0;color:var(--theme-accent);filter:blur(3px);transform:rotate(calc(var(--angle) + 38deg)) translateY(-6px) scale(.12)} }
@keyframes context-card-arrive { 0%{opacity:1;transform:scale(1.025)} 100%{opacity:1;transform:scale(1)} }
@keyframes context-card-element { from{opacity:0;transform:translateY(12px) scale(.88)} to{opacity:1;transform:translateY(0) scale(1)} }
.account-empty { grid-column: 1 / -1; min-height: 150px; padding: 25px; border: 1px dashed #cbd4c7; border-radius: 15px; background: #fafbf9; display: flex; align-items: center; justify-content: center; gap: 16px; text-align: left; }
.account-empty > span { width: 48px; height: 48px; border-radius: 14px; background: #edf3e6; color: #6d8f3b; display: grid; place-items: center; font-size: 18px; }
.account-empty h3 { margin: 0 0 6px; font-size: 15px; }
.account-empty p { margin: 0; color: var(--muted); font-size: 10px; }
.account-next-grid { margin-top: 34px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; }
.account-next-grid-three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.account-next-grid article, .account-next-card { min-height: 150px; padding: 24px; border: 1px solid var(--line); border-radius: 15px; background: white; color: inherit; text-decoration: none; display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: 15px; }
.account-next-grid article > span, .account-next-card > span { width: 44px; height: 44px; border-radius: 12px; background: #eef4e6; color: #638632; display: grid; place-items: center; font-size: 17px; }
.account-next-grid article > div, .account-next-card > div { display: grid; gap: 7px; }
.account-next-grid small { color: #789444; font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.account-next-grid h3 { margin: 0; font-size: 15px; }
.account-next-grid p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.account-next-card { transition: border-color .18s, transform .18s, box-shadow .18s; }
.account-next-card:hover { border-color: #9fbe69; box-shadow: 0 12px 30px rgba(69,91,45,.08); transform: translateY(-2px); }
.account-next-card div > b { margin-top: 8px; color: #5b7d2a; font-size: 9px; }
.profile-entry > span { background:#1e281f; color:var(--lime); }
.invitation-account-ready { padding:12px 14px; border:1px solid #a8ce65; border-radius:11px; background:#f0fadf; display:grid; gap:4px; }
.invitation-account-ready b { color:#46671f; }
.invitation-account-ready span { color:var(--muted); font-size:10px; }
.canonical-curation-entry { background: linear-gradient(145deg,#fafff1,#fff); }
.canonical-curation-entry > span { background: #dcff9a; color: #3f6018; }
.orbitseti-coming-soon { min-height: min(620px, calc(100dvh - 190px)); padding: clamp(34px, 7vw, 88px); border: 1px solid #cad7bd; border-radius: 25px; background: radial-gradient(circle at 50% 42%, rgba(185,255,69,.24), transparent 19%), radial-gradient(circle at 50% 50%, #24342b, #101711 66%); color: #f3f8ef; display: grid; place-content: center; justify-items: center; gap: 10px; text-align: center; overflow: hidden; }
.orbitseti-signal { width: 104px; height: 104px; margin-bottom: 12px; border: 1px solid rgba(202,255,76,.7); border-radius: 50%; background: rgba(202,255,76,.1); color: var(--lime); display: grid; place-items: center; box-shadow: 0 0 0 14px rgba(202,255,76,.05), 0 0 62px rgba(202,255,76,.2); }
.orbitseti-signal i { font-size: 43px; transform: rotate(-20deg); }
.orbitseti-coming-soon .eyebrow { color: var(--lime); }
.orbitseti-coming-soon h1 { margin: 0; font-size: clamp(48px, 8vw, 94px); letter-spacing: -.07em; }
.orbitseti-coming-soon > p:not(.eyebrow) { max-width: 480px; margin: 0; color: #c2cfc1; font-size: 13px; line-height: 1.65; }
.orbitseti-coming-soon small { margin-top: 10px; color: #89a583; font-size: 10px; }

.personal-repertoire-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 25px; align-items: center; }
.personal-repertoire-heading > a { grid-column: 1 / -1; }
.personal-genre-configure { justify-self: end; white-space: nowrap; }
.personal-repertoire-heading-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.personal-song-groups > section > header:has(.repertoire-section-toggle),
.group-song-groups > section > header:has(.repertoire-section-toggle) { padding: 0; }
.personal-song-groups > section > header > h3:has(.repertoire-section-toggle),
.group-song-groups > section > header > h3:has(.repertoire-section-toggle) { width: 100%; }
.repertoire-section-toggle { width: 100%; min-height: 57px; padding: 12px 20px; border: 0; background: transparent; color: inherit; display: flex; align-items: center; gap: 12px; text-align: left; font: inherit; cursor: pointer; }
.repertoire-section-toggle:hover { background: rgba(110,157,40,.06); }
.repertoire-section-toggle .repertoire-section-label { flex: 1; color: var(--ink); font-size: 16px; font-weight: 700; }
.group-song-groups .repertoire-section-toggle .repertoire-section-label { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; }
.group-song-groups .repertoire-section-toggle .repertoire-section-count,
.group-song-groups .repertoire-section-toggle > i { flex-shrink: 0; }
.repertoire-section-toggle .repertoire-section-count { color: #68873a; font-size: 12px; font-weight: 900; }
.repertoire-section-toggle i { font-style: normal; transition: transform .18s ease; }
.repertoire-section-toggle[aria-expanded="false"] i { transform: rotate(-90deg); }
@media (max-width: 760px) {
  .personal-repertoire-heading { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .personal-genre-configure { justify-self: start; }
  .personal-repertoire-heading-actions { justify-content: flex-start; }
}
.personal-repertoire-heading > a { width: fit-content; color: #607153; font-size: 10px; font-weight: 850; }
.personal-repertoire-heading h1 { margin: 8px 0 9px; font-size: clamp(36px, 6vw, 64px); letter-spacing: -.06em; line-height: .95; }
.personal-repertoire-heading > div > p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.personal-repertoire-app { margin-top: 32px; display: grid; gap: 20px; }
.legacy-access { justify-self: end; width: min(250px,100%); }
.legacy-access summary { color: #64705d; cursor: pointer; font-size: 10px; font-weight: 850; }
.legacy-access a { margin-top: 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: white; color: #5a742c; display: block; font-size: 10px; font-weight: 800; text-decoration: none; }
.personal-repertoire-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.personal-repertoire-summary > div { min-height: 105px; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: white; display: grid; align-content: space-between; }
.personal-repertoire-summary small { color: #758170; font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.personal-repertoire-summary strong { color: #26331d; font-size: 32px; letter-spacing: -.05em; }
.personal-repertoire-summary .pending { border-color: #e2ce93; background: #fff8e5; }
.personal-setlists { overflow: hidden; border: 1px solid #ccd7c1; border-radius: 17px; background: rgba(255,255,255,.72); }
.personal-setlists > header { min-height: 70px; padding: 15px 20px; border-bottom: 1px solid #dce4d8; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.personal-setlists > header .eyebrow { margin: 0 0 4px; color: #6b8a3c; }
.personal-setlists > header h2 { margin: 0; font-size: 18px; }
.personal-setlists > header > div:last-child { display:flex; align-items:center; gap:9px; }
.personal-setlists > header > div:last-child > span { min-width: 31px; height: 31px; padding: 0 9px; border-radius: 99px; background: #e9f2de; color: #58752d; display: grid; place-items: center; font-size: 10px; font-weight: 900; }
.personal-setlists > header button { min-height:36px; padding:8px 13px; }
.personal-setlists-grid { padding: 15px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.personal-setlists-grid > a { min-height: 130px; padding: 17px; border: 1px solid rgba(var(--setlist-color-rgb),.45); border-radius: 13px; background: radial-gradient(circle at 92% 8%,rgba(var(--setlist-color-rgb),.24),transparent 38%),linear-gradient(135deg,rgba(var(--setlist-color-rgb),.17),rgba(var(--setlist-color-rgb),.035) 68%),#fff; color: var(--ink); text-decoration: none; display: flex; flex-direction: column; align-items: flex-start; gap: 7px; box-shadow: inset 4px 0 0 var(--setlist-color); transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.personal-setlists-grid > a:hover,.personal-setlists-grid > a:focus-visible { border-color: var(--setlist-color); box-shadow: inset 4px 0 0 var(--setlist-color),0 12px 28px rgba(var(--setlist-color-rgb),.2); transform: translateY(-2px); }
.personal-setlists-grid small { color: var(--setlist-color-deep); font-size: 7px; font-weight: 950; letter-spacing: .08em; }
.personal-setlists-grid h3 { margin: 0; font-size: 16px; }
.personal-setlists-grid p { margin: 0; color: var(--muted); font-size: 9px; }
.personal-setlists-grid b { margin-top: auto; padding-top: 10px; color: var(--setlist-color-deep); font-size: 9px; }
.personal-setlists-grid > p { grid-column: 1/-1; margin: 0; padding: 14px 5px; color: var(--muted); font-size: 10px; }
@media (max-width: 760px) {
  .personal-setlists-grid { grid-template-columns: minmax(0,1fr); }
  .personal-setlists-grid > a { min-height: 112px; }
}
.personal-song-card.selection-mode { border-color:#9fbd70; cursor:pointer; }
.personal-song-card.selection-mode .personal-song-card-content { padding-right:42px; }
.personal-song-card.selection-mode.selected { border-color:#79a23b; box-shadow:0 0 0 2px rgba(121,162,59,.18),0 10px 24px rgba(52,78,30,.1); }
.personal-song-card.selection-mode.selected .personal-song-card-content { background:#eef7df; }
.personal-song-card.selection-mode.selected .group-song-selection-mark { border-color:#7fa841; background:#84aa45; color:white; box-shadow:0 4px 10px rgba(70,105,35,.25); }
.personal-setlist-selection-float { width:min(720px,calc(100% - 28px)); margin-bottom:0; }
.standalone-personal-setlist { min-height:70dvh; padding:24px; border-radius:22px; background:#101315; color:#f5f7f3; display:grid; gap:18px; }
.standalone-personal-setlist > header { padding:10px 4px; }
.standalone-personal-setlist > header > a { color:#b8ff45; font-size:10px; font-weight:900; text-decoration:none; }
.standalone-personal-setlist > header .eyebrow { margin:20px 0 5px; color:#9b72ff; }
.standalone-personal-setlist > header h1 { margin:0; font-size:clamp(34px,5vw,58px); }
.standalone-personal-setlist > header > p:last-child { color:#aeb8ae; }
.standalone-personal-setlist > div { display:grid; grid-template-columns:minmax(250px,38%) minmax(0,1fr); gap:14px; align-items:start; }
.standalone-personal-setlist-songs { display:grid; gap:9px; }
.standalone-personal-setlist-songs button { min-height:76px; padding:12px; border:1px solid #343044; border-radius:13px; background:#171a1d; color:#f5f7f3; display:grid; grid-template-columns:40px minmax(0,1fr); gap:3px 11px; align-items:center; text-align:left; cursor:pointer; }
.standalone-personal-setlist-songs button.active { border-color:#9b72ff; background:#211d2d; }
.standalone-personal-setlist-songs button > span { grid-row:1/3; width:40px; height:40px; border-radius:10px; background:#302747; color:#d9cbff; display:grid; place-items:center; font-weight:900; }
.standalone-personal-setlist-songs button b { font-size:14px; }
.standalone-personal-setlist-songs button small { color:#aeb8ae; font-size:9px; }
.standalone-personal-setlist aside { min-height:360px; padding:23px; position:sticky; top:12px; border:1px solid #383149; border-radius:16px; background:#181a22; }
.standalone-personal-setlist aside h2 { margin:5px 0; font-size:30px; }
.standalone-personal-setlist aside > p:not(.eyebrow) { color:#aeb8ae; }
.standalone-personal-setlist aside > small { padding:8px 10px; border-radius:8px; background:#2a271c; color:#e0c979; display:inline-block; }
.standalone-personal-setlist aside section { margin-top:20px; padding:18px; border-left:3px solid #9b72ff; border-radius:10px; background:#20261f; }
.standalone-personal-setlist aside section p,.standalone-personal-setlist aside section pre { color:#eef4ea; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:12px; line-height:1.65; }
.standalone-personal-setlist aside section a { color:#b8ff45; font-weight:850; }
@media (max-width:760px){
  .standalone-personal-setlist { padding:14px; }
  .standalone-personal-setlist > div { grid-template-columns:minmax(0,1fr); }
  .standalone-personal-setlist aside { position:static; min-height:280px; }
}
.personal-repertoire-search { min-height: 52px; padding: 0 17px; border: 1px solid #ccd5c7; border-radius: 14px; background: white; display: flex; align-items: center; gap: 11px; }
.personal-repertoire-search span { color: #66813f; font-size: 20px; }
.personal-repertoire-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; font-size: 11px; }
.personal-repertoire-tools { padding: 10px 0; position: sticky; top: 0; z-index: 40; background: var(--paper); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; }
.personal-repertoire-tools .personal-repertoire-search { margin: 0; }
.personal-song-groups { display: grid; gap: 18px; }
.personal-song-groups > section:not(.account-empty) { overflow: hidden; border: 1px solid #ccd7c1; border-radius: 16px; background: #f1f3ee; }
.personal-song-groups > section > header { min-height: 57px; padding: 0 20px; border-bottom: 1px solid #ccd7c1; background: #e5eddc; display: flex; align-items: center; justify-content: space-between; }
.personal-song-groups .repertoire-section-toggle .repertoire-section-label { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; }
.personal-song-groups .repertoire-section-toggle .repertoire-section-count,
.personal-song-groups .repertoire-section-toggle > i { flex-shrink: 0; }
.personal-song-groups > section:not(.account-empty) > .repertoire-section-panel.is-collapsed { display: none; }
.personal-song-groups > section > header:has(.repertoire-section-toggle[aria-expanded="false"]) { border-bottom-color: transparent; }
.personal-song-groups > section > header h3 { margin: 0; font-size: 16px; }
.personal-song-groups > section > header span { color: #68873a; font-size: 12px; font-weight: 900; }
.personal-song-groups > section:not(.account-empty) > div { padding: 16px; background: #f1f3ee; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 12px; }
.personal-song-groups .personal-song-card { min-width: 0; position: relative; overflow: hidden; border-radius: 12px; background: #edf1ea; box-shadow: 0 2px 8px rgba(30,43,24,.035); }
.personal-song-card-content { min-height: 75px; position: relative; z-index: 2; border-radius: 11px; background: rgba(255,255,255,.98); transition: transform .22s cubic-bezier(.22,.8,.24,1); }
.personal-song-card-content > header { min-height: 75px; padding: 12px 14px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; }
.personal-song-card-content > header > div { min-width: 0; display: grid; gap: 3px; }
.personal-song-card-content > header small { color: #73943f; font-size: 7px; font-weight: 950; letter-spacing: .1em; }
.personal-song-card-content > header h2 { margin: 0; overflow: hidden; font-size: 15px; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.personal-song-card-content > header p { margin: 0; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.personal-song-play { width: 38px; height: 38px; padding: 0 0 0 2px; border: 1px solid #86ad44; border-radius: 50%; background: #edf7df; color: #4f7025; cursor: pointer; display: grid; place-items: center; }
.personal-song-play b { font-size: 11px; }
.personal-song-play:hover { border-color: #678d29; background: #dff0c7; transform: scale(1.04); }
.personal-song-play.playing { padding-left: 0; border-color: #26341f; background: #26341f; color: #d8f0a8; }
.personal-song-play.disabled { border-color: #d8dfd2; background: #f4f6f2; color: #adb5a8; cursor: not-allowed; transform: none; }
.personal-context-toggle { max-width: 105px; padding: 7px 8px; border: 0; border-radius: 9px; background: #eff5e7; color: #66813f; cursor: pointer; display: flex; align-items: center; gap: 5px; font-size: 8px; font-weight: 850; }
.personal-context-toggle span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.personal-context-toggle i { flex: 0 0 auto; font-style: normal; transition: transform .18s ease; }
.personal-context-toggle[aria-expanded="false"] i { transform: rotate(180deg); }
.personal-card-swipe-action { width: 88px; position: absolute; inset-block: 0; z-index: 1; border: 0; color: white; display: grid; place-items: center; opacity: 0; pointer-events: none; font-size: 9px; font-weight: 950; transition: opacity .14s ease; }
.personal-card-swipe-action.edit { left: 0; background: #537d2d; }
.personal-card-swipe-action.remove { right: 0; background: #a94b40; }
.personal-song-card.swipe-edit-open .personal-card-swipe-action.edit, .personal-song-card.swipe-remove-open .personal-card-swipe-action.remove { opacity: 1; pointer-events: auto; }
.personal-song-card.swipe-edit-open .personal-song-card-content { transform: translateX(88px); }
.personal-song-card.swipe-remove-open .personal-song-card-content { transform: translateX(-88px); }
.personal-song-card-content .personal-song-contexts { border-top: 1px solid var(--line); }
.personal-song-card-content .personal-song-context { min-height: 72px; padding: 11px 13px; grid-template-columns: 34px minmax(0,1fr); gap: 10px; }
.personal-song-card-content .personal-song-context-mark { width: 34px; height: 34px; }
.personal-song-card-content .personal-song-context-actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }
.personal-repertoire-list { display: grid; gap: 12px; }
.personal-song-card { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: white; }
.personal-song-card > header { min-height: 115px; padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.personal-song-card > header > div { display: grid; gap: 4px; }
.personal-song-card > header small { color: #73943f; font-size: 7px; font-weight: 950; letter-spacing: .1em; }
.personal-song-card > header h2 { margin: 0; font-size: 23px; letter-spacing: -.04em; }
.personal-song-card > header p { margin: 0; color: var(--muted); font-size: 10px; }
.personal-song-card > header > span { flex: 0 0 auto; padding: 8px 11px; border-radius: 99px; background: #eff5e7; color: #66813f; font-size: 8px; font-weight: 850; }
.personal-song-contexts { border-top: 1px solid var(--line); background: #f8faf6; }
.personal-song-context { min-height: 86px; padding: 15px 20px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 13px; }
.personal-song-context + .personal-song-context { border-top: 1px solid #e2e7df; }
.personal-song-context-mark { width: 38px; height: 38px; border-radius: 11px; background: #deedc9; color: #56772a; display: grid; place-items: center; font-weight: 950; }
.personal-song-context > div:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.personal-song-context small { color: #7a9170; font-size: 6px; font-weight: 950; letter-spacing: .09em; }
.personal-song-context h4 { margin: 0; font-size: 12px; }
.personal-song-context p { margin: 0; color: var(--muted); font-size: 8px; }
.personal-song-context em { color: #806c3a; font-size: 8px; font-style: normal; }
.personal-song-context-actions { display: flex; align-items: center; gap: 8px; }
.personal-song-context-actions a { padding: 8px 10px; border: 1px solid #cad5c1; border-radius: 8px; background: white; color: #576b47; font-size: 7px; font-weight: 850; white-space: nowrap; }
.personal-repertoire-empty, .personal-repertoire-no-results { min-height: 190px; }
.personal-repertoire-no-results { padding: 25px; border: 1px dashed #cbd4c7; border-radius: 15px; background: #fafbf9; display: flex; align-items: center; justify-content: center; gap: 16px; text-align: left; }
.account-modal { position: fixed; inset: 0; z-index: 100; padding: 20px; background: rgba(13,17,13,.7); backdrop-filter: blur(7px); display: grid; place-items: center; }
.account-modal-card { width: min(610px, 100%); max-height: 90vh; overflow: auto; padding: 25px; border-radius: 18px; background: white; color: var(--ink); color-scheme: light; box-shadow: 0 30px 90px rgba(0,0,0,.35); display: grid; gap: 16px; }
.account-modal-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.account-modal-card h2 { margin: 6px 0; font-size: 25px; letter-spacing: -.04em; }
.account-modal-card header p:last-child { margin: 0; color: var(--muted); font-size: 9px; }
.account-modal-card header > button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: white; color: #52604f; cursor: pointer; font-size: 18px; }
.relationship-options { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.relationship-options legend { width: 100%; margin-bottom: 8px; color: #5e675e; font-size: 10px; font-weight: 800; }
.relationship-options label { min-height: 95px; padding: 12px; position: relative; border: 1px solid #d6ddd2; border-radius: 11px; background: #f7f9f5; cursor: pointer; }
.relationship-options input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.relationship-options label > span { display: grid; gap: 6px; }
.relationship-options b { color: var(--ink); font-size: 9px; line-height: 1.35; }
.relationship-options small { color: var(--muted); font-size: 7px; font-weight: 600; line-height: 1.45; }
.relationship-options label:has(input:checked) { border-color: #94bd43; background: #eff8dc; box-shadow: inset 0 0 0 1px #94bd43; }
.relationship-options label:has(input:focus-visible) { outline: 3px solid rgba(180,232,65,.28); }
.account-modal-actions { display: flex; justify-content: flex-end; gap: 8px; }
.account-modal-actions .danger-button { margin-right: auto; border: 1px solid color-mix(in srgb, var(--danger) 45%, transparent); background: color-mix(in srgb, var(--danger) 10%, white); color: var(--danger); }
.account-main.group-visual-stage { width: 100%; padding-top: 0; position: relative; isolation: isolate; background-image: none; }
.account-main.group-visual-stage::before { content: ""; width: 100%; height: 720px; position: absolute; inset: 0 0 auto; z-index: -1; background-image: linear-gradient(90deg, rgba(4,5,7,.92), rgba(6,7,10,.7) 48%, rgba(5,6,9,.15)), var(--theme-image); background-repeat: no-repeat; background-position: center; background-size: cover; -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 42%, rgba(0,0,0,.82) 57%, rgba(0,0,0,.28) 82%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0%, #000 42%, rgba(0,0,0,.82) 57%, rgba(0,0,0,.28) 82%, transparent 100%); pointer-events: none; }
.group-visual-stage > .group-workspace-heading { width: 100%; min-height: 330px; margin: 0; padding: 54px max(24px, calc((100vw - 1180px) / 2 + 52px)) 42px; color: white; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 22px 28px; }
.group-breadcrumb { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; color: rgba(238,244,234,.7); font-size: 11px; font-weight: 750; }
.group-breadcrumb a { color: var(--theme-accent); text-decoration: none; }
.group-breadcrumb b { color: white; }
.group-visual-stage .group-workspace-heading .eyebrow,
.group-visual-stage .group-repertoire-toolbar .eyebrow { color: var(--theme-accent); }
.group-workspace-heading h1 { margin: 7px 0 4px; font-size: clamp(34px, 5vw, 56px); line-height: 1; letter-spacing: -.055em; }
.group-workspace-heading div > p:last-child { margin: 0; color: #aeb8ae; font-size: 12px; }
.group-heading-actions { display: grid; justify-items: end; gap: 8px; }
.group-heading-actions > span, .group-heading-actions > a { padding: 9px 12px; border: 1px solid rgba(var(--theme-accent-rgb),.38); border-radius: 99px; background: rgba(var(--theme-accent-rgb),.08); color: var(--theme-accent-soft); font-size: 10px; font-weight: 750; text-decoration: none; backdrop-filter: blur(8px); }
.group-heading-actions > a:hover { border-color: rgba(var(--theme-accent-rgb),.72); background: rgba(var(--theme-accent-rgb),.22); }
.group-heading-actions > button { min-height: 38px; padding: 0 12px; border: 1px solid rgba(var(--theme-accent-rgb),.42); border-radius: 9px; background: rgba(var(--theme-accent-rgb),.16); color: var(--theme-accent-soft); cursor: pointer; font-size: 11px; font-weight: 850; backdrop-filter: blur(8px); }
.group-heading-actions > button:hover { border-color: rgba(var(--theme-accent-rgb),.72); background: rgba(var(--theme-accent-rgb),.25); }
.group-live-launcher { --live-cta:#b8ff39; --live-cta-rgb:184,255,57; --live-cta-ink:#13200d; width: min(340px,42vw); padding: 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 16px; background: rgba(8,11,13,.74); color: white; box-shadow: 0 18px 48px rgba(0,0,0,.32); backdrop-filter: blur(14px); display: grid; gap: 5px; }
.visual-theme-orbit-lime .group-live-launcher { --live-cta:#a981ff; --live-cta-rgb:169,129,255; --live-cta-ink:#160d26; }
.visual-theme-ion-cyan .group-live-launcher,.visual-theme-aurora-teal .group-live-launcher { --live-cta:#ffca43; --live-cta-rgb:255,202,67; --live-cta-ink:#251a04; }
.visual-theme-eclipse-amber .group-live-launcher,.visual-theme-quantum-gold .group-live-launcher { --live-cta:#45dcff; --live-cta-rgb:69,220,255; --live-cta-ink:#061c22; }
.group-live-launcher > span { color: var(--live-cta); font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.group-live-launcher > strong { font-size: 17px; line-height: 1.15; }
.group-live-launcher > small { color: #b7c0b6; font-size: 10px; }
.group-live-launcher > div { margin-top: 6px; display: flex; align-items: center; gap: 8px; }
.group-live-launcher button,.group-live-launcher [data-group-live-open] { min-height: 44px; padding: 0 16px; border: 1px solid var(--live-cta); border-radius: 11px; background: var(--live-cta); color: var(--live-cta-ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 950; text-decoration: none; box-shadow: 0 0 28px rgba(var(--live-cta-rgb),.25); }
.group-live-launcher button:hover,.group-live-launcher [data-group-live-open]:hover { transform: translateY(-1px); box-shadow: 0 0 38px rgba(var(--live-cta-rgb),.42); }
.group-live-launcher [hidden] { display:none !important; }
.group-live-launcher [data-group-live-stop] { border-color: rgba(255,132,132,.55); background: rgba(111,24,24,.34); color: #ffc2c2; box-shadow: none; }
.group-live-launcher.is-live { border-color: rgba(var(--live-cta-rgb),.65); background: radial-gradient(circle at 100% 0,rgba(var(--live-cta-rgb),.2),transparent 46%),rgba(8,11,13,.82); }
.group-live-launcher.is-live > span { animation: groupLivePulse 1.4s ease-in-out infinite; }
@keyframes groupLivePulse { 50% { opacity:.55; text-shadow:0 0 15px var(--live-cta); } }
.group-live-picker { width: min(650px,calc(100% - 28px)); max-height: min(760px,calc(100vh - 28px)); padding: 0; border: 1px solid rgba(184,255,57,.35); border-radius: 22px; background: #111518; color: white; box-shadow: 0 35px 110px rgba(0,0,0,.72); }
.group-live-picker::backdrop { background: rgba(2,5,6,.78); backdrop-filter: blur(10px); }
.group-live-picker > form { padding: 24px; display: grid; gap: 20px; }
.group-live-picker header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.group-live-picker header h2 { margin: 5px 0; font-size: 30px; }
.group-live-picker header p:last-child { margin: 0; color: #aeb8ae; font-size: 11px; }
.group-live-picker header > button { width: 38px; height: 38px; border: 1px solid #485149; border-radius: 50%; background: transparent; color: white; cursor: pointer; font-size: 20px; }
.group-live-picker-list { overflow: auto; display: grid; gap: 10px; }
.group-live-picker-list > button { width: 100%; min-height: 88px; padding: 15px; border: 1px solid #39453c; border-radius: 14px; background: linear-gradient(105deg,rgba(184,255,57,.08),rgba(255,255,255,.02)); color: white; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; text-align: left; }
.group-live-picker-list > button:hover { border-color: #b8ff39; background: rgba(184,255,57,.12); }
.group-live-picker-list span { min-width: 0; display: grid; gap: 3px; }
.group-live-picker-list small { color: #b8ff39; font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.group-live-picker-list strong { overflow: hidden; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
.group-live-picker-list em { color: #aeb8ae; font-size: 10px; font-style: normal; }
.group-live-picker-list b { color: #b8ff39; font-size: 11px; white-space: nowrap; }
.group-live-picker footer { display: flex; justify-content: flex-end; }
.group-live-picker footer button { min-height: 40px; padding: 0 14px; border: 1px solid #495249; border-radius: 9px; background: transparent; color: white; cursor: pointer; }
.group-visual-stage > .group-section-nav { width: 100%; padding: 6px max(24px, calc((100vw - 1180px) / 2 + 52px)) 0; position: sticky; top: 0; z-index: 75; border-bottom: 1px solid rgba(255,255,255,.16); background: linear-gradient(105deg, rgba(var(--theme-accent-rgb),.12), transparent 50%), rgba(10,12,14,.96); box-shadow: 0 10px 22px rgba(0,0,0,.18); display: flex; align-items: end; gap: 18px; backdrop-filter: blur(14px); }
.group-section-nav a { padding: 10px 1px 12px; border-bottom: 2px solid transparent; color: rgba(237,244,234,.68); font-size: 11px; font-weight: 850; text-decoration: none; }
.group-section-nav a:hover,.group-section-nav a.active { border-bottom-color: var(--theme-accent); color: white; }
.group-member-bubbles { width: fit-content; margin-top: 12px; color: var(--theme-accent-soft); display: flex; align-items: center; text-decoration: none; }
.group-member-bubbles > span { display: flex; padding-left: 8px; }
.group-member-bubbles i { width: 34px; height: 34px; margin-left: -8px; overflow: hidden; border: 2px solid var(--member-color,var(--theme-accent)); border-radius: 50%; background: var(--theme-accent); color: #172015; display: grid; place-items: center; font-size: 10px; font-style: normal; font-weight: 900; box-shadow:0 0 0 1px rgba(4,7,6,.9),0 0 11px color-mix(in srgb,var(--member-color,var(--theme-accent)) 32%,transparent); }
.group-member-bubbles img { width: 100%; height: 100%; object-fit: cover; }
.group-member-bubbles b { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.group-member-bubbles:hover i { border-color: var(--member-color,var(--theme-accent-soft)); transform: translateY(-2px); }
.group-member-bubbles i { transition: border-color .18s ease, transform .18s ease; }
.group-members-page { width: min(1180px,calc(100% - 40px)); margin: 26px auto 70px; position: relative; z-index: 2; display: grid; gap: 22px; }
.group-members-page > a { justify-self: start; color: #617b38; font-size: 11px; font-weight: 850; text-decoration: none; }
.group-members-page > header { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: white; display: flex; align-items: center; justify-content: space-between; gap: 18px; box-shadow: 0 18px 50px rgba(25,36,21,.08); }
.group-members-page > header h2 { margin: 5px 0; font-size: 30px; }
.group-members-page > header p:last-child { margin: 0; color: var(--muted); font-size: 11px; }
.group-member-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.group-member-card-grid > article { min-width: 0; padding: 20px; border: 2px solid color-mix(in srgb,var(--member-color,var(--line)) 70%,white); border-radius: 18px; background:linear-gradient(145deg,color-mix(in srgb,var(--member-color,#fff) 14%,white),white 62%); display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 14px; box-shadow: inset 5px 0 0 color-mix(in srgb,var(--member-color,var(--line)) 78%,white),0 12px 32px color-mix(in srgb,var(--member-color,#1b2716) 14%,transparent); }
.group-member-card-photo { width: 64px; height: 64px; overflow: hidden; border:3px solid var(--member-color,#b7d483); border-radius: 50%; background:color-mix(in srgb,var(--member-color,#dff0c8) 25%,white); color:#30451f; display: grid; place-items: center; font-size: 22px; font-weight: 900; box-shadow:0 0 18px color-mix(in srgb,var(--member-color,#b7d483) 28%,transparent); }
.group-member-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.group-member-card-grid small { color: #6d9035; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.group-member-card-grid h3 { margin: 4px 0; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.group-member-card-grid p { margin: 0; color: var(--muted); font-size: 10px; }
.group-member-card-grid footer { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid #edf0ea; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.group-member-card-grid footer span { color: var(--muted); font-size: 9px; }
.member-card-actions { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.member-social-links { display:flex; align-items:center; gap:6px; }
.member-social-links a { width:28px; height:28px; border-radius:50%; background:#e8ede4; color:#30402d; display:grid; place-items:center; text-decoration:none; transition:transform .18s ease,filter .18s ease; }
.member-social-links a:hover { filter:brightness(1.07); transform:translateY(-2px); }
.member-social-links i { font-style:normal; font-size:13px; font-weight:900; }
.member-social-links .social-instagram { background:linear-gradient(135deg,#feda75,#fa7e1e 25%,#d62976 55%,#4f5bd5); color:white; }.member-social-links .social-facebook { background:#1877f2; color:white; }.member-social-links .social-tiktok,.member-social-links .social-x { background:#161616; color:white; }.member-social-links .social-linkedin { background:#0a66c2; color:white; }.member-social-links .social-youtube { background:#f00; color:white; }
.group-member-card-grid footer a { color: #5c7f2a; font-size: 10px; font-weight: 850; text-decoration: none; }
.group-member-card-grid .member-revoke { min-height: 34px; padding: 0 11px; border: 1px solid #e3b8b1; border-radius: 8px; background: #fff5f3; color: #a13d32; cursor: pointer; font-size: 9px; font-weight: 850; }
.group-member-card-grid .member-revoke:hover { border-color: #c86a5d; background: #ffebe7; }
.group-member-card-grid .member-revoke:disabled { cursor: wait; opacity: .55; }
.group-visual-stage > .group-repertoire-app { width: min(1180px, calc(100% - 40px)); margin: 26px auto 0; position: relative; z-index: 1; }
.group-onboarding-guide { margin-bottom:12px; padding:20px 22px; border:1px solid rgba(var(--theme-accent-rgb),.55); border-radius:17px; background:linear-gradient(105deg,rgba(var(--theme-accent-rgb),.19),rgba(9,13,12,.94) 42%,rgba(9,13,12,.96)); color:white; display:grid; grid-template-columns:58px minmax(0,1fr) auto auto; align-items:center; gap:18px; box-shadow:0 18px 46px rgba(var(--theme-accent-rgb),.17); }
.group-onboarding-guide h2 { margin:2px 0 5px; font-size:22px; letter-spacing:-.035em; }
.group-onboarding-guide p { max-width:650px; margin:0; color:#c2ccc0; font-size:10px; line-height:1.55; }
.group-onboarding-guide .eyebrow { color:var(--theme-accent); }
.group-onboarding-guide > strong { min-width:78px; display:grid; justify-items:center; }
.group-onboarding-guide > strong b { color:var(--theme-accent); font-size:24px; line-height:1; }
.group-onboarding-guide > strong span { color:#bdc7ba; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.group-onboarding-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.group-onboarding-actions .secondary { border-color:rgba(var(--theme-accent-rgb),.48); color:white; background:rgba(var(--theme-accent-rgb),.12); }
.group-onboarding-actions .primary { border-color:var(--theme-accent); background:var(--theme-accent); color:#111318; }
.group-onboarding-orbit { width:58px; height:58px; position:relative; border:1px solid rgba(var(--theme-accent-rgb),.46); border-radius:50%; display:grid; place-items:center; color:var(--theme-accent); box-shadow:inset 0 0 22px rgba(var(--theme-accent-rgb),.13),0 0 24px rgba(var(--theme-accent-rgb),.1); }
.group-onboarding-orbit i { position:absolute; width:42px; height:17px; border:1px solid var(--theme-accent); border-radius:50%; transform:rotate(-28deg); opacity:.75; }
.group-onboarding-orbit b { font-size:18px; }
.dominated-guide-dialog { width:min(640px,calc(100% - 32px)); max-width:none; padding:0; overflow:visible; border:0; border-radius:24px; background:transparent; color:white; }
.dominated-guide-dialog::backdrop { background:rgba(3,7,6,.78); backdrop-filter:blur(9px); }
.dominated-guide-card { overflow:hidden; padding:24px; border:1px solid rgba(var(--theme-accent-rgb),.58); border-radius:24px; background:radial-gradient(circle at 10% 0%,rgba(var(--theme-accent-rgb),.22),transparent 38%),#111713; box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 55px rgba(var(--theme-accent-rgb),.13); }
.dominated-guide-card > header { display:flex; align-items:center; justify-content:space-between; }
.dominated-guide-close { width:40px; height:40px; padding:0; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:rgba(255,255,255,.05); color:white; font-size:22px; cursor:pointer; }
.dominated-guide-copy { min-height:130px; padding:26px 4px 16px; }
.dominated-guide-copy .eyebrow { margin:0 0 8px; color:var(--theme-accent); }
.dominated-guide-copy h2 { margin:0 0 10px; color:#caff4c; font-size:32px; line-height:1.04; letter-spacing:-.045em; text-shadow:0 0 24px rgba(202,255,76,.12); }
.dominated-guide-copy > p:last-child { max-width:540px; margin:0; color:#c4cec2; font-size:13px; line-height:1.6; }
.dominated-guide-visual { min-height:150px; padding:18px; border:1px solid rgba(var(--theme-accent-rgb),.27); border-radius:17px; background:rgba(255,255,255,.045); display:grid; align-items:center; }
.guide-song-demo { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:#f7faf4; color:#172016; }
.guide-song-demo > span { width:38px; height:38px; border:1px solid var(--theme-accent); border-radius:50%; color:#527729; display:grid; place-items:center; }
.guide-song-demo div { display:grid; gap:3px; }
.guide-song-demo small { color:#6b7569; }
.guide-song-demo button { min-height:42px; border:1px solid #b8cd9e; border-radius:10px; background:#eff8e3; color:#4d7029; font-weight:850; }
.guide-search-demo { display:grid; gap:14px; }
.guide-search-demo > span { padding:14px 16px; border:1px solid rgba(255,255,255,.18); border-radius:11px; color:#ced7cb; background:rgba(0,0,0,.2); }
.guide-search-demo > div { display:flex; gap:8px; }
.guide-search-demo b,.guide-status-demo span { padding:9px 13px; border:1px solid rgba(var(--theme-accent-rgb),.38); border-radius:999px; color:var(--theme-accent-soft); font-size:11px; }
.guide-status-demo { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.guide-status-demo span { min-width:140px; padding:16px; border-radius:13px; background:rgba(var(--theme-accent-rgb),.08); }
.guide-status-demo i { margin-right:7px; color:var(--theme-accent); font-style:normal; }
.dominated-guide-dots { padding:16px 0 4px; display:flex; justify-content:center; gap:7px; }
.dominated-guide-dots i { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.22); }
.dominated-guide-dots i.active { width:22px; border-radius:999px; background:var(--theme-accent); }
.dominated-guide-card > footer { padding-top:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dominated-guide-navigation { display:flex; align-items:center; gap:8px; }
.dominated-guide-card > footer .secondary { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.05); color:white; }
.dominated-guide-card > footer .secondary:disabled { opacity:.35; cursor:not-allowed; }
.dominated-guide-card > footer .primary { border-color:var(--theme-accent); background:var(--theme-accent); color:#111318; }
.dominated-guide-card > footer button[data-guide-next] { border:1.5px solid #caff4c; background:rgba(202,255,76,.08); color:#caff4c; box-shadow:inset 0 0 18px rgba(202,255,76,.045),0 0 20px rgba(202,255,76,.08); }
.dominated-guide-card > footer button[data-guide-next]:hover,
.dominated-guide-card > footer button[data-guide-next]:focus-visible { background:rgba(202,255,76,.16); box-shadow:inset 0 0 22px rgba(202,255,76,.08),0 0 26px rgba(202,255,76,.16); }
.dominated-guide-card > footer button[data-guide-next]:disabled { border-color:rgba(202,255,76,.48); color:rgba(202,255,76,.56); }
.group-repertoire-toolbar { padding: 28px; border: 1px solid var(--line); border-radius: 17px; background: white; display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.group-visual-stage .group-repertoire-toolbar { border-color: rgba(var(--theme-accent-rgb),.3); background: linear-gradient(110deg, rgba(var(--theme-accent-rgb),.07), transparent 58%), rgba(10,11,14,.84); color: white; box-shadow: 0 18px 45px rgba(var(--theme-accent-rgb),.14); backdrop-filter: blur(14px); }
.group-visual-stage .group-repertoire-toolbar div > p:last-child { color: #c1cbc0; }
.group-visual-stage .group-repertoire-toolbar .secondary { color: var(--ink); }
.group-visual-stage .group-repertoire-toolbar .primary { border-color: var(--theme-accent); background: var(--theme-accent); color: #111318; box-shadow: 0 10px 28px rgba(var(--theme-accent-rgb),.2); }
.group-visual-stage .group-repertoire-toolbar .primary:hover { filter: brightness(1.1); }
.group-visual-stage > .group-settings-page { width: min(1180px, calc(100% - 40px)); margin: 26px auto 0; padding: 0 0 40px; position: relative; z-index: 1; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); align-items: start; gap: 18px; }
.group-settings-page > a { grid-column: 1 / -1; width: fit-content; padding: 10px 14px; border: 1px solid rgba(var(--theme-accent-rgb),.3); border-radius: 10px; background: rgba(10,11,14,.84); color: var(--theme-accent-soft); text-decoration: none; font-size: 12px; font-weight: 800; }
.group-settings-page > div { min-width: 0; }
.group-visual-stage .group-settings-page .account-modal-card { min-width: 0; max-height: none; overflow: visible; padding: 28px; border: 1px solid rgba(var(--theme-accent-rgb),.32); border-radius: 17px; background: linear-gradient(135deg, rgba(var(--theme-accent-rgb),.07), transparent 48%), rgba(255,255,252,.96); color: #202820; box-shadow: 0 18px 45px rgba(28,36,25,.12); backdrop-filter: blur(14px); }
.group-settings-page .eyebrow { color: #687653; }
.group-settings-page .account-modal-card h2 { margin: 6px 0; font-size: 27px; }
.group-settings-page .account-modal-card p { margin: 0; color: #626b60; font-size: 12px; line-height: 1.6; }
.group-settings-page .account-modal-card label,
.group-settings-page .visual-theme-picker legend { color: #465044; font-size: 11px; }
.group-settings-page input:not([type="radio"]),
.group-settings-page select,
.group-settings-page textarea { border-color: #cdd5c8; background: #f7f9f5; color: #171b18; }
.group-settings-page input:focus,
.group-settings-page select:focus,
.group-settings-page textarea:focus { border-color: var(--theme-accent); outline-color: rgba(var(--theme-accent-rgb),.22); }
.group-settings-page .primary { border-color: var(--theme-accent); background: var(--theme-accent); color: #111318; box-shadow: 0 10px 28px rgba(var(--theme-accent-rgb),.2); }
.group-settings-page .primary:hover { filter: brightness(1.1); }
.group-settings-page .secondary { border-color: rgba(var(--theme-accent-rgb),.48); background: rgba(var(--theme-accent-rgb),.12); color: #394531; }
.group-settings-page .account-modal-actions { padding-top: 16px; border-top: 1px solid rgba(var(--theme-accent-rgb),.2); flex-wrap: wrap; }
#group-invitations-panel { scroll-margin-top: 72px; }
.group-settings-page .group-danger-action, .group-settings-page .group-transfer-action { min-height: 44px; padding: 0 16px; border-radius: 10px; cursor: pointer; font-size: 11px; font-weight: 900; }
.group-settings-page .group-danger-action { margin-right: auto; border: 1px solid #d48b82; background: #fff2ef; color: #a63d31; }
.group-settings-page .group-danger-action:hover { border-color: #b9554a; background: #ffe8e3; }
.group-settings-page .group-transfer-action { min-width: 218px; border: 1px solid #d3a450; background: #f8d68e; color: #49330d; box-shadow: 0 8px 18px rgba(168,117,32,.12); }
.group-settings-page .group-transfer-action:hover { background: #ffe2a4; }
.group-settings-page .group-transfer-action:disabled, .group-settings-page .group-danger-action:disabled { cursor: wait; opacity: .55; }
.group-settings-page #group-invitation-list article { border-top-color: rgba(var(--theme-accent-rgb),.2); }
.group-settings-page #group-invitation-list article > div { min-width: 0; overflow-wrap: anywhere; }
.group-settings-page #group-invitation-list h3 { font-size: 16px; }
.group-settings-page #group-invitation-result:empty { display: none; }
.group-settings-page .group-ownership-transfer { grid-column: 1 / -1; }
.group-ownership-transfer form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: 14px; }
.group-ownership-transfer form > p { grid-column: 1 / -1; min-height: 18px; }
.group-members-page > header .primary { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.group-settings-page .account-modal-card .form-error { color: #8d392f; }
.group-settings-page .visual-theme-picker > div { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 900px) {
  .group-visual-stage > .group-settings-page { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 760px) {
  .group-visual-stage > .group-settings-page { width: calc(100% - 24px); }
  .group-visual-stage .group-settings-page .account-modal-card { padding: 20px; }
  .group-settings-page .visual-theme-picker > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .group-ownership-transfer form { grid-template-columns: 1fr; }
  .group-ownership-transfer form > p { grid-column: 1; }
}
.group-repertoire-toolbar h2 { margin: 6px 0; font-size: 27px; letter-spacing: -.04em; }
.group-repertoire-toolbar div > p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.sr-only { width: 1px; height: 1px; margin: -1px; padding: 0; position: absolute; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.group-tags-workspace { margin: 14px 0 22px; padding: 18px; border: 1px solid #dce4d7; border-radius: 15px; background: rgba(249,251,247,.96); display: grid; gap: 13px; }
.group-tags-workspace > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.group-tags-workspace > header h3 { margin: 4px 0 0; font-size: 16px; }
.group-tags-workspace > header > button { min-height: 38px; }
.group-filter-label { color:#718064; font-size:9px; font-weight:900; letter-spacing:.11em; }
.group-automatic-filter-sections { display:grid; gap:12px; }
.group-automatic-filter-sections > section { display:grid; gap:7px; }
.group-automatic-filter-sections > section + section { padding-top:11px; border-top:1px solid #dce4d7; }
.group-filter-summary { padding-top:12px; border-top:1px solid #dce4d7; display:grid; gap:8px; }
.group-filter-summary > small { color:#718064; font-size:9px; font-weight:900; letter-spacing:.11em; }
.group-filter-summary > div { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.group-filter-summary span { padding:6px 9px; border:1px solid #b9cca8; border-radius:999px; background:#edf6e1; color:#49652c; display:inline-flex; align-items:center; gap:5px; font-size:10px; font-weight:750; }
.group-filter-summary span b { color:#718064; font-size:8px; letter-spacing:.06em; text-transform:uppercase; }
.group-filter-summary button { padding:6px 9px; border:1px solid #cbd7c6; border-radius:999px; background:white; color:#687464; cursor:pointer; font-size:10px; font-weight:800; }
.group-tags-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }
.group-genre-form { padding: 11px; border: 1px solid #d7e1cf; border-radius: 12px; background: #f1f6eb; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 9px; animation: group-action-reveal .2s ease-out both; }
.group-genre-form label { margin: 0; }
.group-genre-form input { background: white; }
.group-genre-chips { min-height: 39px; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.group-genre-chips button { padding: 8px 10px; border: 1px solid transparent; border-radius: 99px; background: #e9f3dc; color: #58752f; cursor: pointer; font-size: 11px; font-weight: 800; }
.group-genre-chips button:hover { border-color: #a9ca68; }
.group-genre-chips button.active { border-color: #789d3d; background: #26341f; color: #d8f0a8; box-shadow: 0 5px 14px rgba(51,76,32,.16); }
.group-genre-chips button b { margin-left: 4px; }
.group-genre-chip-shell { display: inline-flex; align-items: center; }
.group-genre-chip-shell > button:first-child { border-radius: 99px 0 0 99px; }
.group-genre-chips .group-genre-delete { min-width: 27px; margin-left: 1px; padding: 8px 7px; border-radius: 0 99px 99px 0; background: #f4e4df; color: #99493d; }
.group-genre-chips .group-genre-delete:hover { border-color: #d28a7d; background: #efd4cd; }
.group-genre-chips button.special-setlist-tag { border-color: rgba(var(--setlist-color-rgb),.5); background: rgba(var(--setlist-color-rgb),.14); color: var(--setlist-color-deep); box-shadow: inset 3px 0 0 var(--setlist-color); }
.group-genre-chips button.special-setlist-tag:hover { border-color: var(--setlist-color); }
.group-genre-chips button.special-setlist-tag.active { border-color: var(--setlist-color); background: var(--setlist-color-deep); color: #fff; box-shadow: inset 3px 0 0 var(--setlist-color), 0 5px 14px rgba(var(--setlist-color-rgb),.24); }
.group-genre-chips button.special-setlist-empty { --setlist-color: #8b929d; --setlist-color-rgb: 139,146,157; --setlist-color-deep: #4d535d; }
.group-genre-chips button.special-mix-tag { --setlist-color: #78a936; --setlist-color-rgb: 120,169,54; --setlist-color-deep: #496d20; }
.group-genre-chips button.special-known-tag { --setlist-color: #2da56f; --setlist-color-rgb: 45,165,111; --setlist-color-deep: #17633f; }
.group-genre-chips button.special-configured-tag { --setlist-color: #477fc8; --setlist-color-rgb: 71,127,200; --setlist-color-deep: #29548d; }
.group-genre-chips button.special-newest-tag { --setlist-color: #b36bd4; --setlist-color-rgb: 179,107,212; --setlist-color-deep: #743c91; }
.group-genre-chips small { color: var(--muted); font-size: 12px; }
.group-member-knowledge-filters { padding-top: 12px; border-top: 1px solid #dce4d7; display: grid; gap: 9px; }
.group-member-knowledge-filters > small { color: #718064; font-size: 9px; font-weight: 900; letter-spacing: .11em; }
.group-genre-chips button.member-knowledge-chip { min-height: 42px; padding: 4px 10px 4px 4px; border-color:var(--member-color,#cdddbd); background:color-mix(in srgb,var(--member-color,#f3f8ec) 13%,white); color:#2d3b25; display: inline-flex; align-items: center; gap: 7px; box-shadow:0 3px 12px color-mix(in srgb,var(--member-color,#2b441c) 20%,transparent); }
.group-genre-chips button.member-knowledge-chip:hover { border-color:var(--member-color,var(--lime)); background:color-mix(in srgb,var(--member-color,#f8fdeb) 22%,white); }
.group-genre-chips button.member-knowledge-chip i { width: 32px; height: 32px; flex: 0 0 32px; overflow: hidden; border:2px solid var(--member-color,#b7d483); border-radius: 50%; background:color-mix(in srgb,var(--member-color,#ddebca) 25%,white); color:#3f5a26; display: grid; place-items: center; font-style: normal; font-weight: 900; }
.group-genre-chips button.member-knowledge-chip img { width: 100%; height: 100%; object-fit: cover; }
.group-genre-chips button.member-knowledge-chip span { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.group-genre-chips button.member-knowledge-chip b { min-width: 22px; margin-left: 0; padding: 3px 6px; border-radius: 99px; background:color-mix(in srgb,var(--member-color,#dfebcf) 24%,white); text-align: center; }
.group-genre-chips button.member-knowledge-chip.active { border-color:var(--member-color,var(--lime)); background:color-mix(in srgb,var(--member-color,#26341f) 42%,#182019); color:white; box-shadow:0 0 0 2px color-mix(in srgb,var(--member-color,var(--lime)) 25%,transparent),0 7px 18px rgba(38,52,31,.22); }
.group-genre-chips button.member-knowledge-chip.active i { border-color:var(--member-color,var(--lime)); box-shadow:0 0 13px color-mix(in srgb,var(--member-color,var(--lime)) 55%,transparent); }
.group-genre-chips button.member-knowledge-chip.active b { background:var(--member-color,var(--lime)); color:#182019; }
.group-repertoire-browser { margin: 0 0 18px; padding: 12px; border: 1px solid #dce4d7; border-radius: 14px; background: rgba(249,251,247,.96); display: grid; grid-template-columns: auto minmax(240px,1fr) auto; align-items: center; gap: 12px; scroll-margin-top: 92px; }
.grouping-switch { padding: 4px; border: 1px solid #d6dfd0; border-radius: 11px; background: #edf3e8; display: flex; align-items: center; gap: 3px; }
.grouping-switch > span { padding: 0 7px; color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.grouping-switch button { min-height: 34px; padding: 0 11px; border: 0; border-radius: 8px; background: transparent; color: #607057; cursor: pointer; font-size: 10px; font-weight: 850; }
.grouping-switch button.active { background: #26341f; color: #d8f0a8; box-shadow: 0 4px 12px rgba(38,52,31,.16); }
.group-repertoire-search { min-width: 0; margin: 0; position: relative; }
.group-repertoire-search > b { position: absolute; left: 13px; top: 50%; z-index: 1; color: #698344; font-size: 18px; transform: translateY(-52%); pointer-events: none; }
.group-repertoire-search input { width: 100%; min-height: 44px; padding-left: 39px; border-color: #d6dfd0; background: white; }
.group-repertoire-browser > p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; white-space: nowrap; }
.group-selection-actions { min-width: 0; padding: 12px; border: 1px solid #a9ca68; border-radius: 14px; background: linear-gradient(110deg, #172018, #202b1f); color: white; display: grid; grid-template-columns: minmax(320px,1fr) minmax(280px,.8fr); align-items: center; gap: 9px; box-shadow: 0 12px 28px rgba(24,38,20,.15), inset 0 0 28px rgba(193,255,71,.035); animation: group-action-reveal .22s ease-out both; }
@keyframes group-action-reveal { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }
.group-selection-head { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.group-selection-count { min-width: 0; display: flex; align-items: center; gap: 10px; }
.group-selection-count > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; background: var(--lime); color: #2f4612; display: grid; place-items: center; font-weight: 950; }
.group-selection-count b { font-size: 11px; }
.group-selection-actions select { width: 100%; min-width: 0; min-height: 44px; border-color: #556257; background: #f8faf6; }
.group-selection-actions button { min-height: 44px; white-space: nowrap; }
.group-selection-actions .secondary { border-color: #cbd7c4; background: #f8faf6; color: #263417; }
.group-selection-actions .secondary:disabled { opacity: .42; cursor: not-allowed; }
.selection-setlist-action { padding: 0 15px; border: 1px solid #b8e85b; border-radius: 10px; background: var(--lime); color: #2b3d14; cursor: pointer; font-size: 10px; font-weight: 900; }
.selection-clear-action { width: 34px; min-height: 34px !important; padding: 0; border: 1px solid #485449; border-radius: 50%; background: transparent; color: #c5cec5; cursor: pointer; font-size: 16px; font-weight: 650; }
.group-song-groups { display: grid; grid-template-columns: 1fr; align-items: start; gap: 18px; }
.setlist-library { padding:24px 0; border:0; background:transparent; color:#f4f6f2; }
body.setlist-library-mode,body.setlist-library-mode .account-shell,body.setlist-library-mode .account-main.group-visual-stage { background:#0b0e10; color:#f4f6f2; min-height:100dvh; }
body.setlist-library-mode .account-main.group-visual-stage::before { height:330px; }
body.setlist-library-mode .group-visual-stage > .group-repertoire-app { margin-top:26px; }
.setlist-library > header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
.setlist-library-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:16px; }
.setlist-library-grid > a { display:flex; flex-direction:column; align-items:flex-start; padding:28px; border:1px solid rgba(var(--setlist-color-rgb),.3); border-radius:16px; background:linear-gradient(120deg,rgba(var(--setlist-color-rgb),.08),transparent 65%),#17191c; color:#f7f8f5; text-decoration:none; box-shadow:0 10px 30px rgba(0,0,0,.2); }
.setlist-library-grid > a:hover,.setlist-library-grid > a:focus-visible { border-color:var(--setlist-color); background:linear-gradient(120deg,rgba(var(--setlist-color-rgb),.14),transparent 65%),#17191c; }
.setlist-library-grid h3 { margin:16px 0 12px; font-size:clamp(24px,2.5vw,36px); line-height:1.12; letter-spacing:-.035em; overflow-wrap:anywhere; }
.setlist-library-grid small { color:var(--setlist-color); font-size:11px; font-weight:900; letter-spacing:.12em; }
.setlist-library-grid p,.setlist-library > header p:not(.eyebrow) { color:#bdc5ba; }
.setlist-library-grid b { margin-top:auto; padding-top:18px; color:var(--setlist-color); }
.setlist-library > header h2 { color:#f7f8f5; }
.setlist-library > header .eyebrow { color:#c3f747; }
.setlist-library > header > a { text-decoration:none; }
.setlist-library > section { display:grid; gap:16px; }
.setlist-library > section + section,.setlist-live-entry + section { margin-top:30px; }
.setlist-library > section > header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:4px 18px; }
.setlist-library > section > header .eyebrow { grid-column:1 / -1; margin:0; }
.offline-preparation-dialog { width:min(520px,calc(100% - 28px)); padding:0; border:1px solid rgba(202,255,76,.45); border-radius:22px; background:#151a17; color:#f2f6ee; box-shadow:0 28px 90px rgba(0,0,0,.65); }
.offline-preparation-dialog::backdrop { background:rgba(2,5,4,.72); backdrop-filter:blur(10px); }
.offline-preparation-dialog form { display:grid; gap:20px; padding:24px; }
.offline-preparation-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.offline-preparation-dialog header h2 { margin:5px 0 0; font-size:clamp(25px,5vw,38px); letter-spacing:-.04em; }
.offline-preparation-dialog header p:not(.eyebrow) { margin:7px 0 0; color:#aab5aa; }
.offline-preparation-dialog header button { width:34px; height:34px; border:1px solid #536055; border-radius:50%; background:transparent; color:#eef4ea; cursor:pointer; font-size:20px; }
.offline-preparation-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.offline-preparation-summary > div { display:grid; gap:6px; padding:14px; border:1px solid #344238; border-radius:13px; background:#202820; }
.offline-preparation-summary small { color:#a7d84d; font-size:9px; font-weight:900; letter-spacing:.1em; }
.offline-preparation-summary strong { font-size:20px; }
.offline-preparation-progress { display:grid; gap:8px; }
.offline-preparation-progress > div { height:9px; overflow:hidden; border-radius:99px; background:#303b32; }
.offline-preparation-progress > div span { display:block; width:0; height:100%; border-radius:inherit; background:#caff4c; box-shadow:0 0 16px rgba(202,255,76,.5); transition:width .2s ease; }
.offline-preparation-progress p { min-height:18px; margin:0; color:#aab5aa; font-size:12px; }
.offline-preparation-dialog footer { display:flex; justify-content:flex-end; gap:9px; }
.offline-preparation-dialog footer button { min-height:44px; padding:0 16px; border:1px solid #536055; border-radius:10px; appearance:none; background:transparent; color:#dce8d6; cursor:pointer; font:inherit; font-size:12px; font-weight:850; }
.offline-preparation-dialog footer button[value="cancel"] { color:#caff4c; border-color:rgba(202,255,76,.58); }
.offline-preparation-dialog footer button[value="cancel"]:disabled { opacity:.55; color:#b9c3b5; border-color:#536055; background:transparent; cursor:not-allowed; }
.offline-preparation-dialog footer button.primary { border-color:#a8df32; background:var(--lime); color:#18200f; }
.offline-preparation-dialog footer button.primary:disabled { opacity:.58; cursor:default; }
.offline-preparation-dialog footer .offline-clear-cache { margin-right:auto;border-color:#9a5e55;color:#ffb8ad; }
.offline-preparation-dialog footer .offline-clear-cache:disabled { opacity:.42;cursor:not-allowed; }
@media(max-width:600px){.offline-preparation-dialog form{padding:19px}.offline-preparation-summary{grid-template-columns:1fr}.offline-preparation-dialog footer{display:grid;grid-template-columns:1fr 1fr}.offline-preparation-dialog footer button{min-height:44px}}
.setlist-library > section > header h2 { margin:0; }
.setlist-library > section > header a { color:var(--setlist-color); font-size:11px; font-weight:850; text-decoration:none; }
.setlist-library-empty { grid-column:1 / -1; margin:0; padding:26px; border:1px dashed rgba(255,255,255,.16); border-radius:14px; color:#9ba59a; }
.setlist-live-entry { min-height:190px; padding:30px; overflow:hidden; position:relative; border:1px solid rgba(202,255,76,.52); border-radius:18px; background:radial-gradient(circle at 82% 20%,rgba(202,255,76,.2),transparent 26%),linear-gradient(120deg,#152014,#0c100e 65%); color:white; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; text-decoration:none; box-shadow:0 18px 50px rgba(0,0,0,.28); }
.setlist-live-entry small,.setlist-live-entry b { color:#caff4c; font-weight:900; letter-spacing:.09em; }
.setlist-live-entry h2 { max-width:650px; margin:8px 0; font-size:clamp(30px,4vw,50px); letter-spacing:-.05em; }
.setlist-live-entry p { margin:0 0 22px; color:#bdc8bb; }
.live-repertoire-mode .group-onboarding-guide,
.live-repertoire-mode .group-repertoire-toolbar,
.live-repertoire-mode .setlist-strip,
.live-repertoire-mode .group-tags-workspace,
.live-repertoire-mode .group-repertoire-browser .grouping-switch,
.live-repertoire-mode .group-repertoire-browser > p,
.live-repertoire-mode .musical-genre-select-switch { display:none !important; }
.live-repertoire-mode .group-repertoire-app { padding-bottom:40px; }
body.live-repertoire-mode,body.live-repertoire-mode .account-shell,body.live-repertoire-mode .account-main.group-visual-stage { min-height:100dvh; background:#0b0e10; color:#f4f6f2; }
body.live-repertoire-mode .group-visual-stage > .group-repertoire-app { margin-top:26px; }
.live-repertoire-header { padding:24px 28px; border:1px solid rgba(202,255,76,.32); border-radius:18px; background:linear-gradient(110deg,rgba(202,255,76,.1),transparent 55%),rgba(8,12,10,.92); color:white; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:22px; }
.live-repertoire-header > a { color:#caff4c; font-size:11px; font-weight:850; text-decoration:none; }
.live-repertoire-header h1 { margin:2px 0; font-size:clamp(28px,4vw,44px); }
.live-repertoire-header p { margin:0; color:#b9c4b7; }
.live-repertoire-header > span { color:#caff4c; font-size:9px; font-weight:900; letter-spacing:.12em; }
.live-repertoire-mode .group-repertoire-browser { grid-template-columns:1fr; border-color:rgba(202,255,76,.24); background:rgba(9,13,11,.9); }
.live-repertoire-mode .group-repertoire-search { border-color:rgba(202,255,76,.36); background:#101612; color:white; }
.live-repertoire-mode .group-repertoire-search input { color:white; }
.live-repertoire-mode .group-song-groups > section:not(.account-empty) { border-color:rgba(202,255,76,.2); background:#111613; }
.live-repertoire-mode .group-song-groups > section > header { border-bottom-color:rgba(202,255,76,.18); background:#182018; color:#f7faf4; }
.live-repertoire-mode .group-song-groups > section:not(.account-empty) > div { background:#111613; }
.live-repertoire-mode .group-song-card { border-color:rgba(202,255,76,.17); background:#171d18; }
.live-repertoire-mode .group-song-card-content { background:#171d18; color:#f6f8f4; }
.live-repertoire-mode .group-song-main p,.live-repertoire-mode .group-song-card-content small { color:#aeb9ad; }
.live-repertoire-mode .group-song-card-content .group-song-ficha { border-color:#536050; background:#111612; color:#d7ded4; }
.live-repertoire-mode .group-song-card-content .group-song-knowledge { border-color:rgba(202,255,76,.34); background:rgba(202,255,76,.08); color:#caff4c; }
@media(max-width:600px){.setlist-library{padding:16px}.setlist-library-grid>a{padding:22px}.setlist-library>section>header{grid-template-columns:1fr}.live-repertoire-header{grid-template-columns:1fr auto}.live-repertoire-header>a{grid-column:1 / -1}.live-repertoire-header>div{grid-column:1}.live-repertoire-header>span{grid-column:2;grid-row:2}.setlist-live-entry{min-height:170px;padding:24px}}
.group-song-groups > section:not(.account-empty) { overflow: hidden; border: 1px solid #ccd7c1; border-radius: 16px; background: #f1f3ee; }
.group-song-groups > section > header { min-height: 57px; padding: 0 20px; border-bottom: 1px solid #ccd7c1; background: #e5eddc; display: flex; align-items: center; justify-content: space-between; transition:border-color .22s ease,background-color .22s ease; }
.group-song-groups > section:not(.account-empty) > div { padding: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 12px; background: #f1f3ee; }
.group-song-groups > section:not(.account-empty) > .repertoire-section-panel.is-animating { overflow:hidden; transform-origin:top; will-change:height,opacity,transform,padding; }
.group-song-groups > section:not(.account-empty) > .repertoire-section-panel.is-collapsed { display: none; }
.group-song-groups > section > header:has(.repertoire-section-toggle[aria-expanded="false"]) { border-bottom-color: transparent; }
.group-song-groups h3 { margin: 0; font-size: 16px; }
.group-song-groups header span { color: #68873a; font-size: 12px; font-weight: 900; }
.musical-genre-select-switch { margin-left: auto; margin-right: 18px; flex-shrink: 0; padding: 7px 0 7px 12px; border: 0; background: transparent; color: #49652b; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font: inherit; font-size: 12px; font-weight: 900; }
.musical-genre-select-switch i { width: 31px; height: 19px; position: relative; border: 1px solid #9caf88; border-radius: 999px; background: #dce5d4; transition: background .16s ease; }
.musical-genre-select-switch i::after { content: ""; width: 13px; height: 13px; position: absolute; top: 2px; left: 2px; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgba(31,50,20,.28); }
.musical-genre-select-switch:hover i { background: #c9d9b8; }
.musical-genre-batch-header { padding: 8px 20px !important; justify-content: flex-start !important; gap: 9px; flex-wrap: wrap; }
.musical-genre-batch-header select { min-width: 190px; min-height: 38px; flex: 1 1 210px; border: 1px solid #a9bd97; border-radius: 9px; background: white; color: #263417; font-weight: 800; }
.musical-genre-batch-header > span { min-width: 38px; text-align: center; }
.batch-musical-genre-apply, .batch-musical-genre-cancel { min-height: 38px; padding: 0 13px; border-radius: 9px; cursor: pointer; font-size: 11px; font-weight: 900; }
.batch-musical-genre-apply { border: 1px solid #8db64a; background: var(--lime); color: #2b3d14; }
.batch-musical-genre-apply:disabled { opacity: .45; cursor: not-allowed; }
.batch-musical-genre-cancel { border: 1px solid #bdc9b5; background: white; color: #4b5845; }
.group-song-groups section > div > article { min-width: 0; min-height: 67px; position: relative; overflow: hidden; border: 1px solid #e1e6dd; border-radius: 12px; background: #edf1ea; box-shadow: 0 2px 8px rgba(30,43,24,.035); }
.repertoire-section-panel { max-height: none; overflow: hidden; opacity: 1; transition: opacity .2s ease; }
.repertoire-section-panel.is-collapsed { max-height: 0; opacity: 0; }
.group-song-card-content { min-height: 67px; padding: 12px 14px; position: relative; z-index: 2; border-radius: 11px; background: rgba(255,255,255,.98); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 12px; transition: transform .22s cubic-bezier(.22,.8,.24,1); }
.group-song-card:not(.swipe-edit-open,.swipe-remove-open) .group-song-card-content { cursor: pointer; }
.group-song-card.selected { border-color: #91bb49; box-shadow: 0 0 0 2px rgba(145,187,73,.16), 0 5px 14px rgba(57,83,28,.09); }
.group-song-card.selected .group-song-card-content { background: #eef7df; }
.group-song-card.selection-mode { border-color: #c8d9b8; }
.group-song-card.selection-mode .group-song-card-content { padding-right: 54px; }
.group-song-selection-mark { width: 25px; height: 25px; position: absolute; top: 10px; right: 12px; border: 1px solid #b7c8aa; border-radius: 50%; background: #f8fbf5; color: #638535; display: grid; place-items: center; font-size: 15px; font-weight: 950; }
.group-song-card.selection-mode.selected .group-song-selection-mark { border-color: #7fa841; background: #84aa45; color: white; box-shadow: 0 4px 10px rgba(70,105,35,.25); }
.group-card-swipe-action { width: 76px; position: absolute; inset-block: 0; z-index: 1; border: 0; color: white; cursor: pointer; display: grid; place-items: center; opacity: 0; pointer-events: none; font-size: 10px; font-weight: 950; transition: opacity .14s ease; }
.group-card-swipe-action.edit { left: 0; background: #537d2d; }
.group-card-swipe-action.remove { right: 0; background: #a94b40; }
.group-song-card.swipe-edit-open .group-card-swipe-action.edit, .group-song-card.swipe-remove-open .group-card-swipe-action.remove { opacity: 1; pointer-events: auto; }
.group-song-card.swipe-edit-open .group-song-card-content { transform: translateX(76px); }
.group-song-card.swipe-remove-open .group-song-card-content { transform: translateX(-76px); }
.group-song-groups article > span { width: 34px; height: 34px; border-radius: 10px; background: #eff5e8; color: #668c32; display: grid; place-items: center; }
.group-song-groups h4 { margin: 0 0 3px; font-size: 14px; }
.group-song-groups h4 em { margin-left: 5px; padding: 3px 5px; border-radius: 4px; background: #e8f3d9; color: #5a7b2d; font-size: 8px; font-style: normal; vertical-align: 2px; }
.group-mix-toggle { margin-left: 5px; padding: 3px 5px; border: 0; border-radius: 4px; background: #e8f3d9; color: #5a7b2d; display: inline-flex; align-items: center; gap: 3px; font: inherit; font-size: 8px; font-weight: 900; line-height: 1; vertical-align: 2px; cursor: pointer; }
.group-mix-toggle:hover { background: #dcecc6; }
.group-mix-toggle i { font-style: normal; font-size: 9px; transition: transform .18s ease; }
.group-mix-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.group-song-groups article p { margin: 0; color: var(--muted); font-size: 11px; }
.group-song-groups article a { color: #527527; font-size: 11px; font-weight: 800; }
.group-song-knowledge { min-width: 100px; min-height: 44px; padding: 8px 12px; border: 1px solid #cfdbc2; border-radius: 10px; background: #f6f9f2; color: #65823c; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; font-size: 12px; font-weight: 800; transition:background-color .24s ease,border-color .24s ease,color .24s ease,box-shadow .24s ease,transform .24s ease; }
.group-song-knowledge b { font-size: 13px; }
.group-song-knowledge small { font-size: 8px; font-weight: 800; }
.group-song-knowledge.known { border-color: #a2cf4e; background: var(--lime); color: #2e4510; }
.live-repertoire-mode .group-song-card-content .group-song-knowledge.known { border-color:#a2cf4e; background:#caff4c; color:#2e4510; }
.group-song-card.knowledge-success { position:relative; z-index:6; animation:knowledge-card-success 1.25s cubic-bezier(.18,.82,.2,1) both; }
.group-song-knowledge.is-celebrating { animation:knowledge-button-success 1.2s cubic-bezier(.16,.9,.22,1) both; }
.group-song-knowledge.is-demoting { box-shadow:none; filter:saturate(.72); transform:scale(.98); }
.group-member-review-dialog { width:min(520px,calc(100vw - 28px)); padding:0; border:1px solid #9fc45a; border-radius:20px; background:#f8fbf6; color:#273125; box-shadow:0 24px 80px rgba(17,29,15,.3); }
.group-member-review-dialog::backdrop { background:rgba(18,26,18,.58); backdrop-filter:blur(5px); }
.group-member-review-dialog form { margin:0; padding:24px; display:grid; gap:18px; }
.group-member-review-dialog header { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.group-member-review-dialog header h2 { margin:5px 0 8px; font-size:clamp(22px,4vw,30px); line-height:1; }
.group-member-review-dialog header p:not(.eyebrow) { max-width:410px; margin:0; color:#687464; font-size:12px; line-height:1.5; }
.group-member-review-dialog header > button { width:34px; height:34px; border:1px solid #cbd7c6; border-radius:50%; background:transparent; color:#53604f; cursor:pointer; font-size:20px; }
.group-member-review-list { display:grid; gap:8px; max-height:min(48vh,360px); overflow:auto; padding-right:3px; }
.group-member-review-list label { min-height:54px; padding:8px 10px; border:1px solid #d5dfd0; border-radius:12px; background:white; display:grid; grid-template-columns:38px minmax(0,1fr) 24px; align-items:center; gap:10px; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.group-member-review-list label:hover { transform:translateY(-1px); border-color:#9fc45a; }
.group-member-review-list label.selected { border-color:#9bc653; background:#eff8df; }
.group-member-review-list input { position:absolute; opacity:0; pointer-events:none; }
.group-member-review-list i { width:36px; height:36px; overflow:hidden; border-radius:50%; background:var(--member-color,#8eaf4a); color:white; display:grid; place-items:center; font-style:normal; font-weight:900; }
.group-member-review-list i img { width:100%; height:100%; object-fit:cover; }
.group-member-review-list span { display:grid; gap:3px; }
.group-member-review-list span b { font-size:12px; }
.group-member-review-list span small { color:#71806d; font-size:10px; }
.group-member-review-list em { width:22px; height:22px; border:1px solid #c6d2c1; border-radius:50%; color:transparent; display:grid; place-items:center; font-style:normal; font-size:13px; font-weight:900; }
.group-member-review-list label.selected em { border-color:#8eb84a; background:#8eb84a; color:white; }
.group-member-review-status { min-height:16px; margin:0; color:#a24e43; font-size:11px; }
.group-member-review-dialog footer { display:flex; justify-content:flex-end; gap:8px; }
.mix-part-review-dialog { width:min(650px,calc(100vw - 28px)); }
.mix-review-members > small,.mix-review-parts > header small { color:#66735f; font-size:11px; font-weight:900; letter-spacing:.08em; }
.mix-review-members > div { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.mix-review-member { min-height:42px; padding:5px 10px 5px 5px; border:1px solid #d5dfd0; border-radius:999px; background:#fff; color:#40503c; display:inline-flex; align-items:center; gap:7px; cursor:pointer; font-weight:800; }
.mix-review-member.selected { border-color:#86ad44; background:#edf7df; color:#2e4920; }
.mix-review-member i { width:30px; height:30px; border-radius:50%; overflow:hidden; background:var(--member-color,#b8c5b1); display:grid; place-items:center; font-style:normal; }
.mix-review-member img { width:100%; height:100%; object-fit:cover; }
.mix-review-parts { padding:14px; border:1px solid #d5dfd0; border-radius:12px; background:#f8faf6; }
.mix-review-parts > header { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.mix-review-parts > header button { border:0; background:transparent; color:#55742e; cursor:pointer; font-size:12px; font-weight:900; }
.mix-review-parts > div { display:grid; gap:7px; margin-top:10px; }
.mix-review-parts label { min-height:42px; padding:7px 10px; border:1px solid #dbe4d7; border-radius:9px; background:#fff; display:flex; align-items:center; gap:9px; cursor:pointer; }
.mix-review-parts label:has(input:checked) { border-color:#9ac65a; background:#f1f8e8; }
.mix-review-parts input[type="checkbox"] { appearance:auto; flex:0 0 18px; width:18px; min-width:18px; max-width:18px; height:18px; min-height:18px; max-height:18px; padding:0; margin:0; accent-color:#76a62c; }
.mix-review-parts label span { flex:1; min-width:0; color:#40503c; font-weight:750; }
.mix-review-parts label b { color:#719843; font-size:11px; }
.mix-whole-review { display:grid; gap:5px; padding:14px; border:1px solid #d5dfd0; border-radius:12px; background:#f8faf6; color:#40503c; }
.mix-whole-review small { font-size:11px; font-weight:900; letter-spacing:.08em; }
.mix-whole-review span { font-size:12px; }
.mix-whole-review.known { border-color:#9ac65a; background:#f1f8e8; }
.mix-whole-review.admin-declared { border-color:#5595df; background:#eaf3ff; color:#2264aa; }
.mix-review-parts label.admin-declared:has(input:checked) { border-color:#5595df; background:#eaf3ff; }
.mix-review-parts label.admin-declared input { accent-color:#287bd6; }
.mix-review-parts label.admin-declared b { color:#2264aa; }
.group-mix-part button.known.admin-declared { border-color:#5595df; background:#eaf3ff; color:#2264aa; }
.knowledge-success-burst { width:0; height:0; position:fixed; z-index:240; pointer-events:none; display:grid; place-items:center; isolation:isolate; }
.knowledge-success-burst > span { width:52px; height:52px; position:absolute; border:2px solid rgba(202,255,76,.92); border-radius:50%; box-shadow:0 0 20px rgba(202,255,76,.72); animation:knowledge-success-ring .82s cubic-bezier(.12,.7,.18,1) both; }
.knowledge-success-burst > span:nth-child(2) { width:82px; height:82px; border-style:dashed; border-color:rgba(255,255,255,.76); animation-delay:.08s; }
.knowledge-success-burst > b { width:35px; height:35px; position:absolute; z-index:2; border-radius:50%; background:#efffc8; color:#385714; display:grid; place-items:center; font-size:18px; box-shadow:0 0 15px #fff,0 0 42px #caff4c,0 0 72px rgba(202,255,76,.72); animation:knowledge-success-check 1.05s cubic-bezier(.18,1.35,.28,1) both; }
.knowledge-success-burst > strong { position:absolute; top:-65px; z-index:3; color:#f8ffe9; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; text-shadow:0 0 10px #78a91d,0 0 22px #caff4c; animation:knowledge-success-label 1.25s ease-out both; }
.knowledge-success-burst > i { width:7px; height:7px; position:absolute; border-radius:50%; background:#fff; color:#caff4c; box-shadow:0 0 7px #fff,0 0 16px #caff4c,0 0 28px rgba(202,255,76,.9); animation:knowledge-success-particle 1.05s var(--delay) cubic-bezier(.12,.72,.16,1) both; }
.knowledge-success-burst > i:nth-of-type(3n) { width:4px; height:4px; background:#dfff8b; }
.knowledge-success-burst > i:nth-of-type(4n) { width:10px; height:10px; }
@keyframes knowledge-button-success { 0%{transform:scale(1);box-shadow:0 0 0 rgba(202,255,76,0)} 16%{transform:scale(.88)} 34%{transform:scale(1.15);box-shadow:0 0 0 7px rgba(202,255,76,.22),0 0 28px rgba(202,255,76,.7)} 62%{transform:scale(1.03);box-shadow:0 0 0 3px rgba(202,255,76,.13),0 0 18px rgba(202,255,76,.35)} 100%{transform:scale(1);box-shadow:0 0 0 rgba(202,255,76,0)} }
@keyframes knowledge-card-success { 0%,100%{box-shadow:0 0 0 rgba(202,255,76,0)} 32%{box-shadow:0 0 0 2px rgba(202,255,76,.72),0 10px 35px rgba(123,172,35,.38)} }
@keyframes knowledge-success-ring { 0%{opacity:0;transform:scale(.2) rotate(-40deg)} 24%{opacity:1} 100%{opacity:0;transform:scale(2.1) rotate(90deg)} }
@keyframes knowledge-success-check { 0%{opacity:0;transform:scale(.1) rotate(-90deg)} 28%,64%{opacity:1;transform:scale(1) rotate(0)} 100%{opacity:0;transform:scale(.55) rotate(8deg)} }
@keyframes knowledge-success-label { 0%,15%{opacity:0;transform:translateY(8px) scale(.7)} 34%,72%{opacity:1;transform:translateY(0) scale(1)} 100%{opacity:0;transform:translateY(-9px) scale(1.08)} }
@keyframes knowledge-success-particle { 0%{opacity:0;filter:blur(3px);transform:rotate(var(--angle)) translateX(4px) scale(.15)} 18%{opacity:1;filter:blur(0);transform:rotate(var(--angle)) translateX(18px) scale(1.3)} 70%{opacity:1;transform:rotate(calc(var(--angle) + 10deg)) translateX(var(--distance)) scale(1)} 100%{opacity:0;filter:blur(2px);transform:rotate(calc(var(--angle) + 18deg)) translateX(calc(var(--distance) + 24px)) scale(.2)} }
.group-mix-parts { margin-top: 10px; border: 1px solid #e0e6db; border-radius: 10px; overflow: hidden; }
.group-mix-part { min-height: 46px; padding: 6px 8px 6px 12px; border-bottom: 1px solid #e8ece5; background: #fafbf9; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.group-mix-part:last-child { border-bottom: 0; }
.group-mix-part > span { color: #404b3e; font-size: 11px; }
.group-mix-part button { min-width: 54px; min-height: 34px; border: 1px solid #d8dfd1; border-radius: 8px; background: white; cursor: pointer; display: grid; place-items: center; align-content: center; }
.group-mix-part button b { font-size: 10px; }
.group-mix-part button small { color: #788273; font-size: 7px; font-weight: 800; }
.group-mix-part button.known { border-color: #a5cb5e; background: #eafaCE; color: #4c6d20; }
.group-repertoire-empty { min-height: 210px; }
.group-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.group-song-actions { align-self: start; justify-self: end; display: flex; align-items: flex-end; flex-direction: column; justify-content: flex-start; gap: 7px; }
.group-song-main { min-width: 0; }
.group-song-summary { min-height: 42px; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 11px; }
.group-song-summary > div { min-width: 0; }
.group-song-play { width: 38px; height: 38px; flex: 0 0 38px; padding: 0 0 0 2px; border: 1px solid #86ad44; border-radius: 50%; background: #edf7df; color: #4f7025; cursor: pointer; display: grid; place-items: center; }
.group-song-play > b { font-size: 11px; }
.group-song-play:hover { border-color: #678d29; background: #dff0c7; transform: scale(1.04); }
.group-song-play.playing { padding-left: 0; border-color: #26341f; background: #26341f; color: #d8f0a8; }
.group-song-play.disabled { border-color: #d8dfd2; background: #f4f6f2; color: #adb5a8; cursor: not-allowed; transform: none; }
.group-song-main > .group-song-tags, .group-song-main > .group-mix-parts { margin-left: 49px; }
.batch-genre-control { display: flex; align-items: stretch; gap: 6px; }
.batch-genre-control select { min-width: 170px; min-height: 46px; }
.group-song-actions .group-song-knowledge { width: auto; flex-shrink: 0; }
.setlist-strip { margin: 14px 0 20px; padding: 18px; border: 1px solid #dce4d7; border-radius: 15px; background: #f7faf3; scroll-margin-top: 96px; }
.setlist-strip > header h3 { margin: 4px 0 12px; }
.setlist-strip > div { display: flex; gap: 9px; overflow-x: auto; }
.setlist-strip button { min-width: 180px; padding: 13px; position: relative; overflow: hidden; border: 1px solid rgba(var(--setlist-color-rgb),.32); border-radius: 11px; background: linear-gradient(125deg, rgba(var(--setlist-color-rgb),.16), rgba(var(--setlist-color-rgb),.035) 68%), white; display: grid; gap: 4px; text-align: left; cursor: pointer; box-shadow: inset 4px 0 0 var(--setlist-color); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.setlist-strip button:hover { border-color: rgba(var(--setlist-color-rgb),.68); box-shadow: inset 4px 0 0 var(--setlist-color), 0 10px 24px rgba(var(--setlist-color-rgb),.14); transform: translateY(-2px); }
.setlist-strip button span { color: var(--setlist-color-deep); font-size: 8px; font-weight: 900; }
.setlist-strip button small { color: var(--muted); font-size: 9px; }
.setlist-strip .setlist-create-card { min-width: 126px; border: 1px dashed #bac3b5; background: #f4f6f2; box-shadow: none; place-content: center; text-align: center; }
.setlist-strip .setlist-create-card:hover { border-color: #819476; background: #edf2e9; box-shadow: 0 8px 18px rgba(49,67,39,.1); }
.setlist-strip .setlist-create-card span { color: #607056; font-size: 29px; font-weight: 400; line-height: .8; }
.setlist-strip .setlist-create-card b { color: #3e4d39; font-size: 12px; }
.setlist-scope-card { margin:14px 0 20px; perspective:1400px; scroll-margin-top:96px; }
.setlist-scope-card-inner { display:grid; transform-style:preserve-3d; transition:transform .72s cubic-bezier(.2,.75,.18,1); }
.setlist-scope-card.is-group-side .setlist-scope-card-inner { transform:rotateY(180deg); }
.setlist-scope-face { min-width:0; padding:18px; grid-area:1 / 1; border:1px solid #dce4d7; border-radius:15px; backface-visibility:hidden; -webkit-backface-visibility:hidden; box-shadow:0 12px 30px rgba(35,45,31,.08); }
.setlist-scope-personal { background:linear-gradient(135deg,#fbfcfa,#f2f5ef); color:#202820; }
.setlist-scope-group { transform:rotateY(180deg); border-color:rgba(var(--theme-accent-rgb),.54); background-image:linear-gradient(105deg,rgba(4,6,8,.93),rgba(6,8,10,.7)),var(--theme-image); background-position:center; background-size:cover; color:white; box-shadow:0 16px 38px rgba(var(--theme-accent-rgb),.2); pointer-events:none; }
.setlist-scope-card.is-group-side .setlist-scope-personal { pointer-events:none; }
.setlist-scope-card.is-group-side .setlist-scope-group { pointer-events:auto; }
.setlist-scope-face > header { margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.setlist-scope-face > header h3 { margin:4px 0; }
.setlist-scope-face > header p { margin:0; }
.setlist-scope-group > header .eyebrow { color:var(--theme-accent); }
.setlist-scope-group > header p:last-child { color:#c7d0c5; }
.setlist-scope-switch { min-width:170px; min-height:48px; padding:8px 12px; border:1px solid #c8d2c3; border-radius:11px; background:rgba(255,255,255,.72); color:#33402f; display:grid; grid-template-columns:1fr auto; text-align:left; cursor:pointer; box-shadow:none; }
.setlist-scope-switch span { grid-column:1; color:#788273; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.setlist-scope-switch b { grid-column:1; font-size:11px; }
.setlist-scope-switch i { grid-column:2; grid-row:1 / 3; align-self:center; color:#617454; font-size:17px; font-style:normal; transition:transform .45s ease; }
.setlist-scope-switch:hover i,.setlist-scope-switch:focus-visible i { transform:rotate(180deg); }
.setlist-scope-group .setlist-scope-switch { border-color:rgba(var(--theme-accent-rgb),.58); background:rgba(8,11,12,.7); color:white; }
.setlist-scope-group .setlist-scope-switch span { color:var(--theme-accent-soft); }
.setlist-scope-group .setlist-scope-switch i { color:var(--theme-accent); }
.setlist-scope-face > div { display:flex; gap:9px; overflow-x:auto; }
.setlist-scope-face > div > button { min-width:180px; padding:13px; position:relative; overflow:hidden; border:1px solid rgba(var(--setlist-color-rgb),.32); border-radius:11px; background:linear-gradient(125deg,rgba(var(--setlist-color-rgb),.16),rgba(var(--setlist-color-rgb),.035) 68%),white; display:grid; gap:4px; text-align:left; cursor:pointer; box-shadow:inset 4px 0 0 var(--setlist-color); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.setlist-scope-face > div > button:hover { border-color:rgba(var(--setlist-color-rgb),.68); box-shadow:inset 4px 0 0 var(--setlist-color),0 10px 24px rgba(var(--setlist-color-rgb),.14); transform:translateY(-2px); }
.setlist-scope-face > div > button span { color:var(--setlist-color-deep); font-size:8px; font-weight:900; }
.setlist-scope-face > div > button b { color:#202820; }
.setlist-scope-face > div > button small { color:var(--muted); font-size:9px; }
.setlist-scope-face > div > .setlist-create-card { min-width:126px; border:1px dashed #bac3b5; background:#f4f6f2; box-shadow:none; place-content:center; text-align:center; }
.setlist-scope-face > div > .setlist-create-card span { color:#607056; font-size:29px; font-weight:400; line-height:.8; }
.setlist-scope-face > div > .setlist-create-card b { color:#3e4d39; font-size:12px; }
.setlist-scope-group > div > .setlist-create-card { border-color:rgba(var(--theme-accent-rgb),.72); background:rgba(8,11,12,.76); }
.setlist-scope-group > div > .setlist-create-card span,.setlist-scope-group > div > .setlist-create-card b,.setlist-scope-group > div > .setlist-create-card small { color:var(--theme-accent); }
.setlist-scope-group > div > p { color:#d3dbd0; }
@media(max-width:640px){.setlist-scope-face{padding:15px}.setlist-scope-face>header{align-items:flex-start;flex-direction:column}.setlist-scope-switch{width:100%;min-width:0}.setlist-scope-face>div>button{min-width:165px}}
@media(prefers-reduced-motion:reduce){.setlist-scope-card-inner{transition-duration:.01ms}}

.group-selection-float { width: min(720px, calc(100% - 28px)); margin: 0 auto 14px; position: sticky; top: 44px; z-index: 74; padding: 11px; border: 1px solid #b3d46f; border-radius: 15px; background: rgba(29,42,25,.97); color: white; display: grid; grid-template-columns: minmax(0,1fr) minmax(170px,.55fr) auto auto; align-items: center; gap: 9px; box-shadow: 0 17px 38px rgba(20,31,16,.28); animation: group-selection-float-reveal .2s ease-out both; }
@keyframes group-selection-float-reveal { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }
.group-selection-float > div { min-width: 0; display: flex; align-items: center; gap: 10px; }
.group-selection-float > div > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; background: var(--lime); color: #2d4315; display: grid; place-items: center; font-weight: 950; }
.group-selection-float section { min-width: 0; display: grid; gap: 2px; }
.group-selection-float b { font-size: 12px; }
.group-selection-float small { color: #d2ddce; font-size: 9px; line-height: 1.35; }
.group-selection-float select { min-width: 0; min-height: 38px; border-color: #63785c; background: #f9fbf7; color: #293227; font-size: 11px; }
.group-selection-float .selection-genre-destination { min-width: 0; display: grid; gap: 5px; }
.group-selection-float .selection-genre-destination input { min-width: 0; min-height: 38px; border-color: #63785c; background: #fff; color: #293227; font-size: 11px; }
.group-selection-float button { min-height: 38px; padding-inline: 13px; white-space: nowrap; }
.group-selection-float .secondary { border-color: #71806d; background: transparent; color: white; }
.setlist-color-violet { --setlist-color: #9b72ff; --setlist-color-rgb: 155,114,255; --setlist-color-deep: #6241ad; --setlist-color-soft: #d8cbff; }
.setlist-color-cyan { --setlist-color: #30cce8; --setlist-color-rgb: 48,204,232; --setlist-color-deep: #177d91; --setlist-color-soft: #b9f3fb; }
.setlist-color-amber { --setlist-color: #f4ad32; --setlist-color-rgb: 244,173,50; --setlist-color-deep: #956314; --setlist-color-soft: #ffe0a3; }
.setlist-color-coral { --setlist-color: #ff725f; --setlist-color-rgb: 255,114,95; --setlist-color-deep: #aa4134; --setlist-color-soft: #ffc2b9; }
.setlist-color-rose { --setlist-color: #ef68a8; --setlist-color-rgb: 239,104,168; --setlist-color-deep: #a03a6b; --setlist-color-soft: #ffc2df; }
.setlist-color-blue { --setlist-color: #568df0; --setlist-color-rgb: 86,141,240; --setlist-color-deep: #345ea9; --setlist-color-soft: #c2d7ff; }
.setlist-color-teal { --setlist-color: #3bc5a5; --setlist-color-rgb: 59,197,165; --setlist-color-deep: #217c68; --setlist-color-soft: #b8f0e3; }
.setlist-color-lime { --setlist-color: #a8d83f; --setlist-color-rgb: 168,216,63; --setlist-color-deep: #617f22; --setlist-color-soft: #ddf5aa; }
.setlist-color-picker { margin: 0; padding: 14px; border: 1px solid #d8dfd4; border-radius: 13px; background: #f8faf6; }
.setlist-color-picker legend { padding: 0 5px; font-size: 11px; font-weight: 900; }
.setlist-color-picker > p { margin: 0 0 11px; color: var(--muted); font-size: 9px; }
.setlist-color-picker > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.setlist-color-picker label { min-width: 0; margin: 0; padding: 9px; position: relative; border: 1px solid #dde3d9; border-radius: 10px; background: white; cursor: pointer; display: flex; align-items: center; gap: 7px; }
.setlist-color-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.setlist-color-picker label > span { width: 22px; height: 22px; flex: 0 0 22px; border-radius: 7px; background: var(--setlist-color); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.setlist-color-picker label > b { overflow: hidden; font-size: 9px; text-overflow: ellipsis; }
.setlist-color-picker label:has(input:checked) { border-color: var(--setlist-color); background: rgba(var(--setlist-color-rgb),.1); box-shadow: inset 0 0 0 1px var(--setlist-color); }
.setlist-color-picker label:has(input:focus-visible) { outline: 3px solid rgba(var(--setlist-color-rgb),.25); }
.song-workspace-card { width: min(800px, 100%); max-height: 90vh; overflow: hidden; overscroll-behavior-x: none; grid-template-rows: auto minmax(0,1fr) auto; }
.song-workspace-card:has(.mix-page-nav:not(.hidden)) { grid-template-rows: auto auto minmax(0,1fr) auto; }
.song-editor-scroll { min-width: 0; min-height: 0; margin-inline: -6px; padding: 2px 6px 12px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; display: grid; align-content: start; gap: 16px; }
.song-editor-footer { margin: 0 -25px -25px; padding: 14px 25px; position: relative; z-index: 4; border-top: 1px solid #dce4d7; background: rgba(250,252,248,.96); box-shadow: 0 -12px 28px rgba(28,39,24,.07); backdrop-filter: blur(10px); }
.song-main-page { display: grid; gap: 14px; }
.mix-page-nav { width: calc(100% + 50px); margin: -2px -25px 2px; padding: 7px 25px; overflow-x: auto; border-block: 1px solid #d8e1d2; border-inline: 0; border-radius: 0; background: #edf3e8; display: flex; gap: 6px; scrollbar-width: thin; }
.mix-page-nav > button { min-width: 132px; min-height: 48px; padding: 7px 11px; flex: 0 0 auto; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #65705f; cursor: pointer; touch-action: manipulation; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 8px; text-align: left; }
.mix-page-nav > button span { width: 28px; height: 28px; border-radius: 8px; background: #dce7d2; color: #61734e; display: grid; place-items: center; font-size: 9px; font-weight: 950; }
.mix-page-nav > button b { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.mix-page-nav > button.active { border-color: #91b94b; background: #182019; color: white; box-shadow: 0 7px 18px rgba(31,45,26,.16); }
.mix-page-nav > button.switching { border-color: #91b94b; transform: scale(.98); }
.mix-page-nav > button.active span { background: var(--lime); color: #2d4213; }
.mix-page-nav > button.unlinked { border-style: dashed; opacity: .68; }
.mix-page-nav > button.unlinked span { background: #efe4cf; color: #8a642d; }
.mix-part-relation { gap: 9px; }
.song-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.song-field-title { grid-column: span 2; }
.song-sheet-upload { padding: 16px; border: 1px solid #d8e4ce; border-radius: 13px; background: linear-gradient(135deg, #f8fbf4, #eef5e7); display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; }
.song-sheet-upload > header { grid-column: 1 / -1; }
.song-sheet-upload > header div { display: grid; gap: 3px; }
.song-sheet-upload > header small, #song-sheet-current p { margin: 0; color: var(--muted); font-size: 10px; }
#song-sheet-current { min-width: 0; }
#song-sheet-current a { min-height: 52px; padding: 9px 12px; border: 1px solid rgba(125,173,49,.3); border-radius: 10px; background: rgba(255,255,255,.82); color: var(--dark); display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 2px 9px; text-decoration: none; }
#song-sheet-current a b { grid-row: 1 / 3; color: #668d27; font-size: 11px; }
#song-sheet-current a span { overflow: hidden; font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
#song-sheet-current a small { color: var(--muted); font-size: 9px; }
.song-sheet-picker { min-height: 48px; margin: 0; padding: 0 15px; border: 1px solid #8bbb37; border-radius: 10px; background: var(--lime); color: #243610; display: grid; place-items: center; cursor: pointer; font-size: 11px; font-weight: 900; }
.song-sheet-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.song-sheet-upload > #remove-song-sheet { min-height: 48px; }
.bpm-field { position: relative; }
.bpm-tooltip { width: max-content; max-width: 230px; padding: 7px 9px; position: absolute; left: 50%; bottom: calc(100% - 15px); z-index: 20; transform: translate(-50%,5px); border-radius: 7px; background: #182019; color: white; pointer-events: none; opacity: 0; font-size: 9px; font-weight: 750; line-height: 1.3; box-shadow: 0 8px 20px rgba(0,0,0,.2); transition: opacity .16s ease, transform .16s ease; }
.bpm-tooltip.show { opacity: 1; transform: translate(-50%,0); }
.metronome-option { height: 43px; min-height: 43px; padding: 8px 12px; align-self: end; border: 1px solid #dce4d7; border-radius: 11px; background: #f7faf3; display: flex; align-items: center; gap: 9px; }
.metronome-option input { width: 18px; height: 18px; }
.metronome-option b { min-width: 0; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.metronome-preview { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.metronome-preview span { color: var(--muted); font-size: 10px; }
.song-assets { padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fafbf9; }
.song-assets > header { margin-bottom: 4px; }
.song-assets > header div, .song-asset-empty { display: grid; gap: 3px; }
.song-assets small, .song-asset-field em { color: var(--muted); font-size: 9px; font-style: normal; }
.song-asset-field { min-height: 48px; margin: 0; padding: 7px 0; border-top: 1px solid #e5e9e2; display: grid; grid-template-columns: minmax(160px,1fr) auto; align-items: center; gap: 9px; }
.song-asset-actions { min-width: 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.song-asset-empty > b { color: #536050; font-size: 11px; }
.song-asset-play { min-height: 38px; padding: 0; border: 0; background: transparent; color: #465642; cursor: pointer; display: flex; align-items: center; justify-content: flex-start; gap: 9px; font-size: 10px; font-weight: 900; text-align: left; }
.song-asset-play > b { width: 34px; height: 34px; flex: 0 0 34px; padding-left: 2px; border: 1px solid #86ad44; border-radius: 50%; background: #edf7df; color: #4f7025; display: grid; place-items: center; font-size: 11px; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.song-asset-play:hover > b { border-color: #678d29; background: #dff0c7; transform: scale(1.04); }
.song-asset-play.playing > b { padding-left: 0; border-color: #26341f; background: #26341f; color: #d8f0a8; }
.song-asset-play.playing > span { color: #314923; }
.song-asset-picker { min-height: 34px; margin: 0; padding: 0 11px; position: relative; overflow: hidden; border: 1px solid #b8c5b1; border-radius: 8px; background: white; color: #52604e; cursor: pointer; display: grid; place-items: center; font-size: 9px; font-weight: 850; }
.song-asset-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.song-asset-analyze { min-height: 34px; padding: 0 10px; border: 1px solid #b8c5b1; border-radius: 8px; background: #f5f8f1; color: #52604e; cursor: pointer; font-size: 9px; font-weight: 850; white-space: nowrap; }
.song-asset-analyze:hover { border-color: #86ad44; background: #edf7df; color: #3f5f23; }
.song-asset-analyze:disabled { opacity: .65; cursor: wait; }
#setlist-selected-summary { display: flex; flex-wrap: wrap; gap: 6px; }
#setlist-selected-summary span { padding: 7px 9px; border-radius: 99px; background: #eef6e3; color: #54732b; font-size: 9px; font-weight: 800; }
.setlist-order-list { display: grid; gap: 7px; }
.setlist-order-list article { padding: 11px; border: 1px solid var(--line); border-radius: 11px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.setlist-order-list article > span { width: 28px; height: 28px; border-radius: 8px; background: var(--dark); color: white; display: grid; place-items: center; font-size: 10px; font-weight: 900; }
.setlist-order-list article > div { display: grid; gap: 3px; }
.setlist-order-list small { color: var(--muted); font-size: 9px; }
.setlist-order-list article > div:last-child { display: flex; }
.setlist-order-list button { width: 34px; height: 34px; border: 1px solid var(--line); background: white; cursor: pointer; }
.setlist-workspace { overflow-anchor: none; display: grid; gap: 18px; }
.setlist-workspace-header { padding: 26px; border-radius: 17px; background: var(--dark); color: white; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 22px; }
.setlist-workspace { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.setlist-workspace .setlist-workspace-header { border: 1px solid rgba(var(--setlist-color-rgb),.2); background: linear-gradient(120deg, rgba(var(--setlist-color-rgb),.055), transparent 48%), #17191c; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.setlist-workspace .setlist-workspace-header > button,
.setlist-workspace .setlist-workspace-header .eyebrow { color: var(--setlist-color); }
.setlist-workspace .setlist-header-actions > button { border-color: rgba(var(--setlist-color-rgb),.38); background: rgba(var(--setlist-color-rgb),.11); }
.setlist-workspace .setlist-header-actions > button b { background: var(--setlist-color); color: #17181c; }

.visual-theme-orbit-lime { --theme-image: url("backgrounds/orbit-lime.jpg"); --theme-accent: #caff4c; --theme-accent-rgb: 202,255,76; --theme-accent-soft: #ddff91; background-image: var(--theme-image); }
.visual-theme-portal-violet { --theme-image: url("backgrounds/portal-violet.jpg"); --theme-accent: #d968ff; --theme-accent-rgb: 217,104,255; --theme-accent-soft: #efb8ff; background-image: var(--theme-image); }
.visual-theme-ion-cyan { --theme-image: url("backgrounds/ion-cyan.jpg"); --theme-accent: #4de8ff; --theme-accent-rgb: 77,232,255; --theme-accent-soft: #a9f5ff; background-image: var(--theme-image); }
.visual-theme-eclipse-amber { --theme-image: url("backgrounds/eclipse-amber.jpg"); --theme-accent: #ffad3d; --theme-accent-rgb: 255,173,61; --theme-accent-soft: #ffd38f; background-image: var(--theme-image); }
.visual-theme-nova-crimson { --theme-image: url("backgrounds/nova-crimson.jpg"); --theme-accent: #ff526f; --theme-accent-rgb: 255,82,111; --theme-accent-soft: #ffabb9; background-image: var(--theme-image); }
.visual-theme-gravity-blue { --theme-image: url("backgrounds/gravity-blue.jpg"); --theme-accent: #6699ff; --theme-accent-rgb: 102,153,255; --theme-accent-soft: #b5cdff; background-image: var(--theme-image); }
.visual-theme-plasma-coral { --theme-image: url("backgrounds/plasma-coral.jpg"); --theme-accent: #ff7968; --theme-accent-rgb: 255,121,104; --theme-accent-soft: #ffbdb4; background-image: var(--theme-image); }
.visual-theme-aurora-teal { --theme-image: url("backgrounds/aurora-teal.jpg"); --theme-accent: #48e0bd; --theme-accent-rgb: 72,224,189; --theme-accent-soft: #a1f4e1; background-image: var(--theme-image); }
.visual-theme-lunar-silver { --theme-image: url("backgrounds/lunar-silver.jpg"); --theme-accent: #d9e1ec; --theme-accent-rgb: 217,225,236; --theme-accent-soft: #f4f7fb; background-image: var(--theme-image); }
.visual-theme-quantum-gold { --theme-image: url("backgrounds/quantum-gold.jpg"); --theme-accent: #ffd35a; --theme-accent-rgb: 255,211,90; --theme-accent-soft: #ffe9a6; background-image: var(--theme-image); }
.visual-theme-nebula-rose { --theme-image: url("backgrounds/nebula-rose.jpg"); --theme-accent: #ff70b7; --theme-accent-rgb: 255,112,183; --theme-accent-soft: #ffbddf; background-image: var(--theme-image); }
.visual-theme-signal-indigo { --theme-image: url("backgrounds/signal-indigo.jpg"); --theme-accent: #9b85ff; --theme-accent-rgb: 155,133,255; --theme-accent-soft: #cbc0ff; background-image: var(--theme-image); }
.context-invitation.is-accepted { background-image:radial-gradient(circle at 82% 10%,rgba(221,255,139,.78),transparent 28%),linear-gradient(125deg,#caff4c,#a8e52e); }
.context-card.context-themed { border-color: rgba(var(--theme-accent-rgb),.3); background-image: linear-gradient(90deg, rgba(7,9,10,.94), rgba(8,10,12,.74) 62%, rgba(8,10,12,.4)), var(--theme-image); background-position: center; background-size: cover; color: white; box-shadow: 0 10px 26px rgba(var(--theme-accent-rgb),.1); }
.context-card.context-themed:hover { border-color: rgba(var(--theme-accent-rgb),.72); box-shadow: 0 14px 32px rgba(var(--theme-accent-rgb),.18); }
.context-card.context-themed .context-monogram { border: 1px solid rgba(var(--theme-accent-rgb),.42); background: rgba(var(--theme-accent-rgb),.16); color: var(--theme-accent); box-shadow: inset 0 0 18px rgba(var(--theme-accent-rgb),.08); backdrop-filter: blur(8px); }
.context-card.context-themed .context-copy small { color: var(--theme-accent); }
.context-card.context-themed .context-copy p { color: #c1cbc0; }
.context-card.context-themed .context-status { justify-self: end; border: 1px solid rgba(var(--theme-accent-rgb),.2); background: rgba(var(--theme-accent-rgb),.17); color: var(--theme-accent-soft); backdrop-filter: blur(8px); }

.visual-theme-picker { margin: 2px 0; padding: 0; border: 0; }
.visual-theme-picker legend { font-size: 11px; font-weight: 900; }
.visual-theme-picker > p { margin: 5px 0 10px; color: var(--muted); font-size: 9px; }
.visual-theme-picker > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.visual-theme-picker label { margin: 0; position: relative; cursor: pointer; }
.visual-theme-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.visual-theme-picker label > span { min-height: 92px; padding: 9px; border: 2px solid transparent; border-radius: 12px; background-size: cover; background-position: center; color: white; display: flex; align-items: end; box-shadow: inset 0 -42px 35px rgba(0,0,0,.76); transition: transform .18s ease, border-color .18s ease; }
.visual-theme-picker label:hover > span { transform: translateY(-2px); }
.visual-theme-picker input:checked + span { border-color: var(--theme-accent); box-shadow: inset 0 -42px 35px rgba(0,0,0,.76), 0 0 0 3px rgba(var(--theme-accent-rgb),.22); }
.visual-theme-picker input:focus-visible + span { outline: 3px solid rgba(var(--theme-accent-rgb),.38); }
.visual-theme-picker b { font-size: 10px; text-shadow: 0 1px 4px #000; }
@media (max-width: 620px) {
  .visual-theme-picker > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .setlist-color-picker > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .group-visual-stage > .group-workspace-heading { min-height: 390px; }
  .account-main.group-visual-stage::before { height: 760px; background-position: 64% center; }
}
.setlist-workspace-header > button { border: 0; background: transparent; color: var(--lime); cursor: pointer; font-weight: 850; }
.setlist-workspace-header h2 { margin: 5px 0; font-size: clamp(28px,4vw,44px); letter-spacing: -.045em; }
.setlist-workspace-header p:last-child { margin: 0; color: #b9c3b7; }
.setlist-header-actions { display: grid; justify-items: end; gap: 9px; }
.setlist-header-actions > strong { padding: 9px 12px; border: 1px solid #465146; border-radius: 99px; font-size: 10px; }
.setlist-header-actions > button { min-width: 166px; min-height: 45px; padding: 8px 12px; border: 1px solid #697765; border-radius: 11px; background: #273128; color: white; cursor: pointer; display: flex; align-items: center; justify-content: flex-start; gap: 8px; font-size: 10px; font-weight: 900; }
.setlist-header-actions > button b { width: 27px; height: 27px; border-radius: 8px; background: var(--lime); color: #2f4515; display: grid; place-items: center; font-size: 14px; }
.setlist-header-actions > button.synced { border-color: #94bc4c; background: #354c20; }
.setlist-header-actions > button:disabled { cursor: wait; opacity: .82; }
.setlist-workspace .setlist-header-actions > button.setlist-participants-action { border-color: var(--lime); background: linear-gradient(110deg,rgba(193,255,71,.2),rgba(var(--setlist-color-rgb),.14)); box-shadow: 0 0 22px rgba(193,255,71,.12); }
.setlist-workspace .setlist-header-actions > button.setlist-participants-action b { background: var(--lime); color: #243313; }
.setlist-participants-dialog { box-sizing:border-box; width:min(780px,calc(100% - 24px)); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:0; overflow-x:hidden; overflow-y:auto; border:1px solid rgba(193,255,71,.34); border-radius:22px; background:#121619; color:#f3f6f1; box-shadow:0 32px 100px rgba(0,0,0,.7),0 0 44px rgba(193,255,71,.08); }
.setlist-participants-dialog::backdrop { background:rgba(2,5,6,.8); backdrop-filter:blur(10px); }
.setlist-participants-dialog > form { padding:24px; display:grid; gap:20px; }
.orbitboard-alignment-dialog { overflow:hidden; }
.orbitboard-alignment-dialog > form { box-sizing:border-box; max-height:calc(100dvh - 24px); min-height:0; grid-template-rows:auto minmax(0,1fr) auto; }
.orbitboard-alignment-dialog .setlist-participant-grid { min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:contain; touch-action:pan-y; -webkit-overflow-scrolling:touch; padding-right:2px; }
.setlist-participants-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.setlist-participants-dialog header h2 { margin:5px 0; font-size:clamp(25px,4vw,36px); }
.setlist-participants-dialog header p:last-child { max-width:600px; margin:0; color:#aeb8ae; line-height:1.5; }
.setlist-participants-dialog header > button { width:40px; height:40px; flex:0 0 auto; border:1px solid #465047; border-radius:50%; background:transparent; color:white; cursor:pointer; font-size:20px; }
.setlist-participant-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.setlist-participant-grid label { min-width:0; min-height:70px; padding:10px 12px 10px 9px; border:1px solid #354039; border-radius:14px; background:#191e20; cursor:pointer; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; transition:border-color .18s,background .18s,transform .18s; }
.setlist-participant-grid label:hover { border-color:#71835f; transform:translateY(-1px); }
.setlist-participant-grid label.selected { border-color:var(--lime); background:linear-gradient(110deg,rgba(193,255,71,.14),rgba(255,255,255,.025)); }
.setlist-participant-grid label.is-vocalist { box-shadow:inset 3px 0 0 var(--setlist-color); }
.setlist-participant-grid input { position:absolute; opacity:0; pointer-events:none; }
.setlist-participant-grid i { width:46px; height:46px; overflow:hidden; border:2px solid #536052; border-radius:50%; background:#283028; display:grid; place-items:center; color:#d8e8ca; font-style:normal; font-weight:900; }
.setlist-participant-grid label.selected i { border-color:var(--lime); box-shadow:0 0 14px rgba(193,255,71,.35); }
.setlist-participant-grid img { width:100%; height:100%; object-fit:cover; }
.setlist-participant-grid span { min-width:0; display:grid; gap:3px; }
.setlist-participant-grid strong,.setlist-participant-grid small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.setlist-participant-grid strong { font-size:13px; }
.setlist-participant-grid small { color:#9eaaa0; font-size:9px; }
.setlist-participant-grid label > b { width:25px; height:25px; border:1px solid #4c584d; border-radius:50%; color:transparent; display:grid; place-items:center; }
.setlist-participant-grid label.selected > b { border-color:var(--lime); background:var(--lime); color:#263517; }
.setlist-participant-summary { padding:14px; border:1px solid #354039; border-radius:14px; background:#0e1214; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.setlist-participant-summary > * { padding:8px; border-right:1px solid #303a33; color:#b8c2b8; font-size:10px; text-align:center; }
.setlist-participant-summary > *:last-child { border:0; color:var(--lime); }
.setlist-participant-status { min-height:18px; margin:0; color:#ffcd76; font-size:11px; }
.setlist-participants-dialog footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:9px; }
.setlist-participants-dialog footer button { min-height:43px; padding:0 14px; border:1px solid #4b554d; border-radius:10px; background:#202622; color:white; cursor:pointer; font-weight:850; }
.setlist-participants-dialog footer .setlist-participant-unrestricted { margin-right:auto; color:#c7d1c6; }
.setlist-participants-dialog footer .setlist-participant-save { border-color:var(--lime); background:var(--lime); color:#263517; }
.setlist-participants-dialog footer button:disabled { opacity:.42; cursor:not-allowed; }
.setlist-workspace-songs { display: grid; gap: 8px; }
.setlist-insert-point { width: 100%; height: 0; min-height: 0; margin: 0; padding: 0; position: relative; z-index: 8; overflow: visible; border: 0; appearance: none; background: transparent; display: grid; place-items: center; line-height: 0; cursor: pointer; }
.setlist-insert-point span { width: 25px; height: 25px; border: 2px solid rgba(var(--setlist-color-rgb),.7); border-radius: 50%; background: #18191d; color: var(--setlist-color); display: grid; place-items: center; transform: translateY(-50%); font-size: 15px; font-weight: 950; box-shadow: 0 0 0 5px rgba(12,13,16,.82), 0 0 22px rgba(var(--setlist-color-rgb),.2); transition: transform .16s ease, box-shadow .16s ease; }
.setlist-insert-point:hover span, .setlist-insert-point:focus-visible span { transform: translateY(-50%) scale(1.16) rotate(90deg); box-shadow: 0 0 0 5px rgba(12,13,16,.9), 0 0 30px rgba(var(--setlist-color-rgb),.42); }
.setlist-remove-action, .setlist-edit-action { display: none; }
.setlist-insert-modal { position: fixed; inset: 0; z-index: 220; box-sizing: border-box; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; padding: 20px; background: transparent; display: none; place-items: center; }
.setlist-insert-modal[open] { display: grid; }
.setlist-insert-modal::backdrop { background: rgba(4,7,5,.82); backdrop-filter: blur(12px); }
.setlist-insert-modal > section { width: min(820px,100%); height: min(760px,90vh); max-height: 90vh; overflow: hidden; border: 1px solid #4a5b4c; border-radius: 22px; background: radial-gradient(circle at 82% 0, rgba(113,71,184,.24), transparent 34%), radial-gradient(circle at 8% 12%, rgba(202,255,76,.12), transparent 30%), #111713; color: white; display: grid; grid-template-rows: auto auto minmax(180px,1fr) auto; box-shadow: 0 35px 110px rgba(0,0,0,.58), 0 0 48px rgba(202,255,76,.08); }
.setlist-insert-modal > section > header { padding: 22px 24px 18px; border-bottom: 1px solid #303d32; display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.setlist-insert-modal header p { margin: 0; color: var(--lime); font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.setlist-insert-modal header h2 { margin: 2px 0 0; font-size: 28px; line-height: 1; letter-spacing: -.045em; }
.setlist-insert-modal header span { color: #a7b2a8; font-size: 11px; }
.setlist-insert-modal header > button { width: 38px; height: 38px; border: 1px solid #455247; border-radius: 50%; background: #202922; color: white; cursor: pointer; font-size: 19px; }
.setlist-insert-tags { padding: 14px 24px 16px; border-bottom: 1px solid #29332b; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(220px,.75fr); gap: 16px; }
.setlist-insert-tags > section { min-width: 0; display: grid; align-content: start; gap: 8px; }
.setlist-insert-tags section > header { display: flex; align-items: center; justify-content: space-between; }
.setlist-insert-tags section > header small { color: #8c9a8e; font-size: 8px; font-weight: 950; letter-spacing: .12em; }
.setlist-insert-tags section > header button { padding: 0; border: 0; background: transparent; color: var(--lime); cursor: pointer; font-size: 9px; font-weight: 850; }
.setlist-insert-tags section > div { display: flex; gap: 7px; overflow-x: auto; }
.setlist-insert-tags section > div > button { min-height: 38px; padding: 6px 8px 6px 12px; flex: 0 0 auto; border: 1px solid #3b483d; border-radius: 99px; background: #1d251f; color: #cbd4cc; cursor: pointer; display: flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 850; }
.setlist-insert-tags section > div > button b { min-width: 23px; height: 23px; padding: 0 6px; border-radius: 99px; background: #2b352d; display: grid; place-items: center; font-size: 8px; }
.setlist-insert-tags section > div > button.active { border-color: var(--lime); background: #30411f; color: white; box-shadow: 0 0 20px rgba(202,255,76,.12); }
.setlist-insert-tags section > div > button.active b { background: var(--lime); color: #273510; }
.setlist-insert-tags section > label { min-height: 38px; margin: 0; padding: 0 11px; border: 1px solid #3b483d; border-radius: 10px; background: #0d130f; display: flex; align-items: center; gap: 8px; }
.setlist-insert-tags section > label span { color: var(--lime); }
.setlist-insert-tags section > label input { min-width: 0; height: 36px; padding: 0; border: 0; background: transparent; color: white; font-size: 11px; }
.setlist-insert-tags section em { color: #7d8b80; font-size: 10px; font-style: normal; }
.setlist-insert-catalog { padding: 18px 24px 24px; overflow: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 9px; }
.setlist-insert-catalog > button { min-height: 64px; padding: 10px; border: 1px solid #344137; border-radius: 13px; background: #1a211c; color: white; cursor: pointer; display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 10px; text-align: left; }
.setlist-insert-catalog > button > span { width: 36px; height: 36px; border: 1px solid #4a594c; border-radius: 11px; color: #8fa091; display: grid; place-items: center; font-size: 17px; font-weight: 950; }
.setlist-insert-catalog > button div { min-width: 0; display: grid; gap: 4px; }
.setlist-insert-catalog > button b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.setlist-insert-catalog > button small { color: #929f94; font-size: 9px; }
.setlist-insert-catalog > button.selected { border-color: var(--lime); background: #2a391d; box-shadow: inset 0 0 24px rgba(202,255,76,.06); }
.setlist-insert-catalog > button.selected > span { border-color: var(--lime); background: var(--lime); color: #273510; }
.setlist-insert-catalog > button.exists { opacity: .45; cursor: not-allowed; }
.setlist-insert-empty { grid-column: 1 / -1; padding: 50px 20px; color: #94a096; text-align: center; }
.setlist-insert-modal > section > footer { padding: 15px 24px 20px; border-top: 1px solid #344036; background: #0c110e; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 16px; }
.setlist-insert-modal > section > footer > div { min-width: 0; max-width: 100%; overflow: hidden; }
.setlist-insert-modal footer small { color: #829283; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
#setlist-insert-selection { width: 100%; min-width: 0; max-width: 100%; min-height: 38px; margin-top: 7px; padding: 2px 4px 8px 0; display: flex; align-items: center; gap: 7px; overflow-x: auto; }
#setlist-insert-selection > span { color: #758177; font-size: 10px; }
#setlist-insert-selection button { min-width: 0; max-width: min(280px,calc(100vw - 76px)); min-height: 38px; padding: 5px 5px 5px 11px; flex: 0 0 auto; overflow: hidden; border: 1px solid #455247; border-radius: 99px; background: #202922; color: #dce4dc; cursor: pointer; display: flex; align-items: center; gap: 7px; font-size: 9px; }
#setlist-insert-selection button > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#setlist-insert-selection button b { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; background: #354138; color: var(--lime); display: grid; place-items: center; font-size: 14px; line-height: 1; }
#setlist-insert-selection button:hover b, #setlist-insert-selection button:focus-visible b { background: var(--lime); color: #263411; }
#setlist-insert-confirm { min-width: 150px; min-height: 48px; padding: 0 18px; border: 1px solid #a6dd34; border-radius: 11px; background: var(--lime); color: #202b10; cursor: pointer; font-size: 12px; font-weight: 950; }
#setlist-insert-confirm:disabled { opacity: .35; cursor: not-allowed; }
.setlist-desktop-layout { display: grid; gap: 18px; }
.setlist-inspector-shell { display: none; }
.setlist-inspector { display: none; }
.setlist-workspace-songs > article { padding: 20px; margin-block: 0; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: white; touch-action: pan-y; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 15px; transition: margin-block .18s cubic-bezier(.22,.8,.24,1), transform .18s cubic-bezier(.22,.8,.24,1), opacity .18s ease, border-color .18s ease, box-shadow .18s ease; }
.setlist-workspace-songs > article > .setlist-song-number,
.setlist-workspace-songs > article > .setlist-song-content,
.setlist-workspace-songs > article > .setlist-mix-parts,
.setlist-workspace-songs > article > .setlist-card-footer { position: relative; z-index: 2; transition: transform .24s cubic-bezier(.22,.8,.24,1); }
.setlist-workspace-songs > article.swipe-open > .setlist-song-number,
.setlist-workspace-songs > article.swipe-open > .setlist-song-content,
.setlist-workspace-songs > article.swipe-open > .setlist-mix-parts,
.setlist-workspace-songs > article.swipe-open > .setlist-card-footer { transform: translateX(-92px); }
.setlist-workspace-songs > article.swipe-edit-open > .setlist-song-number,
.setlist-workspace-songs > article.swipe-edit-open > .setlist-song-content,
.setlist-workspace-songs > article.swipe-edit-open > .setlist-mix-parts,
.setlist-workspace-songs > article.swipe-edit-open > .setlist-card-footer { transform: translateX(92px); }
.setlist-edit-action, .setlist-remove-action { width: 92px; position: absolute; inset-block: 0; z-index: 1; border: 0; cursor: pointer; place-items: center; transition: transform .24s cubic-bezier(.22,.8,.24,1); font-size: 11px; font-weight: 950; letter-spacing: .04em; }
.setlist-edit-action { left: 0; background: linear-gradient(145deg, #91bd3e, #638d26); color: #17220a; display: grid; transform: translateX(-100%); }
.setlist-remove-action { right: 0; background: linear-gradient(145deg, #d94a3d, #9f3028); color: white; display: grid; transform: translateX(100%); }
.setlist-workspace-songs > article.swipe-edit-open > .setlist-edit-action,
.setlist-workspace-songs > article.swipe-open > .setlist-remove-action { transform: translateX(0); }
.setlist-workspace-songs > article.metronome-active .setlist-metronome-control { border-color: #568bc7; }
.setlist-workspace-songs > article.beat-glow .setlist-metronome-control { animation: setlist-control-beat 170ms ease-out; }
.setlist-workspace-songs > article.accent-glow .setlist-metronome-control { animation: setlist-control-accent 240ms ease-out; }
@keyframes setlist-control-beat { 0% { border-color: #55a3ff; box-shadow: 0 0 0 3px rgba(55,137,229,.34), 0 0 28px rgba(55,137,229,.72); filter: brightness(1.35); } 100% { box-shadow: 0 0 0 rgba(55,137,229,0); filter: brightness(1); } }
@keyframes setlist-control-accent { 0% { border-color: var(--setlist-color); box-shadow: 0 0 0 4px rgba(var(--setlist-color-rgb),.4), 0 0 36px rgba(var(--setlist-color-rgb),.86); filter: brightness(1.5); } 45% { border-color: var(--setlist-color-soft); box-shadow: 0 0 0 3px rgba(var(--setlist-color-rgb),.34), 0 0 28px rgba(var(--setlist-color-rgb),.7); } 100% { box-shadow: 0 0 0 rgba(var(--setlist-color-rgb),0); filter: brightness(1); } }
.setlist-song-number { width: 42px; min-width: 42px; height: 56px; padding: 5px 0; border: 0; border-radius: 12px; background: var(--dark); color: white; cursor: grab; touch-action: pan-y; display: grid; place-items: center; align-content: center; gap: 2px; font-size: 15px; font-weight: 950; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.setlist-song-number:active { cursor: grabbing; }
.setlist-song-number i { color: #91a091; touch-action: none; font-size: 15px; font-style: normal; line-height: 1; }
.setlist-song-number.selection-only, .is-setlist-collapsed .setlist-song-number { cursor: pointer; }
.setlist-song-number.selection-only i, .is-setlist-collapsed .setlist-song-number i { touch-action: pan-y; }
.setlist-song-number.long-press-ready { transform: scale(1.08); box-shadow: 0 0 0 3px rgba(var(--setlist-color-rgb),.28), 0 8px 22px rgba(0,0,0,.24); }
.setlist-workspace-songs.is-reordering .setlist-insert-point { visibility: hidden; pointer-events: none; }
.setlist-workspace-songs > article.drag-placeholder { overflow: hidden; border: 2px dashed rgba(var(--setlist-color-rgb),.82) !important; background: rgba(var(--setlist-color-rgb),.035) !important; box-shadow: inset 0 0 0 1px rgba(var(--setlist-color-rgb),.08), 0 0 24px rgba(var(--setlist-color-rgb),.08) !important; }
.setlist-workspace-songs > article.drag-placeholder > * { visibility: hidden; }
.setlist-workspace-songs > article.setlist-drag-ghost { position: fixed; z-index: 260; margin: 0; pointer-events: none; opacity: .92; border-color: var(--setlist-color); transform: scale(.985) rotate(.35deg); transform-origin: center; box-shadow: 0 26px 58px rgba(0,0,0,.42), 0 0 0 2px rgba(var(--setlist-color-rgb),.28); will-change: left, top, transform; }
.setlist-song-content { min-width: 0; display: grid; gap: 13px; }
.setlist-song-content > header { display: flex; justify-content: space-between; gap: 16px; }
.setlist-song-content h3 { margin: 0 0 6px; font-size: 23px; line-height: 1.18; }
.setlist-key-badge { margin-left: 10px; padding: 5px 9px; border-radius: 8px; background: #ebe4ff; color: #6543a7; font-size: 13px; font-style: normal; font-weight: 950; vertical-align: 3px; white-space: nowrap; }
.setlist-inspector-key-badge { display: none; }
.setlist-inspector-metronome-control { display: none; }
.setlist-song-content header p, .setlist-no-audio { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.4; }
.setlist-song-controls { display: flex; align-items: center; gap: 5px; }
.setlist-song-controls .setlist-metronome-control { margin-left: 0; }
.setlist-song-controls button { min-width: 35px; height: 35px; border: 1px solid var(--line); border-radius: 8px; background: white; cursor: pointer; }
.setlist-live-controls { display: flex; align-items: stretch; gap: 8px; flex-wrap: wrap; }
.setlist-audio-control { display: flex; }
.setlist-audio-control audio { display: none; }
.setlist-audio-control button, .setlist-metronome, .setlist-details-toggle { min-height: 46px; padding: 8px 13px; border: 1px solid #dce4d7; border-radius: 10px; background: #f8faf6; color: #455440; cursor: pointer; display: flex; align-items: center; gap: 8px; font-size: 12px; line-height: 1.2; font-weight: 850; }
.setlist-audio-control button b, .setlist-metronome b { width: 27px; height: 27px; border-radius: 8px; background: #90bb43; color: white; display: grid; place-items: center; font-size: 10px; }
.setlist-audio-control button { width: 48px; min-width: 48px; padding: 5px; justify-content: center; border: 0; }
.setlist-audio-control button b { width: 36px; height: 36px; background: transparent; font-size: 18px; }
.setlist-audio-control.asset-original button { background: #e52d27; color: white; box-shadow: 0 5px 14px rgba(229,45,39,.22); }
.setlist-audio-control.asset-guide button { background: #dff1c8; color: #47701e; border: 1px solid #bcd996; }
.setlist-audio-control.asset-backing button { background: #2678d9; color: white; box-shadow: 0 5px 14px rgba(38,120,217,.2); }
.setlist-audio-control button.playing { filter: brightness(.82); box-shadow: inset 0 0 0 2px rgba(255,255,255,.38); }
.setlist-metronome-control { margin-left: auto; display: grid; grid-template-columns: 44px minmax(126px,auto) 44px; align-items: stretch; gap: 2px; padding: 3px; border: 1px solid #3d4c3e; border-radius: 13px; overflow: hidden; background: #101611; box-shadow: inset 0 0 18px rgba(184,255,59,.05); }
.setlist-metronome-control > button { min-height: 44px; border: 0; border-radius: 9px; background: #273128; color: #d9e1d8; cursor: pointer; font-size: 12px; font-weight: 950; transition: background .16s ease, transform .16s ease; }
.setlist-metronome-control > button:hover { background: #334034; }
.setlist-metronome-control > button:active { transform: scale(.94); }
.setlist-metronome { min-width: 126px; padding: 7px 14px; border: 0; border-radius: 9px; background: linear-gradient(135deg, #c2ff48, #8fbc3f); color: #263214; justify-content: center; gap: 7px; box-shadow: 0 0 18px rgba(184,255,59,.15); }
.setlist-metronome b { width: auto !important; height: auto !important; border-radius: 0 !important; background: transparent !important; color: inherit !important; font-size: 14px !important; }
.setlist-metronome small { color: inherit; font-size: 11px; font-weight: 950; letter-spacing: .02em; }
.setlist-metronome.playing { background: linear-gradient(135deg, #7147b8, #4e2f82); color: white; box-shadow: 0 0 22px rgba(139,84,225,.32); }
.setlist-metronome small { color: #b9c9aa; font-size: 10px; }
.setlist-card-footer { margin: 4px -20px -20px; padding: 11px 20px 13px; grid-column: 1 / -1; border-top: 1px solid var(--line); border-radius: 0 0 16px 16px; background: #f5f8f3; display: flex; align-items: stretch; gap: 8px; flex-wrap: wrap; }
.setlist-card-footer .setlist-details-toggle { min-width: 130px; min-height: 44px; flex: 1 1 150px; justify-content: space-between; border-radius: 8px; background: white; }
.setlist-card-footer > .setlist-details-toggle { display: none; }
.setlist-card-footer:not(:has(.setlist-metronome-control)) { display: none; }
.setlist-card-footer .setlist-metronome-control { min-height: 44px; margin-left: auto; flex: 0 1 226px; grid-template-columns: 40px minmax(112px,1fr) 40px; border-radius: 9px; }
.setlist-card-footer .setlist-metronome-control > button { min-height: 38px; border-radius: 6px; }
.setlist-card-footer .setlist-metronome { min-width: 112px; padding: 5px 10px; }
.setlist-details-toggle b { transition: transform .2s ease; }
.setlist-details-toggle.open b { transform: rotate(180deg); }
.setlist-song-details { display: grid; gap: 9px; }
.setlist-song-audios { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.setlist-song-audios label { margin: 0; padding: 9px; border: 1px solid #e0e6db; border-radius: 10px; background: #f8faf6; display: grid; gap: 6px; }
.setlist-song-audios span, .setlist-song-content section small { color: #738d49; font-size: 8px; font-weight: 900; letter-spacing: .05em; }
.setlist-song-audios audio { width: 100%; height: 32px; }
.setlist-song-content section { padding: 12px; border-left: 3px solid #a7cf5b; background: #f7faf3; }
.setlist-song-content section pre, .setlist-song-content section p { margin: 6px 0 0; color: #3f493d; font: 11px/1.55 inherit; white-space: pre-wrap; }
.setlist-song-content > a { color: #527527; font-size: 10px; font-weight: 800; }
.group-song-tags { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 5px; }
.group-song-tags button { padding: 4px 7px; border: 1px solid transparent; border-radius: 99px; background: #edf5df; color: #5d7e2d; cursor: pointer; font-size: 8px; font-weight: 850; }
.group-song-tags button:hover { border-color: #9fbe70; background: #e4f1d0; }
.setlist-mobile-sheet-link { padding: 12px 14px; border: 1px solid rgba(184,255,66,.32); border-radius: 10px; background: rgba(184,255,66,.1); color: #577f20; font-size: 11px; font-weight: 900; text-decoration: none; }
@media (min-width: 900px) {
  .setlist-desktop-layout { grid-template-columns: 400px minmax(0,1fr); align-items: start; gap: 20px; transition: grid-template-columns .34s cubic-bezier(.22,.8,.24,1); }
  .setlist-desktop-layout.is-setlist-collapsed { grid-template-columns: 60px minmax(0,1fr); }
  .setlist-inspector-shell { min-width:0; min-height:0; height:calc(100dvh - 76px); margin-bottom:16px; position:sticky; top:60px; overflow:visible; display:block; }
  .setlist-column-toggle { width:25px; height:25px; padding:0; position:absolute; left:0; top:50%; z-index:30; transform:translate(-50%,-50%); border:2px solid rgba(var(--setlist-color-rgb),.7); border-radius:50%; background:#18191d; color:var(--setlist-color); cursor:pointer; display:grid; place-items:center; font-size:11px; line-height:1; box-shadow:0 0 0 5px rgba(12,13,16,.82),0 0 22px rgba(var(--setlist-color-rgb),.2); transition:transform .18s ease,box-shadow .18s ease; }
  .setlist-column-toggle:hover, .setlist-column-toggle:focus-visible { transform: translate(-50%,-50%) scale(1.14); box-shadow: 0 0 0 5px rgba(12,13,16,.9), 0 0 28px rgba(var(--setlist-color-rgb),.42); }
  .setlist-column-toggle span { transform: translateX(-1px); }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-column-toggle span { transform: translateX(1px); }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-workspace-songs { justify-items: center; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-inspector-key-badge { margin-left: 10px; padding: 5px 9px; border-radius: 8px; background: rgba(var(--setlist-color-rgb),.2); color: var(--setlist-color-soft); display: inline-block; font-size: .45em; font-style: normal; font-weight: 950; letter-spacing: 0; vertical-align: .2em; white-space: nowrap; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-inspector-metronome-control { width: 174px; margin-left: 8px; padding: 2px; grid-template-columns: 30px minmax(94px,1fr) 30px; border-radius: 9px; display: inline-grid; vertical-align: .18em; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-inspector-metronome-control > button { min-height: 28px; border-radius: 6px; font-size: 9px; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-inspector-metronome-control .setlist-metronome { min-width: 0; padding: 3px 7px; gap: 5px; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-inspector-metronome-control .setlist-metronome b { font-size: 10px !important; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-inspector-metronome-control .setlist-metronome small { font-size: 9px; }
  .setlist-inspector-metronome-control.beat-glow { animation: setlist-control-beat 170ms ease-out; }
  .setlist-inspector-metronome-control.accent-glow { animation: setlist-control-accent 240ms ease-out; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-workspace-songs > article { width: 58px; padding: 7px; grid-template-columns: 42px; gap: 0; border-color: transparent; background: transparent; box-shadow: none; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-workspace-songs > article:hover { transform: none; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-song-content,
  .setlist-desktop-layout.is-setlist-collapsed .setlist-mix-parts,
  .setlist-desktop-layout.is-setlist-collapsed .setlist-card-footer,
  .setlist-desktop-layout.is-setlist-collapsed .setlist-edit-action,
  .setlist-desktop-layout.is-setlist-collapsed .setlist-remove-action,
  .setlist-desktop-layout.is-setlist-collapsed .setlist-insert-point { display: none; }
  .setlist-song-controls .asset-backing { display: none; }
  .setlist-workspace-songs > article { cursor: pointer; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
  .setlist-workspace-songs > article:hover { border-color: #536553; transform: translateX(3px); }
  .setlist-night-mode .setlist-workspace-songs > article.inspector-active { border-color: var(--lime); background: #202b1d; box-shadow: 0 0 0 2px rgba(202,255,76,.12), 0 16px 36px rgba(0,0,0,.28); }
  .setlist-workspace-songs > article.inspector-active .setlist-song-number { background: var(--lime); color: #263411; }
  .setlist-card-footer .setlist-metronome-control { width: 100%; max-width: none; flex-basis: 100%; }
  .setlist-inspector { width:100%; height:100%; box-sizing:border-box; min-width:0; min-height:0; padding:24px; overflow-y:scroll; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y; border:1px solid #344036; border-radius:17px; background:linear-gradient(155deg,rgba(29,38,30,.98),rgba(13,18,14,.99)); color:white; display:block; box-shadow:0 22px 60px rgba(0,0,0,.28); }
  body:has(#audio-hub:not(.hidden)) .setlist-inspector { padding-bottom: calc(24px + var(--audio-hub-clearance)); }
  .setlist-inspector > * + * { margin-top:18px; }
  .setlist-inspector > header { padding-bottom: 16px; border-bottom: 1px solid #344036; display: flex; align-items: start; justify-content: space-between; gap: 18px; }
  .setlist-inspector > header p { margin: 0 0 6px; color: var(--lime); font-size: 9px; font-weight: 950; letter-spacing: .12em; }
  .setlist-inspector > header h3 { margin: 0 0 7px; font-size: clamp(25px,3vw,38px); line-height: 1; letter-spacing: -.045em; }
  .setlist-inspector > header span { color: #aeb9af; font-size: 11px; }
  .setlist-inspector > header a { padding: 8px 10px; border: 1px solid #455246; border-radius: 8px; color: var(--lime); text-decoration: none; font-size: 10px; font-weight: 900; }
  .setlist-inspector-actions { flex: 0 0 auto; display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
  .setlist-open-personal-ficha { order: 3; min-height: 34px; padding: 0 10px; border: 1px solid rgba(var(--setlist-color-rgb),.55); border-radius: 8px; background: rgba(var(--setlist-color-rgb),.12); color: var(--setlist-color-soft); cursor: pointer; font-size: 10px; font-weight: 900; }
  .setlist-open-personal-ficha:hover { background: rgba(var(--setlist-color-rgb),.24); }
  .setlist-inspector-audio { order: 1; min-height: 42px; padding: 5px 11px 5px 6px; border: 1px solid #4c86ca; border-radius: 9px; background: linear-gradient(135deg, #2678d9, #1857a4); color: white; cursor: pointer; display: flex; align-items: center; gap: 7px; font-size: 10px; font-weight: 900; box-shadow: 0 7px 18px rgba(38,120,217,.24); }
  .setlist-inspector-audio b { width: 30px; height: 30px; border-radius: 7px; background: rgba(255,255,255,.14); display: grid; place-items: center; }
  .setlist-inspector-audio.asset-guide { border-color: rgba(var(--setlist-color-rgb),.45); background: rgba(var(--setlist-color-rgb),.16); color: var(--setlist-color-soft); box-shadow: none; }
  .setlist-inspector-audio.asset-original { border-color: #d9514d; background: linear-gradient(135deg,#e73530,#a91f25); }
  .setlist-inspector-audio.playing { background: linear-gradient(135deg, #7147b8, #4e2f82); border-color: #946bdd; }
  .setlist-inspector-actions .setlist-inspector-metronome-control { order: 2; display: none; }
  .setlist-inspector-actions .inspector-original-audio { display: none; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-inspector-actions .setlist-inspector-metronome-control { display: inline-grid; }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-inspector-actions .inspector-original-audio { display: flex; }
  .setlist-inspector-empty { min-height: 540px; display: grid; place-items: center; align-content: center; gap: 10px; text-align: center; }
  .setlist-inspector-empty > span { width: 62px; height: 62px; border: 1px solid #465348; border-radius: 20px; color: var(--lime); display: grid; place-items: center; font-size: 29px; box-shadow: 0 0 32px rgba(202,255,76,.1); }
  .setlist-inspector-empty h3 { margin: 7px 0 0; font-size: 21px; }
  .setlist-inspector-empty p { max-width: 340px; margin: 0; color: #9da99e; font-size: 12px; line-height: 1.55; }
  .setlist-sheet-viewer { min-height: 0; overflow: hidden; border: 1px solid #39453a; border-radius: 13px; background: #f4f4ef; }
  .setlist-sheet-viewer > img { width: 100%; height: auto; border: 0; display: block; }
  .setlist-pdf-pages { display:grid; gap:10px; padding:10px; }
  .setlist-pdf-pages > p { padding:30px 15px; margin:0; color:#556052; text-align:center; font-size:12px; }
  .setlist-pdf-pages canvas { width:100%; height:auto; display:block; background:white; box-shadow:0 2px 10px rgba(0,0,0,.16); }
  .setlist-sheet-empty { min-height: 250px; border: 1px dashed #425043; border-radius: 13px; background: radial-gradient(circle at 50% 30%, rgba(202,255,76,.08), transparent 52%); color: #9faa9f; display: grid; place-items: center; align-content: center; gap: 10px; text-align: center; }
  .setlist-sheet-empty span { color: var(--lime); font-size: 34px; }
  .setlist-sheet-empty p { max-width: 290px; margin: 0; font-size: 11px; line-height: 1.5; }
  .setlist-text-material { padding: 18px; border: 1px solid #3d4b3e; border-radius: 13px; background: #202721; }
  .setlist-reading-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .setlist-reading-controls { padding:2px; border:1px solid #465348; border-radius:7px; display:flex; gap:1px; }
  .setlist-reading-controls button { min-width:25px; height:23px; padding:0 4px; border:0; border-radius:5px; background:transparent; color:#b7c2b5; cursor:pointer; font-size:8px; font-weight:900; }
  .setlist-reading-controls button.active { background:var(--setlist-color); color:#17181c; }
  .setlist-text-material small { color: var(--lime); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
  .setlist-text-material pre { margin: 12px 0 0; color: #f0f4ed; font: 18px/1.6 inherit; white-space: pre-wrap; overflow-wrap: anywhere; }
  .setlist-text-material.material-text-size-small pre { font-size: 15px; }
  .setlist-text-material.material-text-size-large pre { font-size: 22px; }
  .setlist-text-material.material-text-size-xlarge pre { font-size: 28px; }
  .setlist-inspector-notes { display: grid; gap: 10px; }
  .setlist-inspector-notes section { padding: 14px; border-left: 3px solid var(--lime); background: #202721; }
  .setlist-inspector-notes small { color: #a9cf66; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
  .setlist-inspector-notes pre, .setlist-inspector-notes p { margin: 7px 0 0; color: #e0e7df; font: 12px/1.6 inherit; white-space: pre-wrap; }
  .setlist-text-material.reading-size-small pre, .setlist-inspector-notes section.reading-size-small :is(pre,p) { font-size:15px; }
  .setlist-text-material.reading-size-medium pre, .setlist-inspector-notes section.reading-size-medium :is(pre,p) { font-size:18px; }
  .setlist-text-material.reading-size-large pre, .setlist-inspector-notes section.reading-size-large :is(pre,p) { font-size:22px; }
  .setlist-text-material.reading-size-xlarge pre, .setlist-inspector-notes section.reading-size-xlarge :is(pre,p) { font-size:28px; }
  .setlist-inspector-notes a { color: var(--lime); font-size: 11px; font-weight: 850; }
}
@media (max-width: 899px) {
  .setlist-header-actions > .setlist-participants-action { grid-column:1 / -1; }
  .setlist-participant-grid { grid-template-columns:1fr; }
  .setlist-participant-summary { grid-template-columns:1fr; }
  .setlist-participant-summary > * { border-right:0; border-bottom:1px solid #303a33; }
  .setlist-participant-summary > *:last-child { border-bottom:0; }
  .setlist-participants-dialog > form { padding:18px; }
  .setlist-night-mode .setlist-workspace-songs > article.inspector-active { border-color: var(--lime); background: #202b1d; box-shadow: 0 0 0 2px rgba(202,255,76,.12), 0 12px 30px rgba(0,0,0,.24); }
  .setlist-workspace-songs > article.inspector-active .setlist-song-number { background: var(--lime); color: #263411; }
  .setlist-workspace-songs > article { scroll-margin-block: 84px; }
  .setlist-workspace-songs > article.removing { opacity: 0; transform: translateX(-35px) scale(.96); transition: opacity .24s ease, transform .24s ease; }
  .setlist-song-content > .setlist-song-details { max-height: 1600px; overflow: hidden; opacity: 1; transform: translateY(0); transition: max-height .42s cubic-bezier(.22,.8,.24,1), opacity .24s ease, transform .32s ease; }
  .setlist-song-content > .setlist-song-details.hidden { max-height: 0; display: grid !important; opacity: 0; transform: translateY(-8px); pointer-events: none; }
  .setlist-insert-modal { padding: 10px; align-items: end; }
  .setlist-insert-modal > section { height: 92vh; height: 92dvh; max-height: 92vh; max-height: 92dvh; border-radius: 22px 22px 14px 14px; grid-template-rows: auto auto minmax(160px,1fr) auto; }
  .setlist-insert-modal > section > header { padding: 14px 18px 11px; }
  .setlist-insert-tags { padding: 13px 18px; }
  .setlist-insert-tags { grid-template-columns: 1fr; max-height: 235px; overflow-y: auto; }
  .setlist-insert-catalog { padding: 14px 18px 18px; grid-template-columns: 1fr; }
  .setlist-insert-modal > section > footer { padding: 13px 18px 16px; grid-template-columns: 1fr; }
  #setlist-insert-selection { max-height: none; padding-bottom: 14px; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-gutter: stable; }
  #setlist-insert-confirm { width: 100%; }
}
@media (min-width: 900px) and (max-height: 600px) and (orientation: landscape) {
  .setlist-desktop-layout.is-setlist-collapsed { grid-template-columns: calc(60px + env(safe-area-inset-left)) minmax(0,1fr); }
  .setlist-desktop-layout.is-setlist-collapsed .setlist-workspace-songs { padding-left: env(safe-area-inset-left); }
}
@media (prefers-reduced-motion: reduce) {
  .setlist-song-content > .setlist-song-details { transition: none !important; }
}
.mix-parts-workspace { padding: 16px; border: 1px solid #d9e2d3; border-radius: 13px; background: #f5f9ef; display: grid; gap: 12px; }
.mix-parts-workspace > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mix-parts-workspace > header > div { display: grid; gap: 3px; }
.mix-parts-header-actions { display: flex !important; grid-auto-flow: column; gap: 7px !important; }
.mix-parts-header-actions button { min-height: 38px; padding: 0 11px; font-size: 10px; }
.mix-parts-workspace > header small { color: var(--muted); font-size: 11px; }
#mix-parts-editor { display: grid; gap: 12px; }
.mix-part-editor { padding: 14px; border: 1px solid #d7dfd2; border-radius: 12px; background: white; display: grid; gap: 12px; }
.mix-part-editor > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mix-part-editor > header strong { display: flex; align-items: center; gap: 9px; }
.mix-part-editor > header strong span { width: 28px; height: 28px; border-radius: 8px; background: var(--dark); color: white; display: grid; place-items: center; font-size: 11px; }
.mix-part-editor > header > div { display: flex; gap: 4px; }
.mix-part-editor > header button { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 8px; background: #f7f9f5; cursor: pointer; }
.mix-part-editor > header button:last-child { color: #a94b40; }
.mix-canonical-status { padding: 10px 12px; border: 1px solid #b9d38a; border-radius: 10px; background: #eff8df; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mix-canonical-status b { color: #55782a; font-size: 10px; }
.mix-canonical-status span { color: #65705f; font-size: 10px; }
.mix-canonical-choice { padding: 11px; border: 1px dashed #b7c5ae; border-radius: 10px; background: #f8faf6; }
.mix-part-assets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.mix-part-assets label { padding: 10px; border: 1px solid #e0e6db; border-radius: 10px; background: #f8faf6; }
.mix-part-assets label > span { display: grid; gap: 2px; }
.mix-part-assets audio { width: 100%; height: 32px; }
.mix-part-assets em { color: var(--muted); font-size: 10px; font-style: normal; overflow: hidden; text-overflow: ellipsis; }
.setlist-mix-parts { padding: 13px !important; border: 1px solid #dce4d7 !important; border-left: 3px solid #a7cf5b !important; border-radius: 12px; background: #f7faf3; display: grid; gap: 9px; }
.setlist-workspace-songs > article > .setlist-mix-parts { grid-column: 1 / -1; min-width: 0; }
.setlist-mix-parts > small { color: #738d49; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.setlist-mix-part { padding: 12px; border: 1px solid #dde4d8; border-radius: 10px; background: white; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 11px; }
.setlist-mix-part > span { width: 30px; height: 30px; border-radius: 8px; background: #273128; color: white; display: grid; place-items: center; font-size: 11px; font-weight: 900; }
.setlist-mix-part > div { min-width: 0; display: grid; gap: 9px; }
.setlist-mix-part header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.setlist-mix-part h4 { margin: 0; font-size: 17px; }
.setlist-mix-part header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.setlist-mix-part .setlist-key-badge { font-size: 11px; vertical-align: 1px; }
.setlist-mix-part .setlist-song-details { display: grid; gap: 8px; }
.setlist-mix-part .setlist-song-details.hidden { display: none; }
.setlist-workspace-songs .setlist-mix-part header { align-items: flex-start; flex-direction: column; }
.setlist-workspace-songs .setlist-mix-part header > div:first-child { width: 100%; min-width: 0; }
.setlist-workspace-songs .setlist-mix-part .setlist-live-controls { width: 100%; max-width: 100%; min-width: 0; }
.setlist-workspace-songs .setlist-mix-part .setlist-details-toggle { min-width: 0; flex: 1 1 145px; }

/* Setlist en vivo: superficie nocturna para escenario, móvil y tableta. */
body.setlist-night-mode { background: #090c0a; color: #f2f5f1; color-scheme: dark; }
.setlist-night-mode .account-shell { min-height: 100vh; background: radial-gradient(circle at 50% -10%, #202820 0, #0c100d 42%, #080a09 100%); }
.setlist-night-mode .account-header { border-bottom-color: #2b332c; background: rgba(10,13,11,.97); color: #f4f7f3; }
.setlist-night-mode .account-header .sidebar-brand small,
.setlist-night-mode .account-identity small { color: #929d94; }
.setlist-night-mode .account-identity .account-avatar { background: #273128; color: var(--lime); }
.setlist-night-mode .account-profile-menu > nav { border-color:#39433c; background:#161b17; }
.setlist-night-mode .account-profile-menu > nav a { color:#dce5db; }
.setlist-night-mode .account-profile-menu > nav a:hover { background:#252e27; color:var(--lime); }
.setlist-night-mode .account-main { color: #f2f5f1; }
.setlist-night-mode .setlist-workspace-header { border: 1px solid #303a31; background: linear-gradient(135deg, #171d18, #111512); box-shadow: 0 18px 50px rgba(0,0,0,.3); }
.setlist-night-mode .setlist-workspace-songs > article { border-color: #303831; background: #171c18; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.setlist-night-mode .setlist-song-number { background: #29322a; color: #f7faf6; }
.setlist-night-mode .setlist-song-number i { color: #93a495; }
.setlist-night-mode .setlist-song-content header p,
.setlist-night-mode .setlist-no-audio { color: #a9b3aa; }
.setlist-night-mode .setlist-key-badge { background: #49376c; color: #e2d6ff; }
.setlist-night-mode .setlist-details-toggle { border-color: #3a463b; background: #252c26; color: #e2e9e1; }
.setlist-night-mode .setlist-song-content section { border-left-color: #9ecb4b; background: #202721; }
.setlist-night-mode .setlist-song-content section pre,
.setlist-night-mode .setlist-song-content section p { color: #d7ded6; }
.setlist-night-mode .setlist-song-content > a { color: #b7dc70; }
.setlist-night-mode .setlist-card-footer { border-top-color: #303831; background: #111612; }
.setlist-night-mode .setlist-card-footer .setlist-details-toggle { border-color: #3a463b; background: #252c26; color: #e2e9e1; }
.setlist-night-mode .setlist-mix-parts { border-color: #354036 !important; background: #111612; }
.setlist-night-mode .setlist-mix-part { border-color: #343d35; background: #202621; }
.setlist-night-mode .setlist-mix-part header p { color: #a9b3aa; }
.setlist-night-mode .account-empty { border-color: #303831; background: #171c18; color: #e7ece6; }
.group-import-card { width: min(760px, 100%); }
.group-import-card textarea { min-height: 230px; resize: vertical; }
.ai-import-helper { margin-bottom: 15px; padding: 15px; border: 1px solid #cfe0ac; border-radius: 13px; background: #f1f8e5; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; }
.ai-import-helper > div { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; }
.ai-import-helper > div > span { width: 38px; height: 38px; border-radius: 11px; background: var(--lime); color: #354c16; display: grid; place-items: center; font-size: 11px; font-weight: 950; }
.ai-import-helper b { font-size: 13px; }
.ai-import-helper p { margin: 3px 0 0; color: #66745b; font-size: 11px; line-height: 1.4; }
.ai-import-helper > button { min-height: 40px; }
.ai-import-helper details { grid-column: 1 / -1; border-top: 1px solid #d9e6c1; padding-top: 10px; }
.ai-import-helper summary { color: #58752f; cursor: pointer; font-size: 11px; font-weight: 800; }
.ai-import-helper pre { max-height: 190px; overflow: auto; margin: 10px 0 0; padding: 12px; border-radius: 9px; background: #182019; color: #dce7d5; font: 11px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.import-review-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.import-review-heading > div { display: grid; gap: 3px; }
.import-review-heading .import-review-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.import-review-actions button { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.import-review-actions svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.import-review-heading b { font-size: 15px; }
.import-review-heading small { color: var(--muted); font-size: 11px; }
.import-review-list { max-height: 310px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.import-review-list > div { padding: 9px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; }
.import-review-list > div:last-child { border-bottom: 0; }
.import-review-list span { color: #718064; font-size: 11px; font-weight: 850; text-align: center; }
.import-row-fields { display: grid; grid-template-columns: 1.35fr 1fr 1fr .7fr; gap: 6px; }
.import-row-fields.personal-import-row-fields { grid-template-columns: 1.35fr 1fr; }
.import-row-fields .import-parts-field { grid-column: 1 / -1; background: #f2f8e8; }
.import-review-list input { min-height: 38px; border-color: #dce2d8; background: #fbfcfa; }
.import-row-actions { min-width: 102px; display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.import-row-actions small { padding: 4px 6px; border-radius: 5px; background: #e9f2da; color: #5e7d31; font-size: 8px; font-weight: 900; }
.import-row-actions small.duplicate { background: #fff0d5; color: #8b5d16; }
.import-row-actions small.existing { background: #e4f0dc; color: #4f7334; }
.import-review-list .possible-duplicate { background: #fffbf3; }
.catalog-match { grid-column: 1 / -1; padding: 8px 10px; border-radius: 9px; background: #eef5e9; color: #405334; display: flex; flex-wrap: wrap; gap: 5px 9px; font-size: 10px; }
.catalog-match b { font-size: 10px; }
.catalog-match span { color: #667260; }
.catalog-match.ambiguous, .catalog-match.new_pending { background: #fff3d8; color: #795716; }
.catalog-match.new_confirmed { background: #eef3ff; color: #405784; }
.import-review-list .duplicate-group-start { margin-top: 7px; border-top: 2px solid #e9b95f; }
.import-review-list .duplicate-group-end { margin-bottom: 7px; border-bottom: 2px solid #e9b95f; }
.import-review-list button { width: 32px; height: 32px; border: 0; border-radius: 50%; background: #f3e8e6; color: #9a4e43; cursor: pointer; }
.import-duplicate-decision { margin: 10px; padding: 14px; border: 1px solid #e5b450; border-radius: 12px; background: #fff8e8; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; box-shadow: 0 6px 18px rgba(112,76,13,.08); }
.import-duplicate-decision > div:first-child { display: grid; gap: 4px; }
.import-duplicate-decision small { color: #956313; font-size: 8px; font-weight: 950; letter-spacing: .08em; }
.import-duplicate-decision b { color: #352b19; font-size: 13px; }
.import-duplicate-decision p { margin: 0; color: #6f6655; font-size: 9px; line-height: 1.45; }
.import-duplicate-decision em { color: #805b17; font-size: 9px; font-style: normal; font-weight: 800; }
.import-duplicate-options { display: grid; gap: 7px; }
.import-review-list .import-duplicate-decision button { width: auto; min-width: 170px; height: 38px; padding: 0 12px; border-radius: 9px; font-size: 9px; font-weight: 900; }
.import-review-list .import-duplicate-decision button.merge { background: #b9ff39; color: #18200f; }
.import-review-list .import-duplicate-decision button.keep { border: 1px solid #d3c8b1; background: white; color: #554b38; }
.import-duplicate-decision.resolved { border-color: #a9c991; background: #f1f8ec; }
.import-duplicate-decision.resolved small { color: #5b7e41; }
.import-review-list .import-duplicate-decision.resolved > button { border: 1px solid #bdd0ae; background: white; color: #567044; }
.identity-review-dialog { width: min(620px, calc(100vw - 24px)); padding: 0; border: 0; border-radius: 22px; background: transparent; }
.identity-review-dialog::backdrop { background: rgba(18,24,17,.7); }
.identity-review-card { padding: 26px; border-radius: 22px; background: white; display: grid; gap: 18px; }
.identity-review-card header { display: flex; justify-content: space-between; gap: 18px; }
.identity-review-card header h2 { margin: 5px 0; }
.identity-review-card header p:last-child { margin: 0; color: var(--muted); }
.identity-review-card header > button { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; background: white; }
.identity-review-card fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: 8px; }
.identity-review-card legend { margin-bottom: 9px; font-size: 11px; font-weight: 850; }
.identity-review-card fieldset label { padding: 13px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; gap: 11px; cursor: pointer; }
.identity-review-card fieldset label:has(input:checked) { border-color: #88ad4c; background: #f3f9eb; }
.identity-review-card fieldset span { display: grid; gap: 2px; }
.identity-review-card fieldset small { color: var(--muted); }
.identity-review-warning { margin: 0; padding: 11px; border-radius: 10px; background: #fff8e7; color: #715b28; font-size: 10px; }
.identity-review-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.identity-review-actions .text-button { grid-column: 1 / -1; }
.identity-review-card.done { text-align: center; justify-items: center; }
.identity-review-card.done > span { width: 52px; height: 52px; border-radius: 50%; background: #b9ff39; display: grid; place-items: center; font-size: 24px; font-weight: 900; }
.canonical-fusion-handle { min-width: 74px; min-height: 34px; padding: 0 9px; border: 1px solid #cdd8c5; border-radius: 9px; background: #f7faf4; color: #587044; display: grid; place-items: center; gap: 1px; font-size: 7px; font-weight: 900; letter-spacing: .04em; cursor: grab; }
.canonical-fusion-handle span { font-size: 15px; line-height: 1; }
.catalog-state-golden { box-shadow: inset 3px 0 #b9ff39; }
.catalog-state-golden .canonical-fusion-handle { border-color: #83ae36; background: #b9ff39; color: #22310f; }
.personal-song-card.fusion-source { outline: 3px solid #e3a83d; outline-offset: 2px; }
.personal-song-card.fusion-target { outline: 3px solid #8fd32f; outline-offset: 2px; transform: translateY(-2px); }
.golden-fusion-dialog { width: min(880px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 22px; background: transparent; }
.golden-fusion-dialog::backdrop { background: rgba(14,19,13,.76); }
.golden-survivor-dialog { width: min(720px,calc(100vw - 24px)); padding: 0; border: 0; border-radius: 20px; background: transparent; }
.golden-survivor-dialog::backdrop { background: rgba(14,19,13,.76); }
.golden-survivor-card { padding: 24px; border-radius: 20px; background: white; display: grid; gap: 16px; }
.golden-survivor-card > header { display: flex; justify-content: space-between; gap: 16px; }
.golden-survivor-card > header h2,.golden-survivor-card > header p,.golden-survivor-card > p { margin: 4px 0 0; }
.golden-survivor-card > header button { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; background: white; }
.golden-survivor-card > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.golden-survivor-card [data-survivor] { padding: 17px; border: 2px solid #a9c97b; border-radius: 13px; background: #f5faed; color: var(--ink); display: grid; gap: 6px; text-align: left; cursor: pointer; }
.golden-survivor-card [data-survivor]:hover { border-color: #75a52c; background: #ecf9d8; }
.golden-survivor-card [data-survivor] small { color: #63803c; font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.golden-survivor-card [data-survivor] b { font-size: 14px; }
.golden-survivor-card [data-survivor] span,.golden-survivor-card > p { color: var(--muted); font-size: 10px; }
@media (max-width:700px){.golden-survivor-card{padding:17px}.golden-survivor-card>div{grid-template-columns:1fr}}
.golden-fusion-card { padding: 25px; border-radius: 22px; background: white; display: grid; gap: 18px; overflow: auto; }
.golden-fusion-card > header { display: flex; justify-content: space-between; gap: 18px; }
.golden-fusion-card > header h2 { margin: 4px 0; }
.golden-fusion-card > header p:last-child { margin: 0; color: var(--muted); }
.golden-fusion-card > header button { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; background: white; }
.golden-fusion-pair { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: stretch; gap: 12px; }
.golden-fusion-pair > b { align-self: center; color: #759548; font-size: 25px; }
.golden-fusion-direction { align-self: center; width: 82px; padding: 8px 6px; border: 1px solid #9fc36e; border-radius: 11px; background: #f4faea; color: #55772a; display: grid; place-items: center; gap: 2px; cursor: pointer; }
.golden-fusion-direction span { font-size: 25px; line-height: 1; }
.golden-fusion-direction small { font-size: 8px; font-weight: 900; }
.golden-fusion-direction:hover { border-color: #6e9c2b; background: #eaffc8; }
.golden-fusion-direction:disabled { opacity: .55; cursor: wait; }
.golden-fusion-direction-note { margin: -8px 0 0; padding: 10px 12px; border-radius: 9px; background: #f1f5ec; color: #4f5d48; font-size: 12px; text-align: center; }
.golden-fusion-pair section { padding: 18px; border: 1px solid var(--line); border-radius: 15px; display: grid; align-content: start; gap: 8px; }
.golden-fusion-pair .source { background: #fff8ea; border-color: #e5c47c; }
.golden-fusion-pair .target { background: #f4faea; border-color: #9fc36e; }
.golden-fusion-pair small { font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.golden-fusion-pair h3,.golden-fusion-pair p { margin: 0; }
.golden-fusion-pair dl { margin: 8px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.golden-fusion-pair dl div { padding: 8px; border-radius: 8px; background: rgba(255,255,255,.72); display: grid; gap: 2px; }
.golden-fusion-pair dt { color: var(--muted); font-size: 8px; }
.golden-fusion-pair dd { margin: 0; font-weight: 900; }
.golden-fusion-consequences { padding: 15px; border-radius: 13px; background: #f7f8f5; }
.golden-title-editor { padding: 15px; border: 1px solid #d4b56d; border-radius: 13px; background: #fff9eb; display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.9fr); align-items: end; gap: 11px; }
.golden-title-editor small { color: #8a681f; font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.golden-title-editor h3 { margin: 3px 0; }
.golden-title-editor p { margin: 0; color: var(--muted); font-size: 10px; }
.golden-title-editor label { display: grid; gap: 5px; font-size: 9px; font-weight: 800; }
.golden-title-editor input { min-height: 42px; border: 1px solid #d8c08a; border-radius: 9px; background: white; font-size: 16px; }
.golden-title-editor.golden-identity-editor { grid-template-columns: minmax(210px,.8fr) minmax(220px,1fr) minmax(220px,1fr); }
.golden-identity-editor label small { min-height: 16px; color: #627256; font-size: 9px; font-weight: 600; letter-spacing: 0; }
.golden-identity-editor label small.pending { color: #9a5d14; }
.golden-modifier-review { padding: 15px; border: 1px solid #8eb655; border-radius: 13px; background: #f4faeb; display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.55fr); align-items: end; gap: 12px; }
.golden-modifier-review small { color: #5f7f35; font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.golden-modifier-review h3,.golden-modifier-review p { margin: 3px 0 0; }
.golden-modifier-review p { color: var(--muted); font-size: 10px; }
.golden-modifier-review label { display: grid; gap: 5px; font-size: 9px; font-weight: 800; }
.golden-modifier-review select { min-height: 42px; border: 1px solid #b8cc9b; border-radius: 9px; background: white; }
.golden-trio-review { padding: 16px; border: 2px solid #8dbd3e; border-radius: 15px; background: #f5fce9; display: grid; gap: 12px; }
.golden-trio-review.hidden { display: none; }
.golden-trio-review > header { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.golden-trio-review > header small { color: #567b27; font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.golden-trio-review > header h3,.golden-trio-review > header p,.golden-trio-review > p { margin: 3px 0 0; }
.golden-trio-review > header > b { width: 38px; height: 38px; border-radius: 50%; background: #b9ff39; display: grid; place-items: center; font-size: 18px; }
.golden-third-card { padding: 13px; border: 1px solid #98bf5c; border-radius: 11px; background: white; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; }
.golden-third-card span { display: grid; gap: 3px; }
.golden-third-card small { color: #567b27; font-size: 8px; font-weight: 900; }
.golden-third-card em { color: var(--muted); font-size: 9px; font-style: normal; }
.golden-third-card dl { margin: 0; display: flex; gap: 7px; }
.golden-third-card dl div { padding: 6px 8px; border-radius: 7px; background: #f2f7eb; display: grid; }
.golden-third-card dt { color: var(--muted); font-size: 7px; }
.golden-third-card dd { margin: 0; font-weight: 900; }
.golden-trio-choice { padding: 12px; border: 1px solid #aacb78; border-radius: 10px; background: white; display: flex; gap: 10px; align-items: start; }
.golden-trio-choice span { display: grid; gap: 3px; }
.golden-trio-choice small { color: var(--muted); }
.golden-local-reviews { display: grid; gap: 10px; }
.golden-local-reviews > header h3,.golden-local-reviews > header p { margin: 3px 0 0; }
.golden-local-reviews > header small { color: #775a1c; font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.golden-local-reviews fieldset { margin: 0; padding: 11px; border: 1px solid #d4bd82; border-radius: 11px; background: #fffaf0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.golden-local-reviews legend { padding: 0 5px; font-weight: 900; }
.golden-local-reviews label { padding: 10px; border: 1px solid #d8d7cf; border-radius: 9px; background: white; display: flex; align-items: start; gap: 8px; cursor: pointer; }
.golden-local-reviews input[type="radio"] { appearance: auto; flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 2px 0 0; accent-color: #78a92d; }
.golden-local-reviews label:has(input:checked) { border-color: #7ea934; box-shadow: inset 0 0 0 1px #7ea934; background: #f5fce9; }
.golden-local-reviews label span { flex: 1 1 auto; min-width: 0; display: grid; gap: 3px; line-height: 1.35; }
.golden-local-reviews label small,.golden-local-reviews label em { color: var(--muted); font-size: 8px; font-style: normal; }
.golden-local-audio-review { grid-column: 1 / -1; margin-top: 4px; padding: 12px; border: 1px solid #b8ce8c; border-radius: 10px; background: #f7fceb; display: grid; gap: 10px; }
.golden-local-audio-review header h4,.golden-local-audio-review header p { margin: 2px 0 0; }
.golden-local-audio-review header p,.golden-audio-required { color: var(--muted); font-size: 12px; }
.golden-audio-type { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.golden-audio-type > b { grid-column: 1 / -1; }
.golden-audio-type label { align-items: flex-start; }
.golden-audio-type label span { display: grid; gap: 6px; }
.golden-audio-type audio { width: 100%; min-width: 0; height: 36px; }
.golden-audio-type label:has(input:checked) em { color: #426b12; font-weight: 900; }
.golden-audio-required { margin: 0; font-weight: 800; }
.golden-evidence-audio { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: white; overflow-wrap: anywhere; }
.golden-evidence-audio small { color: var(--muted); }
.golden-evidence-audio audio { width: 100%; min-width: 0; }
.golden-artist-editor { padding: 15px; border: 1px solid #a9c97b; border-radius: 13px; background: #f5faed; display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,.65fr) auto; align-items: end; gap: 11px; }
.golden-artist-editor small { color: #63803c; font-size: 8px; font-weight: 900; letter-spacing: .07em; }
.golden-artist-editor h3 { margin: 3px 0; }
.golden-artist-editor p { margin: 0; color: var(--muted); font-size: 10px; }
.golden-artist-editor input { min-height: 42px; border: 1px solid #bdcdb0; border-radius: 9px; background: white; }
.golden-fusion-consequences h3 { margin: 0 0 8px; }
.golden-fusion-consequences ul { margin: 0; padding-left: 18px; display: grid; gap: 5px; font-size: 11px; }
.golden-fusion-blockers { padding: 14px; border: 1px solid #db8b7d; border-radius: 12px; background: #fff0ed; color: #7d362b; }
.golden-fusion-blockers p { margin: 5px 0 0; }
.golden-fusion-confirm { padding: 13px; border: 1px solid var(--line); border-radius: 11px; display: flex; align-items: center; gap: 10px; font-weight: 800; }
.golden-fusion-confirm input[type="checkbox"] { appearance: auto; flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 0; accent-color: #78a92d; }
.golden-fusion-card footer { display: flex; justify-content: flex-end; gap: 9px; }
@media (max-width:700px){.golden-fusion-pair{grid-template-columns:1fr}.golden-fusion-pair>b{transform:rotate(90deg);justify-self:center}.golden-fusion-direction{justify-self:center;width:112px}.golden-fusion-direction span{transform:rotate(90deg)}.golden-fusion-card{padding:17px}.canonical-fusion-handle{min-width:55px}.golden-fusion-pair dl{grid-template-columns:repeat(3,minmax(0,1fr))}.golden-title-editor,.golden-artist-editor,.golden-third-card,.golden-local-reviews fieldset,.golden-audio-type{grid-template-columns:1fr}.golden-third-card dl{display:grid;grid-template-columns:repeat(3,1fr)}.golden-artist-editor button{width:100%}}
.golden-queue-dialog { width: min(850px,calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 22px; background: transparent; }
.golden-queue-dialog::backdrop { background: rgba(14,19,13,.76); }
.golden-queue-card { padding: 25px; border-radius: 22px; background: white; display: grid; gap: 18px; }
.golden-queue-card > header { display: flex; justify-content: space-between; gap: 18px; }
.golden-queue-card > header h2 { margin: 4px 0; }
.golden-queue-card > header p:last-child { margin: 0; color: var(--muted); }
.golden-queue-card > header button { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; background: white; }
.golden-queue-list { max-height: min(600px,65vh); overflow: auto; display: grid; gap: 8px; }
.golden-queue-list > button { width: 100%; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fafbf8; color: var(--ink); display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto; align-items: center; gap: 10px; text-align: left; cursor: pointer; }
.golden-queue-list > button:hover { border-color: #8eb655; background: #f4faeb; }
.golden-queue-list span { display: grid; gap: 3px; }
.golden-queue-list small { color: #748268; font-size: 7px; font-weight: 900; letter-spacing: .07em; }
.golden-queue-list b { font-size: 11px; }
.golden-queue-list i { color: #779e3f; font-size: 18px; }
.golden-queue-list em { min-width: 31px; height: 31px; border-radius: 50%; background: #b9ff39; display: grid; place-items: center; color: #24300f; font-size: 9px; font-style: normal; font-weight: 900; }
.canonical-curation-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 24px; }
.canonical-curation-heading h1 { margin: 5px 0; }
.canonical-curation-heading > div:last-child { display: flex; align-items: center; gap: 9px; }
.canonical-curation-heading > div:last-child > span { padding: 8px 12px; border-radius: 999px; background: #b9ff39; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.canonical-curation-app { display: grid; gap: 14px; }
.canonical-curation-toolbar { padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: white; display: grid; gap: 9px; }
.canonical-curation-toolbar > div { display: grid; grid-template-columns: minmax(0,1fr) 180px minmax(210px,280px); gap: 9px; }
.canonical-curation-toolbar input,.canonical-curation-toolbar select { min-height: 46px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcf9; font-size: 16px; }
.canonical-curation-toolbar p { margin: 0; color: var(--muted); font-size: 10px; }
.canonical-curation-selection { position: sticky; top: 8px; z-index: 4; padding: 12px 15px; border-radius: 13px; background: #1e2919; color: white; display: flex; justify-content: space-between; align-items: center; gap: 12px; box-shadow: 0 8px 24px rgba(24,35,17,.18); }
.canonical-curation-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); gap: 11px; }
.canonical-curation-grid article { padding: 15px; border: 2px solid var(--line); border-radius: 14px; background: white; display: grid; gap: 7px; }
.canonical-curation-grid article.selected { border-color: #7ca92d; box-shadow: inset 0 0 0 1px #7ca92d; background: #f5fce9; }
.canonical-curation-grid article > small { color: #688047; font-size: 8px; font-weight: 900; letter-spacing: .06em; }
.canonical-curation-grid h2,.canonical-curation-grid p,.canonical-curation-grid dl { margin: 0; }
.canonical-curation-grid p { color: var(--muted); }
.canonical-curation-grid dl { display: flex; gap: 7px; }
.canonical-curation-grid dl div { padding: 6px 8px; border-radius: 7px; background: #f3f6ef; }
.canonical-curation-grid dt { color: var(--muted); font-size: 7px; }.canonical-curation-grid dd { margin: 0; font-weight: 900; }
.canonical-curation-grid article > button { min-height: 38px; border: 1px solid #9bbd6b; border-radius: 9px; background: #eff8e3; font-weight: 900; cursor: pointer; }
.canonical-load-more { justify-self: center; min-height: 44px; padding: 0 22px; border: 1px solid #9bbd6b; border-radius: 11px; background: white; font-weight: 900; cursor: pointer; }
.canonical-suggestions-dialog { width: min(820px,calc(100vw - 24px)); border: 0; border-radius: 20px; padding: 0; }
.canonical-suggestions-dialog > section { padding: 24px; display: grid; gap: 17px; }
.canonical-suggestions-dialog header,.canonical-suggestions-dialog footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.canonical-suggestions-dialog header h2,.canonical-suggestions-dialog p { margin: 0; }
.canonical-suggestions-dialog header > button { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: white; font-size: 20px; }
.canonical-suggestion-reason,.canonical-suggestion-modifier { padding: 11px 13px; border-radius: 10px; background: #f1f6e9; }
@media(max-width:700px){.canonical-curation-heading{align-items:start;flex-direction:column}.canonical-curation-toolbar>div,.golden-modifier-review{grid-template-columns:1fr}.canonical-curation-selection{top:4px}.canonical-curation-grid{grid-template-columns:1fr}}
@media(max-width:850px){.golden-title-editor.golden-identity-editor{grid-template-columns:1fr}}
@media (max-width:700px){.golden-queue-card{padding:17px}.golden-queue-list>button{grid-template-columns:1fr auto}.golden-queue-list>button i{display:none}.golden-queue-list>button em{grid-row:1 / span 2;grid-column:2}.golden-queue-list>button span:last-of-type{grid-column:1}}

/* Legibilidad general: Orbitboard se usa a distancia y en pantallas móviles.
   Conserva la densidad del tablero, pero evita textos secundarios de 6–9 px. */
body { font-size: 14px; line-height: 1.45; }
.eyebrow { font-size: 12px; }
.primary, .secondary { min-height: 46px; font-size: 14px; }
.text-button { font-size: 13px; }
.form-error { font-size: 13px; line-height: 1.45; }
label { font-size: 13px; }
input, select, textarea { font-size: 14px; }
label small, .photo-field small { font-size: 11px; line-height: 1.4; }

.auth-brand > p:not(.eyebrow) { font-size: 17px; }
.auth-features span { font-size: 13px; }
.auth-features b { font-size: 12px; }
.auth-card form > p:not(.eyebrow,.form-error) { font-size: 14px; }
.access-member-summary b { font-size: 14px; }
.access-member-summary small { font-size: 12px; }
.loading-block { font-size: 14px; }

.sidebar-brand b { font-size: 16px; }
.sidebar-brand small { font-size: 11px; }
.sidebar nav button { min-height: 48px; font-size: 14px; }
.sidebar-user b { font-size: 13px; }
.sidebar-user small { font-size: 11px; }
.preview-banner b { font-size: 13px; }
.preview-banner span { font-size: 11px; }
.preview-banner button, .member-preview { font-size: 11px; }
.sync-state { font-size: 11px; }
.page-loader { font-size: 13px; }

.welcome-panel > div > p:last-child { font-size: 14px; }
.metric-grid article b, .metric-grid .metric-link b { font-size: 13px; }
.metric-grid article small, .metric-grid .metric-link small { font-size: 11px; }
.next-rehearsal div > p:last-child { font-size: 13px; }
.section-heading div > p:last-child { font-size: 13px; line-height: 1.5; }
.empty-panel h2 { font-size: 17px; }
.empty-panel p, .quiet { font-size: 13px; }

.date-block small { font-size: 10px; }
.rehearsal-card h3 { font-size: 15px; }
.rehearsal-card p { font-size: 12px; }
.card-count b { font-size: 15px; }
.card-count small { font-size: 10px; }
.privacy-note p { font-size: 12px; }
.genre-heading h2 { font-size: 15px; }
.genre-heading b { font-size: 11px; }
.genre-heading small { font-size: 11px; }

.song-card { min-height: 78px; }
.song-copy h3 { font-size: 14px; }
.song-copy p { font-size: 11px; }
.knowledge-toggle { font-size: 12px; }
.song-more, .youtube-reference { width: 34px; height: 34px; font-size: 11px; }
.catalog-scope span { font-size: 14px; }
.catalog-scope small { font-size: 11px; }
.audio-pending { font-size: 11px; }
.mix-parts > b { font-size: 12px; }
.mix-parts label, .song-option-actions label { font-size: 12px; }
.song-option-actions button { min-height: 36px; font-size: 11px; }

.proposal-heading p:not(.eyebrow) { font-size: 12px; }
.proposal-heading strong { font-size: 13px; }
.proposal-panel form label { font-size: 12px; }
.proposal-panel form input { height: 42px; font-size: 13px; }
.proposal-list article b { font-size: 13px; }
.proposal-list article small { font-size: 11px; }
.proposal-list article a { font-size: 11px; }

.back-button { font-size: 12px; }
.rehearsal-hero p { font-size: 13px; }
.set-order { font-size: 12px; }
.set-song h3 { font-size: 15px; }
.set-song > small { font-size: 11px; }
.general-instruction { font-size: 13px; }
.instruction > span { font-size: 10px; }
.instruction p { font-size: 13px; }
.instruction button { min-height: 34px; font-size: 11px; }
.reference-link { font-size: 11px; }

.director-card h2 { font-size: 21px; }
.director-card > p:not(.eyebrow) { font-size: 12px; line-height: 1.5; }
.generated-link b { font-size: 11px; }
.generated-link input { min-height: 40px; font-size: 12px; }
.generated-link button { font-size: 11px; }
.member-grid article { min-height: 82px; }
.member-grid h3 { font-size: 13px; }
.member-grid h3 em { font-size: 9px; }
.member-grid p { font-size: 11px; line-height: 1.4; }
.member-grid article > b { font-size: 16px; }
.member-grid article > b small { font-size: 9px; }
.member-access { font-size: 11px; }
.change-card { min-height: 202px; padding: 19px; }
.change-card header small { font-size: 10px; }
.change-card header b { font-size: 14px; }
.change-card header em { font-size: 9px; }
.change-copy strong { font-size: 17px; }
.change-copy small { font-size: 11px; }
.toast { max-width: 390px; font-size: 13px; }

.setup-card > p:not(.eyebrow) { font-size: 14px; }
.success-box code, .success-box span { font-size: 12px; }

@media (min-width: 1200px) {
  .group-song-groups > section:not(.account-empty) > div { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .personal-song-groups > section:not(.account-empty) > div { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  body { font-size: 15px; }
  body[data-account-shell="1"] .account-shell,
  body[data-account-shell="1"] .account-main.group-visual-stage { height: auto; min-height: 100dvh; overflow: visible; }
  .account-header { justify-content: space-between; }
  .account-global-nav { width: calc(100% - 24px); min-height: 66px; padding: 6px; position: fixed; inset: auto 12px max(12px, env(safe-area-inset-bottom, 0px)); z-index: 90; border: 1px solid #d5ded0; border-radius: 16px; background: rgba(250,252,248,.96); box-shadow: 0 14px 36px rgba(22,31,20,.18); backdrop-filter: blur(14px); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 3px; }
  .account-header.group-header-themed .account-global-nav { border-color: rgba(var(--theme-accent-rgb),.5); background: linear-gradient(120deg, rgba(var(--theme-accent-rgb),.2), transparent 72%), rgba(13,17,14,.96); box-shadow: 0 16px 38px rgba(0,0,0,.28), 0 0 24px rgba(var(--theme-accent-rgb),.12); }
  .account-global-nav a { min-width: 0; min-height: 52px; padding: 3px 2px; font-size: 9px; text-align: center; display: grid; place-items: center; align-content: center; gap: 3px; }
  .account-global-nav a i { height: 15px; display: block; font-size: 14px; line-height: 15px; }
  .account-global-nav a span { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
  .orbit-logo { width: min(112px, 30vw); }
  .account-identity { min-width:0; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea { font-size: 16px !important; }
  .registration-mode { grid-template-columns: 1fr; }
  .account-header { min-height: 82px; padding: 12px 18px; }
  .account-profile-link > div { min-width:0; }
  .account-profile-link > div > b,.account-profile-link > div > small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .account-profile-menu > nav { width:min(260px,calc(100vw - 36px)); }
  .account-main { width: calc(100% - 24px); padding: 24px 0 calc(118px + env(safe-area-inset-bottom, 0px)); }
  body[data-account-shell="1"]:has(#audio-hub:not(.hidden)) .account-main { padding-bottom: calc(270px + env(safe-area-inset-bottom, 0px)); }
  body[data-account-shell="1"] .audio-hub { bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
  body[data-orbitboard-page="1"] .audio-hub { bottom:calc(10px + env(safe-area-inset-bottom,0px)); }
  body[data-orbitboard-page="1"]:has(#audio-hub:not(.hidden)) .account-main { padding-bottom:calc(150px + env(safe-area-inset-bottom,0px)); }
  .group-visual-stage > .group-orbitboard-app { width:calc(100% - 16px);margin-top:12px; }
  .orbitboard-shell { padding:14px;border-radius:18px; }
  .orbitboard-intro h2 { font-size:34px; }.orbitboard-intro > p:last-child { font-size:12px; }
  .orbitboard-setlist-strip button { flex-basis:auto; }
  .orbitboard-pad-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
  .orbitboard-pad { border-radius:14px;padding:7px; }
  body[data-orbitboard-page="1"] .group-section-nav > .orbitboard-setlist-strip { margin-top:1px;padding-top:3px;padding-bottom:7px; }
  .orbitboard-pad.selected { transform:scale(1.065); }
  .orbitboard-pad strong { inset:16% 5%;font-size:clamp(12px,4vw,17px); }
  .orbitboard-pad-state { top:7px;right:7px;width:24px;height:24px;font-size:9px; }
  .orbitboard-pad small { left:4px;right:4px;bottom:7px;font-size:7px; }
  .account-welcome { min-height: 360px; padding: 27px; align-items: stretch; flex-direction: column; justify-content: flex-end; }
  .account-welcome .primary { width: 100%; }
  .personal-context-card { grid-template-columns: 48px minmax(0,1fr); }
  .personal-context-icon { width: 48px; height: 48px; }
  .personal-context-card > .primary { grid-column: 1 / -1; width: 100%; }
  .context-grid, .account-next-grid { grid-template-columns: 1fr; }
  .personal-repertoire-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .personal-repertoire-tools { grid-template-columns: 1fr; }
  .personal-repertoire-tools .grouping-switch { width: 100%; }
  .personal-repertoire-tools .grouping-switch button { flex: 1; }
  .personal-song-groups > section:not(.account-empty) > div { grid-template-columns: 1fr; }
  .personal-song-card > header { align-items: flex-start; flex-direction: column; gap: 14px; }
  .personal-song-context { grid-template-columns: 38px minmax(0,1fr); }
  .personal-song-context-actions { grid-column: 1 / -1; padding-left: 51px; flex-wrap: wrap; }
  .context-card { grid-template-columns: 46px minmax(0,1fr) auto; }
  .context-monogram { width: 46px; height: 46px; }
  .context-card .secondary { grid-column: 1 / -1; width: 100%; }
  .context-invitation { grid-template-columns:46px minmax(0,1fr); }
  .context-invitation-accept { grid-column:1 / -1; width:100%; }
  .group-onboarding-guide { padding:18px; grid-template-columns:46px minmax(0,1fr) auto; gap:13px; }
  .group-onboarding-orbit { width:46px; height:46px; }
  .group-onboarding-guide > strong { min-width:58px; }
  .group-onboarding-guide .group-onboarding-actions { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .group-onboarding-actions button:first-child { grid-column:1 / -1; }
  .dominated-guide-dialog { width:calc(100% - 20px); }
  .dominated-guide-card { padding:18px; border-radius:20px; }
  .dominated-guide-copy { min-height:0; padding-top:20px; }
  .dominated-guide-copy h2 { font-size:27px; }
  .guide-song-demo { grid-template-columns:38px minmax(0,1fr); }
  .guide-song-demo button { grid-column:1 / -1; width:100%; }
  .dominated-guide-card > footer { align-items:stretch; flex-direction:column; }
  .dominated-guide-navigation { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .dominated-guide-navigation > button { width:100%; }
  .dominated-guide-pause { width:100%; }
  .relationship-options { grid-template-columns: 1fr; }
  .relationship-options label { min-height: 76px; }
  .account-modal-card { padding: 20px; }
  .mix-page-nav { width: calc(100% + 40px); margin-inline: -20px; padding-inline: 20px; }
  .song-editor-footer { margin: 0 -20px -20px; padding: 13px 20px; }
  .group-workspace-heading { grid-template-columns: minmax(0,1fr) auto; gap: 17px 12px; }
  .group-visual-stage > .group-workspace-heading { padding: 38px 20px 46px; grid-template-columns: minmax(0,1fr) auto; gap: 17px 12px; }
  .group-visual-stage > .group-repertoire-app { width: calc(100% - 24px); }
  .group-workspace-heading > span { justify-self: start; }
  .group-breadcrumb { font-size: 10px; }
  .group-heading-actions { min-width: 0; justify-items: stretch; }
  .group-heading-actions > span { white-space: nowrap; text-align: center; }
  .group-heading-actions > button { width: 100%; }
  .group-live-launcher { width:min(310px,46vw); }
  .group-visual-stage > .group-section-nav { padding-inline: 20px; gap: 14px; overflow-x: auto; }
  .group-section-nav a { flex: 0 0 auto; }
  .legacy-access { justify-self: start; }
  .group-member-bubbles { max-width: 210px; justify-content: space-between; }
  .group-member-bubbles i { width: 30px; height: 30px; }
  .group-members-page { width: calc(100% - 24px); margin-top: 18px; }
  .group-members-page > header { align-items: stretch; flex-direction: column; }
  .group-members-page > header .primary { width: 100%; }
  .group-member-card-grid { grid-template-columns: 1fr; }
  .group-repertoire-toolbar { padding: 24px 20px 20px; align-items: stretch; flex-direction: column; gap: 20px; }
  .group-toolbar-actions { width: 100%; padding: 10px; border: 1px solid rgba(184,255,66,.2); border-radius: 16px; background: linear-gradient(145deg, rgba(184,255,66,.08), rgba(95,67,180,.08)); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; box-shadow: inset 0 0 24px rgba(184,255,66,.04); }
  .batch-genre-control { display: contents; }
  .batch-genre-control select { width: 100%; min-width: 0; grid-column: 1 / -1; border-color: #526052; background: rgba(248,250,246,.96); font-size: 13px; }
  .group-toolbar-actions button { width: 100%; min-width: 0; min-height: 52px; padding: 8px 10px; white-space: nowrap; font-size: 11px; }
  .group-toolbar-actions .primary { grid-column: 1 / -1; min-height: 56px; border: 1px solid rgba(211,255,120,.55); box-shadow: 0 0 22px rgba(183,255,57,.18); font-size: 13px; }
  .group-tags-workspace { margin-top: 12px; padding: 15px 12px; }
  .group-tags-workspace > header { align-items: center; }
  .group-tags-workspace > header > button { padding: 0 10px; font-size: 10px; }
  .group-tags-actions { width: 100%; justify-content: stretch; }
  .group-tags-actions button { flex: 1; }
  .group-repertoire-browser { grid-template-columns: 1fr; }
  .grouping-switch { width: 100%; }
  .grouping-switch button { flex: 1; }
  .group-repertoire-browser > p { padding: 0 3px; }
  .group-genre-form { grid-template-columns: 1fr; }
  .group-selection-actions { grid-template-columns: 1fr; padding: 11px; }
  .group-selection-head, .batch-genre-control { grid-column: 1; }
  .group-selection-actions .batch-genre-control { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .group-selection-actions button:not(.selection-clear-action) { width: 100%; min-width: 0; padding: 7px 8px; white-space: normal; }
  .group-selection-float { top: 44px; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .group-selection-float > div, .group-selection-float > select, .group-selection-float > .selection-genre-destination { grid-column: 1 / -1; }
  .group-selection-float button { min-height: 36px; padding-inline: 10px; font-size: 10px; }
  .group-song-groups > section:not(.account-empty) > div { grid-template-columns: 1fr; }
  .group-song-card-content { padding: 12px; }
  .group-song-actions { align-items: flex-end; flex-direction: column; }
  .song-form-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .song-field-title, .song-field-artist, .song-field-bpm { grid-column: 1 / -1; }
  .song-field-genre, .song-field-key { grid-column: span 3; }
  .song-field-signature, .song-field-count, .song-field-accent { grid-column: span 2; }
  .song-field-accent { padding-inline: 8px; justify-content: center; }
  .song-sheet-upload { grid-template-columns: 1fr; }
  .song-sheet-upload > header { grid-column: 1; }
  .song-sheet-picker, .song-sheet-upload > #remove-song-sheet { width: 100%; }
  .song-asset-field { grid-template-columns: minmax(0,1fr) auto; }
  .song-asset-picker { grid-column: 2; grid-row: 1; }
  .setlist-workspace-header { grid-template-columns: 1fr; }
  .setlist-workspace-header > #back-to-group-repertoire { justify-self: start; text-align: left; }
  .setlist-header-actions { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; justify-items: stretch; }
  .setlist-header-actions > button { width: 100%; min-width: 0; }
  .setlist-header-actions > button:only-child { grid-column: 1 / -1; }
  .setlist-workspace-songs > article { grid-template-columns: 34px minmax(0,1fr); padding: 13px; }
  .setlist-card-footer { margin: 2px -13px -13px; padding: 10px 13px 12px; }
  .setlist-song-number { width: 34px; min-width: 34px; height: 50px; }
  .setlist-song-content h3 { font-size: 20px; }
  .setlist-key-badge { font-size: 12px; }
  .setlist-song-content header p, .setlist-no-audio { font-size: 12px; }
  .setlist-song-content { width: 100%; max-width: 100%; overflow: hidden; }
  .setlist-song-content > header { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 10px; }
  .setlist-song-content > header > div:first-child { min-width: 0; }
  .setlist-song-controls { width: auto; min-width: 0; margin-left: auto; flex: none; flex-wrap: nowrap; }
  .setlist-song-controls .setlist-audio-control { flex: 0 0 44px; }
  .setlist-song-controls .setlist-audio-control button { width: 44px; min-width: 44px; }
  .setlist-live-controls { width: 100%; max-width: 100%; min-width: 0; }
  .setlist-song-audios { grid-template-columns: 1fr; }
  .mix-part-assets { grid-template-columns: 1fr; }
  .setlist-mix-part header { align-items: flex-start; flex-direction: column; }
  .setlist-details-toggle { min-width: 0; flex: 1 1 145px; }
  .setlist-metronome-control { width: min(100%, 280px); max-width: 100%; margin-left: 0; grid-template-columns: 44px minmax(0,1fr) 44px; }
  .ai-import-helper { grid-template-columns: 1fr; }
  .ai-import-helper > button { width: 100%; }
  .import-review-list > div { grid-template-columns: 25px minmax(0,1fr); }
  .import-row-fields { grid-template-columns: 1fr; }
  .import-row-actions { grid-column: 2; justify-content: flex-start; }
  .import-duplicate-decision { grid-template-columns: 1fr; }
  .import-duplicate-options { grid-template-columns: 1fr; }
  .import-review-list .import-duplicate-decision button { width: 100%; min-width: 0; }
  .sidebar nav button { font-size: 15px; }
  .topbar h1 { font-size: 21px; }
  .song-copy h3 { font-size: 15px; }
  .song-copy p { font-size: 12px; }
  .section-heading div > p:last-child { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .context-invitation.is-accepted .context-acceptance-effect,
  .context-invitation.is-accepted .context-acceptance-effect::before,
  .context-invitation.is-accepted .context-acceptance-effect::after,
  .context-invitation.is-accepted .context-acceptance-effect > i,
  .context-invitation.is-accepted .context-acceptance-effect > b,
  .context-invitation.is-accepted .context-acceptance-effect > strong,
  .context-invitation.is-accepted .context-acceptance-effect > span,
  .context-card-new,
  .context-card-new .context-monogram,
  .context-card-new .context-copy,
  .context-card-new .context-status,
  .group-song-card.knowledge-success,
  .group-song-knowledge.is-celebrating { animation:none !important; }
  .context-invitation.is-accepted .context-acceptance-effect { opacity:1; clip-path:none; }
}

/* El Set List abierto reemplaza el verde de marca por su identidad propia. */
@media(min-width:901px){
  body.setlist-night-mode .group-visual-stage > .group-repertoire-app { width: calc(100% - 48px); max-width: none; }
  body.personal-setlist-mode .account-main { width: 100%; max-width: none; }
  body.personal-setlist-mode .personal-repertoire-app { width: calc(100% - 48px); max-width: none; margin: 24px auto 0; }
  body.setlist-night-mode .group-visual-stage > .group-workspace-heading { padding-inline: 24px; }
  body.setlist-night-mode .group-visual-stage > .group-section-nav { padding-inline: 24px; }
}
body.personal-setlist-mode .personal-repertoire-heading { display: none; }
@media(max-width:900px){
  body.personal-setlist-mode .personal-repertoire-app { width: 100%; margin-top: 0; }
}
body.setlist-night-mode { --lime: var(--setlist-color); }
body.setlist-night-mode .account-header { border-bottom-color: rgba(var(--setlist-color-rgb),.2); background: linear-gradient(90deg, rgba(var(--setlist-color-rgb),.04), transparent 45%), rgba(10,11,14,.95); }
body.setlist-night-mode .account-identity .account-avatar { background: rgba(var(--setlist-color-rgb),.16); color: var(--setlist-color); }
body.setlist-night-mode .setlist-workspace-header { border-color: rgba(var(--setlist-color-rgb),.2); background: linear-gradient(120deg, rgba(var(--setlist-color-rgb),.055), transparent 48%), #17191c; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
body.setlist-night-mode .setlist-workspace-songs > article { border-color: rgba(var(--setlist-color-rgb),.2); background: linear-gradient(120deg, rgba(var(--setlist-color-rgb),.055), transparent 48%), #17191c; }
body.setlist-night-mode .setlist-song-number { background: rgba(var(--setlist-color-rgb),.13); color: var(--setlist-color-soft); }
body.setlist-night-mode .setlist-song-number i { color: rgba(var(--setlist-color-rgb),.65); }
body.setlist-night-mode .setlist-workspace-songs > article.dragging,
body.setlist-night-mode .setlist-workspace-songs > article.inspector-active { border-color: var(--setlist-color); background: rgba(var(--setlist-color-rgb),.1); box-shadow: 0 0 0 2px rgba(var(--setlist-color-rgb),.14), 0 14px 34px rgba(0,0,0,.28); }
body.setlist-night-mode .setlist-workspace-songs > article.inspector-active .setlist-song-number { background: var(--setlist-color); color: #17181c; }
body.setlist-night-mode .setlist-edit-action { background: linear-gradient(145deg, var(--setlist-color), var(--setlist-color-deep)); color: #17181c; }
body.setlist-night-mode .setlist-card-footer { border-top-color: rgba(var(--setlist-color-rgb),.2); background: rgba(var(--setlist-color-rgb),.035); }
body.setlist-night-mode .setlist-card-footer .setlist-details-toggle,
body.setlist-night-mode .setlist-details-toggle { border-color: rgba(var(--setlist-color-rgb),.25); background: rgba(var(--setlist-color-rgb),.08); color: var(--setlist-color-soft); }
body.setlist-night-mode .setlist-song-content section { border-left-color: var(--setlist-color); background: rgba(var(--setlist-color-rgb),.07); }
body.setlist-night-mode .setlist-mix-parts { border-color: rgba(var(--setlist-color-rgb),.24) !important; background: rgba(var(--setlist-color-rgb),.035); }
body.setlist-night-mode .setlist-mix-part { border-color: rgba(var(--setlist-color-rgb),.2); background: rgba(var(--setlist-color-rgb),.045); }
body.setlist-night-mode .setlist-mix-part > span { background: rgba(var(--setlist-color-rgb),.16); color: var(--setlist-color-soft); }
body.setlist-night-mode .setlist-song-audios span,
body.setlist-night-mode .setlist-song-content section small,
body.setlist-night-mode .setlist-mix-parts > small { color: var(--setlist-color-soft); }
body.setlist-night-mode .setlist-song-content > a,
body.setlist-night-mode .setlist-mobile-sheet-link { border-color: rgba(var(--setlist-color-rgb),.3); background: rgba(var(--setlist-color-rgb),.09); color: var(--setlist-color-soft); }
body.setlist-night-mode .setlist-metronome { background: linear-gradient(135deg, var(--setlist-color), var(--setlist-color-deep)); color: #17181c; box-shadow: 0 0 18px rgba(var(--setlist-color-rgb),.22); }
body.setlist-night-mode .setlist-metronome-control { border-color: rgba(var(--setlist-color-rgb),.28); background: rgba(var(--setlist-color-rgb),.07); }
body.setlist-night-mode .setlist-metronome-control > button:not(.setlist-metronome) { background: rgba(var(--setlist-color-rgb),.12); color: var(--setlist-color-soft); }
body.setlist-night-mode .setlist-audio-control.asset-guide button { border-color: rgba(var(--setlist-color-rgb),.3); background: rgba(var(--setlist-color-rgb),.13); color: var(--setlist-color-soft); }
body.setlist-night-mode .setlist-audio-control.asset-guide button b { background: var(--setlist-color); color: #17181c; }
body.setlist-night-mode .setlist-header-actions > button.synced { border-color: var(--setlist-color); background: rgba(var(--setlist-color-rgb),.2); }

.setlist-performance-control { min-width: 230px; padding: 10px 12px; border: 1px solid rgba(var(--setlist-color-rgb),.28); border-radius: 12px; background: rgba(0,0,0,.18); display: grid; gap: 5px; }
.setlist-performance-control > span { color: #9ba69b; font-size: 9px; font-weight: 950; letter-spacing: .12em; }
.setlist-performance-control > strong { max-width: 270px; overflow: hidden; color: #dce4dc; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.setlist-performance-control > div { display: flex; gap: 7px; }
.setlist-performance-control button { min-height: 34px; padding: 7px 11px; border: 1px solid rgba(var(--setlist-color-rgb),.5); border-radius: 8px; background: rgba(var(--setlist-color-rgb),.12); color: var(--setlist-color-soft); cursor: pointer; font-size: 10px; font-weight: 900; }
.setlist-performance-control button[data-live-start] { background: var(--setlist-color); color: #15191a; }
.setlist-performance-control button[data-live-stop] { border-color: #e47474; background: rgba(190,55,55,.14); color: #ffb9b9; }
.setlist-performance-control.is-live { border-color: var(--setlist-color); box-shadow: 0 0 22px rgba(var(--setlist-color-rgb),.14); }
.setlist-performance-control.is-live > span { color: var(--setlist-color); }

.live-performance-callout { position: fixed; z-index: 1200; top: calc(env(safe-area-inset-top,0px) + 82px); right: 22px; width: min(460px,calc(100vw - 32px)); padding: 15px; border: 1px solid rgba(202,255,76,.6); border-radius: 16px; background: radial-gradient(circle at 10% 0,rgba(202,255,76,.18),transparent 42%),rgba(13,18,14,.96); color: #f4f8f1; box-shadow: 0 20px 60px rgba(0,0,0,.48),0 0 34px rgba(202,255,76,.11); backdrop-filter: blur(16px); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; animation: liveCalloutArrival .42s cubic-bezier(.2,.8,.2,1) both; }
.live-performance-callout > span { align-self: start; color: #caff4c; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.live-performance-callout div { display: grid; gap: 2px; min-width: 0; }
.live-performance-callout small { color: #aebaaa; font-weight: 800; }
.live-performance-callout strong,.live-performance-callout p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-performance-callout p { margin: 2px 0 0; color: #bdc8bb; font-size: 11px; }
.live-performance-callout a { padding: 10px 13px; border-radius: 9px; background: #caff4c; color: #17200f; font-size: 11px; font-weight: 950; text-decoration: none; white-space: nowrap; }
.live-performance-callout.participant-signal { isolation:isolate; border-color:rgba(202,255,76,.94); animation:liveCalloutArrival .42s cubic-bezier(.2,.8,.2,1) both,liveParticipantCardPulse 1.55s .42s ease-in-out infinite; }
.live-performance-callout.participant-signal::before { content:""; position:absolute; inset:-10px; z-index:-1; border-radius:24px; background:rgba(202,255,76,.2); filter:blur(13px); pointer-events:none; animation:liveParticipantGlow 1.55s .42s ease-in-out infinite; }
.live-performance-callout.participant-signal > span { text-shadow:0 0 13px rgba(202,255,76,.9); }
.live-performance-callout.participant-signal a { box-shadow:0 0 24px rgba(202,255,76,.34); }
.setlist-workspace-songs > article.live-command-arrival { animation: liveSongArrival .58s cubic-bezier(.18,.84,.2,1); }
@keyframes liveCalloutArrival { from { opacity:0; transform:translateY(-12px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes liveParticipantCardPulse { 50% { border-color:#e3ff9e; box-shadow:0 22px 68px rgba(0,0,0,.54),0 0 44px rgba(202,255,76,.38),inset 0 0 28px rgba(202,255,76,.08); } }
@keyframes liveParticipantGlow { 0%,100% { opacity:.28; transform:scale(.98); } 50% { opacity:.92; transform:scale(1.035); } }
@keyframes liveSongArrival { 0% { transform:scale(.985); } 38% { box-shadow:0 0 0 4px rgba(var(--setlist-color-rgb),.28),0 0 42px rgba(var(--setlist-color-rgb),.25); } 100% { transform:none; } }

@media(max-width:600px){
  .live-performance-callout { top:auto; right:16px; bottom:calc(env(safe-area-inset-bottom,0px) + 18px); grid-template-columns:1fr auto; }
  .live-performance-callout > span { grid-column:1 / -1; }
  .setlist-performance-control { width:100%; min-width:0; }
  .setlist-performance-control > strong { max-width:none; }
  .group-visual-stage > .group-workspace-heading { grid-template-columns:1fr; }
  .group-heading-actions { justify-items:stretch; }
  .group-live-launcher { width:100%; }
  .group-live-launcher > div { display:grid; grid-template-columns:1fr auto; }
  .group-live-launcher button[data-group-live-start],.group-live-launcher [data-group-live-open] { width:100%; }
  .group-live-picker > form { padding:19px; }
}

@media(prefers-reduced-motion:reduce){.live-performance-callout,.live-performance-callout::before,.setlist-workspace-songs > article.live-command-arrival{animation:none;}}
body.setlist-night-mode .setlist-inspector { border-color: rgba(var(--setlist-color-rgb),.28); background: radial-gradient(circle at 85% 0, rgba(var(--setlist-color-rgb),.1), transparent 36%), #14171a; }
body.setlist-night-mode .setlist-inspector > header p,
body.setlist-night-mode .setlist-inspector > header a,
body.setlist-night-mode .setlist-inspector-empty > span,
body.setlist-night-mode .setlist-sheet-empty span,
body.setlist-night-mode .setlist-inspector-notes small,
body.setlist-night-mode .setlist-inspector-notes a { color: var(--setlist-color); }
body.setlist-night-mode .setlist-inspector-empty > span { border-color: rgba(var(--setlist-color-rgb),.3); box-shadow: 0 0 32px rgba(var(--setlist-color-rgb),.14); }
body.setlist-night-mode .setlist-sheet-empty { border-color: rgba(var(--setlist-color-rgb),.3); background: radial-gradient(circle at 50% 30%, rgba(var(--setlist-color-rgb),.09), transparent 52%); }
body.setlist-night-mode .setlist-inspector-notes section { border-left-color: var(--setlist-color); background: rgba(var(--setlist-color-rgb),.07); }
body.setlist-night-mode .my-song-sheet-dialog { border: 1px solid rgba(var(--setlist-color-rgb),.32); background: radial-gradient(circle at 90% 0, rgba(var(--setlist-color-rgb),.14), transparent 34%), #15191a; color: #f1f5ef; box-shadow: 0 26px 80px rgba(0,0,0,.56), 0 0 42px rgba(var(--setlist-color-rgb),.12); }
body.setlist-night-mode .my-song-sheet-dialog::backdrop { background: rgba(3,5,6,.78); }
body.setlist-night-mode .my-song-sheet-card > header .eyebrow { color: var(--setlist-color); }
body.setlist-night-mode .my-song-sheet-card > header, body.setlist-night-mode .my-song-sheet-card > footer { border-color: rgba(var(--setlist-color-rgb),.22); background: rgba(21,25,26,.97); backdrop-filter: blur(12px); }
body.setlist-night-mode .my-song-sheet-card > header p, body.setlist-night-mode .my-song-sheet-card label > small { color: #aeb9af; }
body.setlist-night-mode .my-song-sheet-card > header > button { border-color: rgba(var(--setlist-color-rgb),.35); background: rgba(var(--setlist-color-rgb),.1); color: var(--setlist-color-soft); }
body.setlist-night-mode .my-song-shared { border-color: rgba(var(--setlist-color-rgb),.24); background: rgba(255,255,255,.035); }
body.setlist-night-mode .my-song-shared dt { color: #a9b5a8; }
body.setlist-night-mode .my-song-material { border-color: rgba(var(--setlist-color-rgb),.28); background: rgba(255,255,255,.035); box-shadow: none; }
body.setlist-night-mode .my-song-material > header { border-bottom-color: rgba(var(--setlist-color-rgb),.2); background: rgba(var(--setlist-color-rgb),.1); }
body.setlist-night-mode .my-song-material > header span { background: rgba(var(--setlist-color-rgb),.2); color: var(--setlist-color); }
body.setlist-night-mode .my-song-material > header p, body.setlist-night-mode .my-song-material-file small { color: #b5c0b4; }
body.setlist-night-mode .material-size-picker { border-color: #455045; background: #111513; }
body.setlist-night-mode .material-size-picker button { color: #c5d0c3; }
body.setlist-night-mode .material-size-picker button.active { background: var(--setlist-color); color: #15191a; }
body.setlist-night-mode .my-song-sheet-card textarea { border-color: #465147; background: #101412; color: #f3f6f1; }
body.setlist-night-mode .my-song-material-file { border-top-color: rgba(var(--setlist-color-rgb),.2); background: rgba(0,0,0,.16); }
body.setlist-night-mode .my-song-material-file > label { border-color: rgba(var(--setlist-color-rgb),.5); background: rgba(var(--setlist-color-rgb),.14); color: var(--setlist-color-soft); }
body.setlist-night-mode .my-song-sheet-card > footer .secondary { border-color: #4a564a; background: #202621; color: #e6ede4; }
body.setlist-night-mode .my-song-sheet-card > footer .primary { border-color: var(--setlist-color); background: var(--setlist-color); color: #15191a; }
body.setlist-night-mode .setlist-insert-modal > section { border-color: rgba(var(--setlist-color-rgb),.38); background: radial-gradient(circle at 82% 0, rgba(var(--setlist-color-rgb),.2), transparent 34%), #111317; box-shadow: 0 35px 110px rgba(0,0,0,.58), 0 0 48px rgba(var(--setlist-color-rgb),.1); }
body.setlist-night-mode .setlist-insert-modal header p,
body.setlist-night-mode .setlist-insert-tags section > header button,
body.setlist-night-mode .setlist-insert-tags section > label span,
body.setlist-night-mode #setlist-insert-selection button b { color: var(--setlist-color); }
body.setlist-night-mode .setlist-insert-tags section > div > button.active,
body.setlist-night-mode .setlist-insert-catalog > button.selected { border-color: var(--setlist-color); background: rgba(var(--setlist-color-rgb),.13); box-shadow: inset 0 0 24px rgba(var(--setlist-color-rgb),.07); }
body.setlist-night-mode .setlist-insert-tags section > div > button.active b,
body.setlist-night-mode .setlist-insert-catalog > button.selected > span,
body.setlist-night-mode #setlist-insert-selection button:hover b,
body.setlist-night-mode #setlist-insert-selection button:focus-visible b,
body.setlist-night-mode #setlist-insert-confirm { border-color: var(--setlist-color); background: var(--setlist-color); color: #17181c; }
.song-form-grid [data-configuration-status],
#group-song-form > .song-editor-scroll label > [data-configuration-status] { display:block; margin-top:.35rem; color:var(--muted); font-size:.72rem; font-weight:650; line-height:1.25; }
[data-configuration-status][data-state="pending"] { color:#c48a2c; }
[data-configuration-status][data-state="inherited"] { color:#4f9d7a; }
[data-configuration-status][data-state="local"] { color:#7784d8; }
.song-asset-play span small { display:block; margin-top:.18rem; color:var(--muted); font-size:.68rem; font-weight:600; }
.my-song-sheet-card .save-error[role="status"],
.my-song-sheet-card .save-error[role="alert"] {
  display: block;
  padding: .85rem 1rem;
  border: 2px solid #b42318;
  border-radius: .75rem;
  background: #fff0ee;
  color: #8a1c13;
  font-weight: 800;
}
.canonical-selection-content { flex: 1; min-width: 0; }
.canonical-selection-tray { display: flex; flex-wrap: wrap; gap: 8px; }
.canonical-selection-tray:not(:empty) { margin-top: 10px; }
.canonical-selection-tray article { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border: 1px solid #637153; border-radius: 9px; background: #35412d; }
.canonical-selection-tray span { display: grid; gap: 3px; overflow-wrap: anywhere; }
.canonical-selection-tray small { color: #d5decf; }
.canonical-selection-tray button { flex: 0 0 30px; width: 30px; height: 30px; padding: 0; border: 1px solid #859776; border-radius: 50%; color: white; background: transparent; }
.canonical-search-help { color: var(--muted); font-size: 12px; }
@media(max-width:700px){.canonical-curation-selection{flex-wrap:wrap}.canonical-selection-content{flex-basis:100%}.canonical-selection-tray article{width:100%;justify-content:space-between}}
#delete-group-setlist { margin-right: auto; border-color: #d4aaa5; color: #a12f26; background: #fff6f4; }
.batch-selection-actions { display: flex; gap: 8px; align-items: center; }
@media(max-width:700px){
  .group-song-groups .musical-genre-batch-header { padding: 12px 16px !important; }
  .group-song-groups .musical-genre-batch-header > h3 { flex: 1 1 100%; }
  .musical-genre-batch-header > select { flex: 0 0 100%; width: 100%; min-width: 0; box-sizing: border-box; font-size: 16px; }
  .musical-genre-batch-header .batch-selection-actions { width: 100%; justify-content: flex-end; }
  .batch-selection-actions button { min-height: 44px; }
}
.custom-tags-toggle { display: inline-flex; align-items: center; gap: 10px; padding: 8px 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.custom-tags-toggle i { font-style: normal; transition: transform .18s ease; }
.custom-tags-toggle[aria-expanded="false"] i { transform: rotate(-90deg); }
.group-tags-heading { min-width: 0; width: 100%; }
.group-tags-heading-row { display: flex; align-items: center; gap: 14px; flex-wrap: nowrap; }
.group-tags-workspace > header .group-tags-heading-row h3 { margin: 0; min-width: 0; }
.group-tags-heading-row .group-tag-create { flex: 0 0 34px; width: 34px; height: 34px; min-height: 34px; margin-left: auto; padding: 0; border: 1px solid #c9d4bf; border-radius: 50%; background: transparent; color: #61764d; display: inline-flex; align-items: center; justify-content: center; font-size: 23px; font-weight: 400; line-height: 1; }
.group-tags-heading-row:has(.custom-tags-toggle[aria-expanded="false"]) .group-tag-create { display: none; }
.group-tags-heading-row .group-tag-create:hover { background: #e5eddc; }
@media(max-width:700px){
  .group-tags-heading-row { gap: 8px; }
  .group-tags-heading-row .custom-tags-toggle { font-size: 13px; gap: 5px; text-align: left; min-height: 44px; }
  .group-tags-heading-row .group-tag-create { flex-basis: 40px; width: 40px; height: 40px; min-height: 40px; }
}
#custom-repertoire-tags .group-tags-actions { margin-bottom: 12px; }
#custom-repertoire-tags:not(.hidden) { margin-bottom: 14px; }
.tag-action-dialog { width: min(500px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 18px; background: white; color: #20281d; }
.tag-action-dialog::backdrop { background: rgba(13,17,13,.72); backdrop-filter: blur(5px); }
.tag-action-dialog form { padding: 24px; display: grid; gap: 18px; }
.tag-action-dialog header { display: flex; align-items: start; gap: 16px; justify-content: space-between; }
.tag-action-dialog h2 { margin: 0; font-size: 21px; }
.tag-action-dialog header button { min-width: 36px; height: 36px; border: 1px solid #d6ddd0; border-radius: 50%; background: white; }
.tag-action-dialog p { margin: 0; line-height: 1.5; overflow-wrap: anywhere; }
.tag-action-preserved { color: #55703b; font-size: 13px; }
.tag-action-dialog footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.tag-action-danger,.batch-tag-remove { min-height: 44px; padding: 8px 13px; border: 1px solid #c77a70; border-radius: 9px; background: #fff1ee; color: #9c3024; font-weight: 800; cursor: pointer; }
.backing-trim-dialog { width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #cbd8c1;border-radius:20px;background:#f8fbf5;color:#20281d;box-shadow:0 28px 90px rgba(12,20,10,.38); }
.backing-trim-dialog::backdrop { background:rgba(8,13,9,.76);backdrop-filter:blur(6px); }
.backing-trim-dialog form { display:grid;gap:18px;padding:24px; }
.backing-trim-dialog header { display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }
.backing-trim-dialog header h2 { margin:3px 0 5px;font-size:clamp(21px,3vw,30px); }
.backing-trim-dialog header p:last-child { margin:0;color:#687366;font-size:13px; }
.backing-trim-dialog header button { width:36px;height:36px;min-height:36px;padding:0;border:1px solid #cdd8c8;border-radius:50%;background:#fff;color:#52604d;font-size:20px;cursor:pointer; }
.backing-trim-wave-wrap { position:relative;min-height:250px;padding:12px 0 28px;border:1px solid #cbd8c1;border-radius:14px;background:#111713;overflow:hidden; }
.backing-trim-wave-wrap canvas { display:block;width:100%;height:250px;touch-action:none;cursor:crosshair; }
.backing-trim-wave-start,.backing-trim-wave-end { position:absolute;bottom:7px;color:#b6c2b1;font:11px ui-monospace,monospace; }
.backing-trim-wave-start { left:12px; }.backing-trim-wave-end { right:12px; }
.backing-trim-controls { display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(150px,1fr));gap:14px; }
.backing-trim-controls label { display:grid;gap:7px;margin:0;color:#566351;font-size:12px;font-weight:800; }
.backing-trim-controls label span { display:flex;justify-content:space-between;gap:10px; }
.backing-trim-controls output { color:#3d5927;font-variant-numeric:tabular-nums; }
.backing-trim-controls input { width:100%;min-height:20px;margin:0;padding:0;accent-color:#76a62c;cursor:ew-resize; }
.backing-trim-hint { margin:0;color:#687366;font-size:12px; }
.backing-trim-dialog footer { display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap; }
.backing-trim-dialog footer button { width:auto;min-height:44px;padding:0 17px; }
@media(max-width:700px){.backing-trim-dialog form{padding:17px}.backing-trim-wave-wrap,.backing-trim-wave-wrap canvas{min-height:210px;height:210px}.backing-trim-controls{grid-template-columns:1fr}.backing-trim-dialog footer button{flex:1 1 180px}}
.batch-tag-remove:disabled { opacity: .45; cursor: not-allowed; }
.batch-selection-actions { flex-wrap: wrap; }
@media(min-width:701px){
  .group-song-groups > section > header.musical-genre-batch-header > h3:has(.repertoire-section-toggle) { width: auto; flex: 0 1 auto; max-width: 30%; min-width: 0; margin: 0; }
  .musical-genre-batch-header > h3 > .repertoire-section-toggle { width: auto; min-height: 38px; padding: 8px 0; }
  .musical-genre-batch-header > select { min-width: 150px; flex: 1 1 150px; width: auto; }
  .musical-genre-batch-header .batch-selection-actions { flex: 0 0 auto; flex-wrap: nowrap; }
  .musical-genre-batch-header .batch-selection-actions button { white-space: nowrap; }
}
.group-visual-stage > .group-genres-page { width: min(1000px,calc(100% - 32px)); margin: 26px auto 100px; position: relative; max-height: none; background: var(--paper); }
.group-genres-page .genre-results { max-height: none; overflow: visible; }
@media(max-width:700px){.group-genres-page.genre-manager{padding:18px}.group-genres-page input,.group-genres-page select{font-size:16px}.group-section-nav{overflow-x:auto}.group-section-nav>a{white-space:nowrap}}
