.band-library{background:#2b272e;color:#f7edcf;min-height:100vh;padding:35px 6% 70px;font-family:Arial,sans-serif}.band-library nav{display:flex;gap:25px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:60px}.band-library a{color:#efb84b;text-decoration:none}.band-library a:hover{text-decoration:underline}.band-library .eyebrow{font-size:11px;letter-spacing:2px;color:#efb84b}.band-library h1{font-size:clamp(38px,6vw,80px);font-weight:900;letter-spacing:-2px}.band-library p{line-height:1.7}.band-library input{width:100%;max-width:650px;background:#f7edcf;border:0;padding:15px 18px;border-radius:5px;margin:25px 0;color:#2b272e}.band-library .recording{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px 0;border-top:1px solid #71645a}.band-library h2{font-size:23px;margin:0}.band-library .recording p{font-size:12px;color:#d3c9b7;margin:9px 0 0}.band-library .recording>a{flex-shrink:0;font-size:13px;font-weight:bold;padding:13px;border:1px solid #efb84b;border-radius:4px}.band-library .library-note{font-size:12px;color:#d3c9b7;margin-top:35px}.band-library input:focus-visible,.band-library a:focus-visible{outline:3px solid #e86b58;outline-offset:4px}@media(max-width:560px){.band-library nav{justify-content:flex-start;margin-bottom:40px;gap:20px}.band-library .recording{align-items:flex-start;flex-direction:column;gap:15px}}

.band-library .recording[hidden]{display:none}
.band-library .band-form{max-width:650px;display:flex;flex-direction:column;gap:7px;margin-top:25px}.band-library .band-form input{margin:0 0 14px;max-width:none}.band-library label{font-size:13px;font-weight:700}.band-library textarea{padding:15px;background:#f7edcf;color:#2b272e;border:0;border-radius:5px;max-width:100%;resize:vertical}.band-library button{background:#efb84b;color:#2b272e;padding:12px 17px;border:0;border-radius:5px;font-weight:700;cursor:pointer;white-space:nowrap}.band-library .band-form>button{align-self:flex-start;margin-top:18px}.band-library .honeypot{position:absolute;left:-9999px}.band-library .form-error{padding:15px;background:#f7edcf;border-left:5px solid #e86b58;color:#8d2415;border-radius:4px;max-width:650px}.repertoire-summary{display:flex;gap:15px;flex-wrap:wrap;margin:30px 0}.repertoire-summary a{padding:13px 18px;border:1px solid #8d7c6c;border-radius:5px;font-size:13px}.repertoire-summary strong{font-size:24px;margin-right:5px}.new-song{border:1px solid #8d7c6c;padding:20px;border-radius:6px;max-width:700px}.new-song summary{cursor:pointer;color:#efb84b;font-weight:bold}.song-group{margin:40px 0 55px;scroll-margin-top:20px}.song-group>h2{font-size:32px;margin-bottom:25px}.song-count{font-size:14px;border:1px solid #efb84b;padding:4px 9px;border-radius:4px;vertical-align:middle}.band-library button:focus-visible,.band-library textarea:focus-visible,.band-library select:focus-visible{outline:3px solid #e86b58;outline-offset:3px}@media(max-width:560px){.repertoire-summary{gap:8px}.repertoire-summary a{font-size:11px;padding:10px}.repertoire-summary strong{font-size:21px}}
.repertoire-table-scroll{overflow-x:auto;border:1px solid #8d7c6c;border-radius:6px;max-width:100%;-webkit-overflow-scrolling:touch}
.repertoire-table-scroll:focus-visible{outline:3px solid #e86b58;outline-offset:3px}
.repertoire-table{width:100%;min-width:1260px;border-collapse:collapse;table-layout:fixed;background:#f7edcf;color:#2b272e;font-size:13px}
.repertoire-table .title-col{width:22%}.repertoire-table .proposer-col{width:12%}.repertoire-table .state-col{width:14%}.repertoire-table .recording-col{width:22%}.repertoire-table .likes-col{width:12%}.repertoire-table .actions-col{width:18%}
.repertoire-table th{padding:15px 16px;text-align:left;background:#dfcfac;color:#2b272e;font-size:13px;border-bottom:2px solid #bba985}
.repertoire-table td{padding:16px;vertical-align:top;border-bottom:1px solid #d3c9b7;overflow-wrap:anywhere}
.repertoire-table tr:last-child td{border-bottom:0}
.repertoire-table .song-row:nth-child(even){background:#eee3c5}
.repertoire-table .song-row.approved{background:#d7e6cb}
.song-row[hidden],.song-group[hidden]{display:none}
.repertoire-table .song-title{display:block;font-size:14px;line-height:1.55}
.repertoire-table .approved-label{display:block;margin-top:9px;color:#256344;font-size:11px}
.repertoire-table select{padding:9px 7px;background:white;color:#2b272e;border:1px solid #cabbab;border-radius:4px;width:100%;min-width:0;font-size:12px}
.repertoire-table .song-proposer{font-size:13px;line-height:1.6}
.repertoire-table .song-likes{font-size:12px;line-height:1.6;color:#655c57}
.repertoire-table .recording-link{display:block;color:#a94127;font-size:12px;margin-top:10px}
.repertoire-table .row-actions{display:flex;flex-wrap:wrap;gap:8px}
.repertoire-table form{margin:0}
.repertoire-table button{font-size:11px;padding:8px 10px;white-space:normal;text-align:left}
.repertoire-table .vote-button{background:transparent;border:1px solid #7d7163}
.repertoire-table .vote-button.liked{color:#256344;border-color:#256344}
.repertoire-table .last-editor{font-size:11px;line-height:1.5;margin:11px 0;color:#655c57}
.repertoire-table .archive-song{padding:0;background:transparent;color:#9b4735;font-weight:400;text-decoration:underline}
.table-scroll-hint{display:none;font-size:12px;color:#d3c9b7}
@media(max-width:1432px){.table-scroll-hint{display:block}}

/* Shared playlists live directly in the repertoire. */
.playlist-tools{border-top:1px solid #8d7c6c;border-bottom:1px solid #8d7c6c;padding:28px 0;margin:30px 0;max-width:1100px}
.playlist-tools>h2{font-size:28px}.playlist-tools>p{color:#d3c9b7;font-size:14px}
.playlist-picker,.playlist-inline-form,.playlist-bulk{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}
.playlist-tools select{min-width:200px;max-width:100%;padding:12px;background:#f7edcf;color:#2b272e;border:1px solid #8d7c6c;border-radius:0;font-size:14px}
.playlist-tools label{font-size:13px}.playlist-tools button,.playlist-tools input{border-radius:0}
.playlist-tools input:not([type=hidden]){margin:0;max-width:420px;flex:1;min-width:160px}
.playlist-create,.playlist-settings{padding:16px 0}.playlist-tools summary{color:#efb84b;cursor:pointer;font-size:14px;font-weight:700}
.playlist-current{margin:25px 0}.playlist-current h3{font-size:25px;margin:0 0 8px}.playlist-current p{font-size:12px;color:#d3c9b7}
.playlist-add-link{display:inline-block;padding:12px 16px;border:1px solid #efb84b;font-size:13px}
.playlist-bulk{padding-top:12px}.playlist-bulk label{width:100%}.playlist-bulk #playlist-selection-count{font-size:12px;color:#d3c9b7}
.band-library .playlist-secondary,.band-library .playlist-delete{background:transparent;color:#efb84b;border:1px solid #8d7c6c}
.playlist-settings .playlist-delete{margin-top:12px}.playlist-empty{color:#d3c9b7;font-size:14px}
.repertoire-page .repertoire-table{min-width:1400px}
.repertoire-table .selection-col{width:8%}.repertoire-table .title-col{width:19%}.repertoire-table .proposer-col{width:10%}.repertoire-table .state-col{width:13%}.repertoire-table .recording-col{width:20%}.repertoire-table .likes-col{width:12%}.repertoire-table .actions-col{width:18%}
.repertoire-table .song-selection input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:#a94127;cursor:pointer}
.playlist-position{display:block;font-size:18px;font-weight:700;margin-bottom:10px}.playlist-order{display:flex;gap:4px}
.repertoire-table .playlist-order button{font-size:17px;padding:4px 7px;border-radius:0}
.repertoire-table button:disabled,.repertoire-table select:disabled{opacity:.45;cursor:default}
.repertoire-table .playlist-remove-form{margin-top:12px}.repertoire-table .playlist-remove{background:transparent;color:#9b4735;border:1px solid #bba985;border-radius:0;font-size:11px}
.archived-label{display:block;font-size:11px;color:#9b4735;margin:8px 0}
@media(max-width:1592px){.repertoire-page .table-scroll-hint{display:block}}
@media(max-width:560px){.playlist-tools select{width:100%;min-width:0}.playlist-picker label,.playlist-inline-form label{width:100%}.playlist-tools input:not([type=hidden]){flex-basis:100%}.playlist-tools button{white-space:normal}.playlist-bulk #playlist-selection-count{width:100%}}

.practice-planning{max-width:1100px;margin:24px 0;padding:22px 0;border-bottom:1px solid #8d7c6c}
.practice-planning h3{font-size:22px}.practice-planning p{font-size:13px;color:#d3c9b7}.practice-help{max-width:800px}
.practice-label{display:flex;align-items:flex-start;gap:9px;font-size:12px!important;line-height:1.6;font-weight:400!important;cursor:pointer}
.band-library input.practice-checkbox,.band-library input.new-checkbox,.band-library input.auto-practice-checkbox{width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;padding:0;accent-color:#a94127}
.practice-planning button{margin-top:12px;border-radius:0}.practice-planning button:disabled{opacity:.45;cursor:default}
.practice-mail-info,.practice-email-warning{font-size:12px;color:#d3c9b7;max-width:1000px}.practice-email-warning{border-left:3px solid #efb84b;padding-left:14px}
.repertoire-table.has-practice{min-width:1640px}.repertoire-table.has-practice .selection-col{width:6%}.repertoire-table.has-practice .title-col{width:18%}.repertoire-table.has-practice .practice-col{width:12%}.repertoire-table.has-practice .proposer-col{width:9%}.repertoire-table.has-practice .state-col{width:12%}.repertoire-table.has-practice .recording-col{width:17%}.repertoire-table.has-practice .likes-col{width:10%}.repertoire-table.has-practice .actions-col{width:16%}
.repertoire-table .song-new-form{margin-top:10px}.repertoire-table .song-new-form .practice-label{font-size:11px!important;color:#655c57}
.new-song-badge{display:inline-block;margin-top:8px;padding:3px 9px;background:#efb84b;color:#2b272e;font-size:11px;font-weight:bold}
.repertoire-table .practice-done{display:block;margin-top:14px;border:1px solid #8d7c6c;background:transparent;border-radius:0}
@media(max-width:1864px){.repertoire-page:has(.has-practice) .table-scroll-hint{display:block}}

.playlist-history{margin-top:32px;padding-top:20px;border-top:1px solid #8d7c6c;max-width:1100px}
.playlist-history summary{cursor:pointer;color:#efb84b;font-size:15px;font-weight:700}
.playlist-history p{font-size:12px;color:#d3c9b7}
.playlist-history-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.playlist-history-table th,.playlist-history-table td{text-align:left;padding:14px 10px;border-bottom:1px solid #71645a;vertical-align:top;overflow-wrap:anywhere}
.playlist-history-table th:first-child{width:24%}.playlist-history-table th:last-child{width:25%}
@media(max-width:560px){.playlist-history-table{font-size:11px}.playlist-history-table th,.playlist-history-table td{padding:12px 5px}.playlist-history-table th:first-child{width:29%}}

.internal-home>p{max-width:760px;color:#d3c9b7}.internal-home #playlists{margin-top:42px}
.internal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.internal-section-heading h2{font-size:32px}
.internal-playlist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;max-width:1400px}
.internal-playlist-card{padding:26px;border:1px solid #8d7c6c;background:#ffffff05}.internal-playlist-card h3{font-size:25px;margin:0 0 12px}.internal-playlist-card p{font-size:12px;color:#d3c9b7}.internal-playlist-card summary{cursor:pointer;color:#efb84b;font-size:13px;margin:20px 0}.internal-playlist-card ol{padding-left:23px;font-size:13px}.internal-playlist-card li{padding:7px 0;line-height:1.6}.internal-practice-tag{display:block;font-size:11px;color:#efb84b}
.internal-playlist-card .playlist-open{display:inline-block;margin-top:24px;padding:12px 15px;border:1px solid #efb84b;font-size:13px}
.internal-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1400px;border-top:1px solid #8d7c6c;padding-top:30px;margin-top:50px}.internal-tools a{display:block;border:1px solid #8d7c6c;padding:22px}.internal-tools strong{display:block;font-size:21px;margin-bottom:12px}.internal-tools span{font-size:13px;color:#d3c9b7;line-height:1.7}
.playlist-inline-add{margin:20px 0}.playlist-direct-add{display:flex;flex-direction:column;gap:12px;max-width:650px;margin:18px 0}.playlist-direct-add input[type=search]{flex:auto!important;width:100%;max-width:none!important;margin:0}.playlist-direct-add select{width:100%;padding:8px;font-size:14px}.playlist-direct-add option{padding:7px}.playlist-direct-add button{align-self:flex-start}.playlist-direct-add p{font-size:12px;color:#d3c9b7}
@media(max-width:700px){.internal-tools{grid-template-columns:1fr;gap:14px}.internal-playlist-card{padding:22px}.internal-section-heading h2{font-size:28px}.internal-home nav{justify-content:flex-start}}

.repertoire-table .personal-recording-form button{margin-top:9px;border-radius:0}.repertoire-table .recording-note{font-size:11px;color:#655c57}.repertoire-table .new-symbol-label{display:inline-flex;align-items:center;gap:6px}.repertoire-table .new-symbol-label .new-song-badge{margin:0;padding:2px 5px;border:1px solid #8d7c6c;background:transparent;color:#655c57}.repertoire-table .new-checkbox:checked+.new-song-badge{background:#efb84b;border-color:#efb84b;color:#2b272e}

.repertoire-summary .repertoire-total{padding:13px 18px;border:1px solid #efb84b;border-radius:0;font-size:13px}@media(max-width:560px){.repertoire-summary .repertoire-total{font-size:11px;padding:10px}}

.recording-library .recording-upload{max-width:750px;border:1px solid #8d7c6c;padding:22px;margin:25px 0}.recording-library summary{cursor:pointer;color:#efb84b;font-size:13px;font-weight:700}.recording-library .upload-help,.recording-library .upload-status{font-size:12px;line-height:1.7}.recording-library .upload-help{margin:0 0 16px;color:#d3c9b7}.recording-library .upload-status{display:block;margin-top:12px;overflow-wrap:anywhere}.recording-library .recording-info{min-width:0;flex:1}.recording-library h2{overflow-wrap:anywhere}.recording-library .recording-info details{margin-top:16px;max-width:650px}.recording-library .band-form{margin-top:16px}.recording-library input,.recording-library button,.recording-library .recording>a{border-radius:0}.recording-library input[type=file]{font-size:12px;padding:12px;min-width:0}.recording-library button:disabled{opacity:.55;cursor:wait}.internal-playlist-card .playlist-card-rename input{min-width:0;flex-basis:100%;width:100%}.internal-playlist-card .playlist-card-rename label{width:100%}

.legal-page section{margin:35px 0;max-width:700px}.legal-page address{font-style:normal;line-height:1.8;margin-top:18px}

.repertoire-table{min-width:1520px}.repertoire-table .selection-col{width:7%}.repertoire-table .title-col{width:18%}.repertoire-table .artist-col{width:12%}.repertoire-table .proposer-col{width:9%}.repertoire-table .state-col{width:12%}.repertoire-table .recording-col{width:18%}.repertoire-table .likes-col{width:10%}.repertoire-table .actions-col{width:14%}.repertoire-table .song-artist{font-size:13px;line-height:1.6}.repertoire-table.has-practice{min-width:1840px}.repertoire-table.has-practice .selection-col{width:6%}.repertoire-table.has-practice .title-col{width:16%}.repertoire-table.has-practice .artist-col{width:11%}.repertoire-table.has-practice .practice-col{width:11%}.repertoire-table.has-practice .proposer-col{width:8%}.repertoire-table.has-practice .state-col{width:11%}.repertoire-table.has-practice .recording-col{width:15%}.repertoire-table.has-practice .likes-col{width:9%}.repertoire-table.has-practice .actions-col{width:13%}@media(max-width:1744px){.repertoire-page .table-scroll-hint{display:block}}@media(max-width:2064px){.repertoire-page:has(.has-practice) .table-scroll-hint{display:block}}

.repertoire-table .practice-save-status{display:block;font-size:11px;line-height:1.5;color:#256344;margin-top:8px}.repertoire-table .practice-save-status:empty{display:none}.repertoire-table .practice-save-status[data-error]{color:#a12f25}.repertoire-table .practice-done[hidden]{display:none}
