:root{
  --band-ink:#1a1d23;
  --band-green:#b45309;
  --band-accent-deep:#8a4106;
  --band-lime:#fcd34d;
  --band-paper:#f2f4f7;
  --band-line:#e6e8ee;
  --band-muted:#5d6673;
  --band-tint:#faf1e2;
  --band-surface:#ffffff;
  --band-field-border:#c9d1dc;
  --band-success:#2f9e63;
  --band-success-text:#226b4b;
  --band-success-tint:#eefaf3;
  --band-warning:#d98a0f;
  --band-warning-text:#7c4e04;
  --band-warning-soft:#f5d78e;
  --band-warning-tint:#fdf6e4;
  --band-danger:#d92d20;
  --band-danger-border:#f0b3ae;
  --band-danger-text:#9c1f16;
  --band-danger-tint:#fdf1f0;
  --band-link:#b45309;
  --band-youtube:#b42329;
  --band-reader-bg:#0e0f12;
  --band-reader-canvas:#292b30;
  --band-on-dark-muted:#c8cdd6;
  --band-shadow-faint:rgba(16,24,40,.05);
  --band-shadow-subtle:rgba(16,24,40,.07);
  --band-shadow-soft:rgba(16,24,40,.1);
  --band-shadow-light:rgba(10,14,25,.22);
  --band-shadow-medium:rgba(10,14,25,.26);
  --band-shadow-dialog:rgba(10,14,25,.3);
  --band-shadow:rgba(10,14,25,.34);
  --band-shadow-strong:rgba(8,10,18,.6);
  --band-overlay-soft:rgba(15,18,25,.6);
  --band-overlay:rgba(15,18,25,.7);
  --band-overlay-near:rgba(19,21,27,.96);
  --band-overlay-strong:rgba(17,19,24,.98);
  --band-overlay-dark-soft:rgba(0,0,0,.55);
  --band-overlay-dark:rgba(0,0,0,.9);
  --band-surface-ghost:rgba(255,255,255,.1);
  --band-surface-wash:rgba(255,255,255,.22);
  --band-surface-border:rgba(255,255,255,.3);
  --band-surface-border-mid:rgba(255,255,255,.38);
  --band-surface-half:rgba(255,255,255,.5);
  --band-surface-border-strong:rgba(255,255,255,.55);
  --band-surface-border-max:rgba(255,255,255,.65);
  --band-lime-wash:rgba(252,211,77,.3);
  --band-warning-ring:rgba(217,138,15,.14);
}
.band-portal{max-width:980px;margin:2rem auto;color:var(--band-ink);font-family:system-ui,-apple-system,sans-serif}
.band-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:2rem;border-radius:22px;background:var(--band-green);color:var(--band-surface)}
.band-hero h2{font-size:clamp(2rem,6vw,4.2rem);line-height:1;margin:.2rem 0}
.band-hero-brand{display:flex;align-items:flex-start;flex-direction:column}
.band-language-switcher{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:1rem;padding:.3rem;border:1px solid var(--band-surface-border-mid);border-radius:999px;background:var(--band-surface-ghost);font-size:.72rem}.band-language-switcher a{display:inline-flex;align-items:center;gap:.28rem;border-radius:999px;padding:.38rem .58rem;color:inherit;text-decoration:none}.band-language-switcher a:hover,.band-language-switcher a:focus-visible{background:var(--band-surface-wash)}.band-language-switcher a.is-active{background:var(--band-lime);color:var(--band-ink);font-weight:850}.band-language-switcher a span{font-size:1rem;line-height:1}
.band-login-notice{box-sizing:border-box;max-width:520px;margin:2rem auto}.band-login-notice .band-language-switcher{margin:0 0 1.2rem;border-color:var(--band-line);background:var(--band-surface)}.band-login-notice .band-language-switcher a{color:var(--band-ink)}.band-login-notice form{display:grid;gap:.75rem}.band-login-notice label{display:block;margin-bottom:.25rem;font-weight:700}.band-login-notice input[type=text],.band-login-notice input[type=password]{box-sizing:border-box;width:100%;border:1px solid var(--band-field-border);border-radius:10px;padding:.75rem;background:var(--band-surface);font:inherit}.band-login-notice input[type=submit]{border:0;border-radius:999px;padding:.75rem 1rem;background:var(--band-green);color:var(--band-surface);font:inherit;font-weight:800;cursor:pointer}
.band-kicker{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
.band-member-profile{min-width:245px;padding:1rem;border:1px solid var(--band-surface-border);border-radius:14px;background:var(--band-surface-ghost)}
.band-member-profile.needs-instrument{border-color:var(--band-lime);box-shadow:0 0 0 2px var(--band-lime-wash)}
.band-member-profile>strong,.band-member-profile label{display:block}
.band-user-role{display:inline-block;margin:.2rem 0 .3rem;padding:.2rem .5rem;border-radius:999px;background:var(--band-lime);color:var(--band-ink);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.band-member-profile label{margin:.35rem 0 .25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.band-member-profile form>div{display:flex;gap:.4rem}
.band-member-profile select,.band-member-profile button{min-width:0;border:0;border-radius:8px;padding:.55rem .65rem;font:inherit}
.band-member-profile select{flex:1;background:var(--band-surface);color:var(--band-ink)}
.band-member-profile button{background:var(--band-lime);color:var(--band-ink);font-weight:700;cursor:pointer}
.band-profile-prompt{margin:1rem 0;padding:1rem 1.2rem;border-radius:12px;background:var(--band-tint);color:var(--band-ink)}
.band-offline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1rem 0;padding:1rem 1.15rem;border:1px solid var(--band-line);border-radius:16px;background:var(--band-surface)}
.band-offline[hidden]{display:none!important}
.band-offline[data-state="ready"]{border-color:var(--band-success);background:var(--band-success-tint)}.band-offline[data-state="update"]{border-color:var(--band-warning);background:var(--band-warning-tint)}.band-offline[data-state="error"]{border-color:var(--band-danger-border);background:var(--band-danger-tint)}
.band-offline-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--band-lime);color:var(--band-ink);font-size:1.35rem;font-weight:900}.band-offline[data-state="ready"] .band-offline-icon:before{content:"✓"}.band-offline[data-state="ready"] .band-offline-icon{font-size:0}.band-offline[data-state="ready"] .band-offline-icon:before{font-size:1.2rem}
.band-offline-heading{display:flex;align-items:center;gap:.5rem}.band-offline-heading h3{margin:0;font-size:1rem}.band-offline-heading span{display:grid;min-width:1.35rem;height:1.35rem;padding:0 .2rem;box-sizing:border-box;place-items:center;border-radius:999px;background:var(--band-warning);color:var(--band-surface);font-size:.7rem;font-weight:900}.band-offline-heading span[hidden]{display:none}
.band-offline-copy>p{margin:.2rem 0;color:var(--band-muted)}.band-offline-facts{display:flex;flex-wrap:wrap;gap:.25rem .8rem;margin-top:.35rem;color:var(--band-muted);font-size:.75rem}.band-offline-facts span:empty{display:none}.band-offline-facts span+span:before{content:"·";margin-right:.8rem}.band-offline-detail{font-size:.78rem}.band-offline-detail[hidden],.band-offline-facts[hidden]{display:none}
.band-offline-actions{display:flex;max-width:260px;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.band-offline-actions button{border:1px solid var(--band-green);border-radius:999px;padding:.55rem .75rem;background:var(--band-surface);color:var(--band-green);font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.band-offline-actions .band-offline-primary{background:var(--band-green);color:var(--band-surface)}.band-offline-actions .band-offline-remove{border-color:var(--band-danger);color:var(--band-danger-text)}.band-offline-actions button:disabled{cursor:default;opacity:.55}
.band-offline-progress{overflow:hidden;height:8px;margin-top:.55rem;border-radius:999px;background:var(--band-line)}.band-offline-progress[hidden]{display:none}.band-offline-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--band-green);transition:width .2s ease}
.band-live-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1rem 0;padding:1rem 1.15rem;border:2px solid var(--band-warning);border-radius:16px;background:var(--band-warning-tint);box-shadow:0 8px 24px var(--band-shadow-soft)}.band-live-panel[hidden]{display:none}.band-live-mark{padding:.5rem .65rem;border-radius:8px;background:var(--band-danger);color:var(--band-surface);font-size:.75rem;font-weight:900;letter-spacing:.08em}.band-live-copy h3{margin:0;font-size:1rem}.band-live-copy p{margin:.2rem 0;color:var(--band-muted)}.band-live-copy small{color:var(--band-warning-text);font-weight:800}.band-live-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.band-live-actions button,.band-live-conductor button,.band-live-piece{border:1px solid var(--band-green);border-radius:999px;padding:.55rem .8rem;background:var(--band-surface);color:var(--band-green);font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.band-live-actions .band-live-join,.band-live-conductor>[data-band-live-start]{background:var(--band-green);color:var(--band-surface)}.band-live-actions button:disabled,.band-live-conductor button:disabled,.band-live-piece:disabled{cursor:default;opacity:.55}
.band-tabs{display:flex;gap:.5rem;margin:1rem 0}
.band-tabs button,.band-actions button,.band-actions a,.band-attendance button{border:1px solid var(--band-green);border-radius:999px;padding:.7rem 1rem;background:var(--band-surface);color:var(--band-green);font:inherit;text-decoration:none;cursor:pointer}
.band-tabs button{position:relative}
.band-tabs button.is-active,.band-attendance button.is-selected,.band-actions button{background:var(--band-green);color:var(--band-surface)}
.band-tab-count{display:inline-grid;min-width:1.35rem;height:1.35rem;margin-left:.3rem;padding:0 .2rem;box-sizing:border-box;place-items:center;border-radius:999px;background:var(--band-lime);color:var(--band-ink);font-size:.7rem;font-weight:800;line-height:1}
.band-tab-tooltip{box-sizing:border-box;position:absolute;z-index:80;top:calc(100% + .55rem);left:50%;width:max-content;max-width:min(260px,calc(100vw - 2rem));visibility:hidden;border-radius:8px;padding:.5rem .65rem;background:var(--band-ink);color:var(--band-surface);box-shadow:0 8px 22px var(--band-shadow-soft);font-size:.7rem;font-weight:650;line-height:1.35;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}
.band-tabs button:first-child .band-tab-tooltip{left:0;transform:translateY(-4px)}
.band-tabs button:last-child .band-tab-tooltip{right:0;left:auto;transform:translateY(-4px)}
.band-tabs button:focus-visible .band-tab-tooltip{visibility:visible;opacity:1;transform:translate(-50%,0)}
.band-tabs button:first-child:focus-visible .band-tab-tooltip,.band-tabs button:last-child:focus-visible .band-tab-tooltip{transform:translateY(0)}
@media(hover:hover){.band-tabs button:hover .band-tab-tooltip{visibility:visible;opacity:1;transform:translate(-50%,0)}.band-tabs button:first-child:hover .band-tab-tooltip,.band-tabs button:last-child:hover .band-tab-tooltip{transform:translateY(0)}}
.band-event{margin:1rem 0;padding:1.4rem;border:1px solid var(--band-line);border-radius:18px;background:var(--band-surface)}.band-event.is-live{border-color:var(--band-warning);box-shadow:0 0 0 2px var(--band-warning-ring)}
.band-event-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.band-event-tools{display:flex;align-items:flex-start;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.band-event-edit{border:1px solid var(--band-green);border-radius:999px;padding:.55rem .8rem;background:var(--band-surface);color:var(--band-green);font-size:.75rem;font-weight:800;text-decoration:none;white-space:nowrap}.band-live-conductor{display:flex;justify-content:flex-end}.band-live-conductor [data-band-live-control]{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;color:var(--band-warning-text);font-size:.78rem}.band-live-conductor [data-band-live-control][hidden]{display:none}.band-live-conductor [data-band-live-control] strong{display:inline-block;padding:.18rem .38rem;border-radius:5px;background:var(--band-danger);color:var(--band-surface);font-size:.68rem;letter-spacing:.06em}
.band-live-conductor [data-band-live-browse]{background:var(--band-green);color:var(--band-surface)}.band-live-conductor [data-band-live-stop]{border-color:var(--band-danger);color:var(--band-danger-text)}
.band-event-recordings{border:1px solid var(--band-green);border-radius:999px;padding:.5rem .7rem;background:var(--band-surface);color:var(--band-green);font:inherit;font-size:.74rem;font-weight:800;cursor:pointer}
.band-event h3,.band-piece h3{margin:.35rem 0}
.band-badge{display:inline-block;padding:.25rem .55rem;border-radius:6px;background:var(--band-lime);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.band-setlist{padding-left:1.5rem}
.band-setlist li{padding:.35rem 0;border-bottom:1px solid var(--band-line)}
.band-setlist li.is-live-current{margin:0 -.55rem;padding:.35rem .55rem;border-radius:8px;background:var(--band-warning-tint)}.band-setlist-row{display:flex;align-items:center;gap:.6rem}.band-setlist-link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;border:0;padding:.45rem 0;background:transparent;color:var(--band-green);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.band-live-piece{display:none;flex:0 0 auto;border-color:var(--band-warning);color:var(--band-warning-text)}.band-event.is-live .band-live-piece{display:block}.band-setlist li.is-live-current .band-live-piece{background:var(--band-danger);border-color:var(--band-danger);color:var(--band-surface)}.band-setlist li.is-live-current .band-live-piece:before{content:"● ";font-size:.62rem}
.band-live-picker{position:fixed;z-index:2147482990;inset:0;display:grid;place-items:center;padding:1rem;background:var(--band-overlay);font-family:system-ui,-apple-system,sans-serif}.band-live-picker[hidden]{display:none}.band-live-picker-card{position:relative;box-sizing:border-box;width:min(680px,100%);max-height:min(760px,calc(100dvh - 2rem));overflow:hidden;padding:1.25rem;border-radius:20px;background:var(--band-surface);color:var(--band-ink);box-shadow:0 24px 70px var(--band-shadow-dialog)}.band-live-picker-card h2{margin:.25rem 2.5rem .35rem 0;font-size:1.55rem}.band-live-picker-card>p:not(.band-kicker):not(.band-live-picker-status){margin:.25rem 2.5rem 1rem 0;color:var(--band-muted)}.band-live-picker-card>label span{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:800}.band-live-picker-card>label input{box-sizing:border-box;width:100%;border:1px solid var(--band-field-border);border-radius:11px;padding:.75rem .85rem;background:var(--band-surface);color:var(--band-ink);font:inherit}.band-live-picker-close{position:absolute;top:.7rem;right:.8rem;border:0;background:transparent;color:var(--band-ink);font-size:2rem;line-height:1;cursor:pointer}.band-live-picker-status{margin:.65rem 0;color:var(--band-muted);font-size:.76rem}.band-live-picker-results{display:grid;max-height:min(500px,55dvh);overflow:auto;gap:.45rem;padding-right:.2rem}.band-live-picker-piece{display:grid;gap:.28rem;width:100%;border:1px solid var(--band-line);border-radius:11px;padding:.7rem .8rem;background:var(--band-tint);color:var(--band-ink);font:inherit;text-align:left;cursor:pointer}.band-live-picker-piece:hover:not(:disabled),.band-live-picker-piece:focus-visible{border-color:var(--band-green);background:var(--band-tint)}.band-live-picker-piece:disabled{cursor:not-allowed;opacity:.55}.band-live-picker-piece>span:first-child{display:flex;align-items:center;gap:.5rem}.band-live-picker-piece strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-live-picker-piece small{margin-left:auto;padding:.18rem .42rem;border-radius:999px;background:var(--band-paper);color:var(--band-muted);font-size:.62rem;font-weight:850;white-space:nowrap}.band-live-picker-piece small.is-current{background:var(--band-danger);color:var(--band-surface)}.band-live-picker-piece>span:nth-child(2){color:var(--band-muted);font-size:.72rem}.band-live-picker-piece em{color:var(--band-warning-text);font-size:.7rem;font-style:normal}
.band-setlist-link:hover,.band-setlist-link:focus-visible{text-decoration:underline}
.band-setlist-link span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.band-attendance{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.band-library-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:.8rem;align-items:end;margin:1.5rem 0}
.band-library-filters>label:only-child{grid-column:1/-1}
.band-search,.band-collection-filter{display:block;margin:0}
.band-search span{display:block;font-weight:700;margin-bottom:.4rem}
.band-collection-filter span{display:block;font-weight:700;margin-bottom:.4rem}
.band-search input,.band-collection-filter select{box-sizing:border-box;width:100%;padding:.9rem 1rem;border:1px solid var(--band-line);border-radius:12px;background:var(--band-surface);font:inherit}
.band-grid{display:grid;gap:.7rem}
.band-library-status{margin:.8rem 0;color:var(--band-muted)}.band-library-more{display:block;margin:1rem auto 0;border:1px solid var(--band-green);border-radius:999px;padding:.75rem 1.2rem;background:var(--band-surface);color:var(--band-green);font:inherit;font-weight:800;cursor:pointer}.band-library-more[hidden]{display:none}
.band-piece{display:flex;align-items:stretch;flex-direction:column;gap:.7rem;padding:1rem 1.2rem;border:1px solid var(--band-line);border-radius:14px;background:var(--band-surface)}
.band-piece[hidden],.band-manager-piece-list>label[hidden]{display:none!important}
.band-piece-main{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.band-piece-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.band-piece-heading h3{margin:.35rem 0}.band-media-badge{box-sizing:border-box;display:inline-flex;width:4.8rem;height:1.5rem;align-items:center;justify-content:center;gap:.24rem;border:1px solid;border-radius:999px;padding:.18rem .38rem;font-size:.62rem;font-weight:900;line-height:1;letter-spacing:.04em;text-decoration:none;white-space:nowrap}.band-media-badge svg{width:.82rem;height:.82rem;flex:0 0 auto;fill:currentColor}.band-midi-badge{border-color:var(--band-green);background:var(--band-tint);color:var(--band-green)}.band-youtube-badge{border-color:var(--band-youtube);background:var(--band-surface);color:var(--band-youtube)}.band-youtube-badge svg{width:.9rem;height:.9rem}
.band-media-strip{display:inline-flex;align-items:center;gap:.3rem}.band-portal .band-media-strip>.band-media-icon,.band-reader .band-reader-media-strip>.band-media-icon{-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;position:relative!important;display:grid!important;width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;margin:0!important;overflow:hidden!important;flex:0 0 2rem!important;align-items:center!important;justify-items:center!important;border:1px solid var(--band-line)!important;border-radius:999px!important;padding:.38rem!important;background:var(--band-paper)!important;color:var(--band-muted)!important;font-size:0!important;line-height:0!important;text-indent:0!important;text-transform:none!important;vertical-align:middle!important;box-shadow:none!important;transform:none!important;cursor:default}.band-portal .band-media-icon>svg,.band-reader .band-media-icon>svg{box-sizing:content-box!important;display:block!important;width:1.1rem!important;height:1.1rem!important;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;margin:0!important;overflow:visible!important;padding:0!important;fill:currentColor!important;stroke:none!important;opacity:1!important;transform:none!important}.band-portal .band-media-icon>svg path,.band-reader .band-media-icon>svg path{fill:currentColor!important;stroke:none!important}.band-media-icon.is-available{cursor:pointer!important}.band-media-icon.is-available:hover,.band-media-icon.is-available:focus-visible{outline:2px solid currentColor!important;outline-offset:2px}.band-portal .band-media-icon:disabled,.band-reader .band-media-icon:disabled{border-color:var(--band-line)!important;background:var(--band-paper)!important;color:var(--band-muted)!important;opacity:1!important}.band-media-icon:disabled svg{opacity:.42!important}.band-portal .band-youtube-badge.is-available,.band-reader .band-youtube-badge.is-available{border-color:var(--band-youtube)!important;background:var(--band-surface)!important;color:var(--band-youtube)!important}.band-portal .band-midi-badge.is-available,.band-reader .band-midi-badge.is-available{border-color:var(--band-green)!important;background:var(--band-tint)!important;color:var(--band-green)!important}.band-portal .band-mp3-badge.is-available,.band-reader .band-mp3-badge.is-available{border-color:var(--band-warning)!important;background:var(--band-warning-tint)!important;color:var(--band-warning-text)!important}
.band-reader-media-strip{display:inline-flex;align-items:center;gap:.25rem;flex:0 0 auto}.band-reader .band-reader-media-strip>.band-media-icon{width:1.85rem!important;height:1.85rem!important;min-width:1.85rem!important;min-height:1.85rem!important;flex-basis:1.85rem!important;padding:.34rem!important}.band-reader-bar>.band-playalong,.band-reader-bar>.band-midi-playalong,.band-reader-bar>.band-mp3-playalong{display:none!important}
.band-piece p{margin:.25rem 0;color:var(--band-muted)}
.band-piece .band-piece-credits{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:.15rem 0 .35rem;color:var(--band-muted);font-size:.9rem}
.band-piece .band-catalog-note{margin:.45rem 0;padding:.55rem .7rem;border-left:4px solid var(--band-warning);border-radius:6px;background:var(--band-warning-tint);color:var(--band-warning-text);font-size:.84rem}
.band-collection-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0}.band-collection-badges span{padding:.2rem .5rem;border-radius:999px;background:var(--band-paper);color:var(--band-green);font-size:.72rem;font-weight:800}
.band-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}
.band-history{border-top:1px solid var(--band-line);padding-top:.65rem}.band-history summary{color:var(--band-green);font-weight:800;cursor:pointer}.band-history summary span{display:inline-grid;min-width:1.5rem;height:1.5rem;margin-left:.3rem;place-items:center;border-radius:999px;background:var(--band-lime);font-size:.75rem}.band-history ul{list-style:none;margin:.8rem 0 0;padding:0}.band-history li{display:grid;grid-template-columns:110px 75px minmax(120px,1fr) auto;gap:.6rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--band-line);font-size:.86rem}.band-history-type{font-weight:800}.band-history small{color:var(--band-muted)}
.band-empty,.band-notice{padding:1.5rem;border-radius:14px;background:var(--band-paper)}
.band-management{display:grid;gap:1rem;margin-top:1rem}.band-management-head{padding:1.5rem 1.7rem;border-radius:18px;background:var(--band-tint)}.band-management-head h2{margin:.25rem 0;font-size:clamp(1.65rem,4vw,2.5rem)}.band-management-head p:last-child{margin:.4rem 0 0;color:var(--band-muted)}.band-save-message{margin:0;padding:.9rem 1rem;border-left:4px solid var(--band-success);border-radius:10px;background:var(--band-success-tint);font-weight:700}.band-manager-card{overflow:hidden;border:1px solid var(--band-line);border-radius:18px;background:var(--band-surface)}.band-manager-card>summary{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.3rem;cursor:pointer;list-style:none}.band-manager-card>summary::-webkit-details-marker{display:none}.band-manager-card>summary:after{content:"＋";margin-left:auto;color:var(--band-green);font-size:1.5rem}.band-manager-card[open]>summary:after{content:"−"}.band-manager-card summary strong,.band-manager-card summary small{display:block}.band-manager-card summary small{margin-top:.15rem;color:var(--band-muted)}.band-manager-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:12px;background:var(--band-lime);font-size:1.25rem;font-weight:800}.band-manager-form{display:grid;gap:1rem;padding:0 1.3rem 1.4rem;border-top:1px solid var(--band-line)}.band-manager-form>label:first-of-type,.band-manager-form>.band-form-grid:first-of-type{margin-top:1.2rem}.band-manager-form label>span,.band-manager-form legend{display:block;margin-bottom:.35rem;font-weight:800}.band-manager-form input,.band-manager-form select,.band-manager-form textarea{box-sizing:border-box;width:100%;border:1px solid var(--band-field-border);border-radius:10px;padding:.75rem .8rem;background:var(--band-surface);color:var(--band-ink);font:inherit}.band-manager-form textarea{resize:vertical}.band-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.band-form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.band-file-drop{padding:1rem;border:1px dashed var(--band-field-border);border-radius:12px;background:var(--band-tint)}.band-file-drop small{display:block;margin-top:.4rem;color:var(--band-muted)}.band-piece-picker{display:grid;gap:.65rem}.band-manager-piece-list{max-height:340px;overflow:auto;border:1px solid var(--band-line);border-radius:12px;background:var(--band-tint)}.band-manager-piece-list>label{display:grid;grid-template-columns:auto 1fr;gap:.1rem .6rem;padding:.65rem .8rem;border-bottom:1px solid var(--band-line);cursor:pointer}.band-manager-piece-list>label:hover{background:var(--band-tint)}.band-manager-piece-list input{width:auto;margin-top:.2rem}.band-manager-piece-list small{grid-column:2;color:var(--band-warning-text)}.band-manager-form fieldset{margin:0;padding:0;border:0}.band-manager-collections{display:flex;flex-wrap:wrap;gap:.5rem}.band-manager-collections label{padding:.55rem .75rem;border-radius:999px;background:var(--band-paper)}.band-manager-collections input{width:auto}.band-manager-submit{justify-self:start;border:0;border-radius:999px;padding:.8rem 1.25rem;background:var(--band-green);color:var(--band-surface);font:inherit;font-weight:800;cursor:pointer}
.band-manager-piece-status{margin:0;padding:1rem;color:var(--band-muted)}.band-manager-piece-hint{color:var(--band-muted)}.band-manager-submit-row{display:flex;align-items:center;gap:.8rem}.band-manager-submit-row>a{color:var(--band-green);font-weight:800;text-decoration:none}
.band-library-health{padding:1.25rem;border-top:1px solid var(--band-line);background:var(--band-tint)}.band-health-loading{padding:1rem;border-radius:12px;background:var(--band-paper);color:var(--band-muted);font-weight:700}.band-health-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.band-health-topline p{margin:0;color:var(--band-muted);font-size:.78rem}.band-health-topline button,.band-health-more{border:1px solid var(--band-green);border-radius:999px;padding:.55rem .8rem;background:var(--band-surface);color:var(--band-green);font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.band-health-topline button:disabled{cursor:default;opacity:.55}.band-health-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1rem 0}.band-health-summary>div{padding:.85rem;border:1px solid var(--band-line);border-radius:12px;background:var(--band-surface)}.band-health-summary strong,.band-health-summary span{display:block}.band-health-summary strong{font-size:1.65rem;line-height:1}.band-health-summary span{margin-top:.35rem;color:var(--band-muted);font-size:.72rem;font-weight:700}.band-health-summary .is-good{border-color:var(--band-success);background:var(--band-success-tint)}.band-health-summary .is-warning{border-color:var(--band-warning);background:var(--band-warning-tint)}.band-health-summary .is-critical{border-color:var(--band-danger-border);background:var(--band-danger-tint)}.band-health-section{margin-top:1rem;padding:1rem;border:1px solid var(--band-line);border-radius:14px;background:var(--band-surface)}.band-health-section h3{margin:0;font-size:1rem}.band-health-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.band-health-section-head p{margin:.2rem 0 0;color:var(--band-muted);font-size:.76rem}.band-health-completeness{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:.8rem}.band-health-meter>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:.35rem}.band-health-meter strong{font-size:.76rem}.band-health-meter span{color:var(--band-muted);font-size:.68rem;white-space:nowrap}.band-health-meter-track{overflow:hidden;height:8px;margin-top:.35rem;border-radius:999px;background:var(--band-line)}.band-health-meter-track span{display:block;height:100%;border-radius:inherit;background:var(--band-green)}.band-health-coverage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.8rem}.band-health-coverage>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .5rem;align-items:center;padding:.55rem .65rem;border-radius:9px;background:var(--band-tint)}.band-health-coverage strong{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.band-health-coverage span{color:var(--band-muted);font-size:.68rem}.band-health-coverage i{grid-column:1/-1;display:block;overflow:hidden;height:5px;border-radius:999px;background:var(--band-line)}.band-health-coverage b{display:block;height:100%;border-radius:inherit;background:var(--band-success)}.band-health-filters{display:flex;gap:.45rem}.band-health-filters input,.band-health-filters select{box-sizing:border-box;max-width:210px;border:1px solid var(--band-field-border);border-radius:9px;padding:.55rem .65rem;background:var(--band-surface);color:var(--band-ink);font:inherit;font-size:.75rem}.band-health-issue-list{display:grid;gap:.55rem;margin-top:.85rem}.band-health-issue{padding:.7rem .8rem;border-left:4px solid var(--band-muted);border-radius:8px;background:var(--band-tint)}.band-health-issue.is-warning{border-left-color:var(--band-warning);background:var(--band-warning-tint)}.band-health-issue.is-critical{border-left-color:var(--band-danger);background:var(--band-danger-tint)}.band-health-issue-heading{display:flex;align-items:center;gap:.5rem}.band-health-issue-heading>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-health-issue-heading>a{margin-left:auto;color:var(--band-green);font-size:.72rem;font-weight:800;text-decoration:none;white-space:nowrap}.band-health-severity{padding:.18rem .38rem;border-radius:999px;background:var(--band-line);color:var(--band-muted);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.band-health-severity.is-warning{background:var(--band-warning-soft);color:var(--band-warning-text)}.band-health-severity.is-critical{background:var(--band-danger);color:var(--band-surface)}.band-health-issue ul{display:flex;flex-wrap:wrap;gap:.25rem .8rem;margin:.45rem 0 0;padding:0;list-style:none}.band-health-issue li{color:var(--band-muted);font-size:.72rem}.band-health-issue li:before{content:"•";margin-right:.3rem}.band-health-issue li.is-critical{color:var(--band-danger-text);font-weight:700}.band-health-empty{margin:.2rem 0;color:var(--band-muted)}.band-health-more{display:block;margin:.8rem auto 0}.band-health-more[hidden]{display:none}
.band-install{position:fixed;z-index:999998;inset:0;display:grid;place-items:center;padding:1rem;background:var(--band-overlay-soft);font-family:system-ui,-apple-system,sans-serif}
.band-install[hidden]{display:none}
.band-install-card{box-sizing:border-box;width:min(430px,100%);padding:1.6rem;border-radius:22px;background:var(--band-surface);color:var(--band-ink);text-align:center;box-shadow:0 24px 70px var(--band-shadow-medium)}
.band-install-icon img{width:82px;height:82px;border-radius:18px}
.band-install-card h2{margin:.7rem 0 .45rem;font-size:1.65rem}
.band-install-card p{margin:.5rem 0 1rem}
.band-install-guide{padding:.8rem;border-radius:12px;background:var(--band-paper)}
.band-install-guide[hidden]{display:none}
.band-install-guide p{margin:0}
.band-install-actions{display:flex;justify-content:center;gap:.6rem;margin-top:1.2rem}
.band-install-actions button{border:1px solid var(--band-green);border-radius:999px;padding:.75rem 1rem;background:var(--band-surface);color:var(--band-green);font:inherit;font-weight:700;cursor:pointer}
.band-install-actions .band-install-primary{background:var(--band-green);color:var(--band-surface)}
.band-reader[hidden]{display:none}
.band-reader{box-sizing:border-box;position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100vh!important;height:100dvh!important;margin:0!important;padding:0!important;background:var(--band-reader-bg)}
.band-reader-bar{position:absolute;z-index:20;top:0;left:0;right:0;box-sizing:border-box;height:52px;display:flex;align-items:center;gap:.65rem;padding:0 1rem;overflow-x:auto;overflow-y:hidden;background:var(--band-overlay-strong);color:var(--band-surface);pointer-events:auto;isolation:isolate;scrollbar-width:none}.band-reader-bar::-webkit-scrollbar{display:none}
.band-reader-bar strong{min-width:70px;overflow:hidden;flex:1 1 190px;text-overflow:ellipsis;white-space:nowrap}
.band-reader-part-wrap[hidden]{display:none}.band-reader-part-wrap{position:relative;z-index:22;min-width:135px;max-width:240px;flex:0 1 240px;pointer-events:auto}.band-reader-part-wrap select{box-sizing:border-box;position:relative;z-index:23;width:100%;max-width:240px;border:1px solid var(--band-surface-border-strong);border-radius:8px;padding:.35rem .5rem;background:var(--band-surface);color:var(--band-ink);font:inherit;font-size:.78rem;pointer-events:auto}
.band-reader-bar>span{margin-left:0}.band-reader-bar>[data-band-page-label]{margin-left:auto}
.band-reader-bar .band-reader-source{margin-left:0;padding:.2rem .45rem;border:1px solid var(--band-surface-border-mid);border-radius:999px;color:var(--band-warning-soft);font-size:.65rem;font-weight:800}.band-reader-bar .band-reader-source.is-local{border-color:var(--band-lime);color:var(--band-lime)}
.band-reader-bar .band-reader-live{margin-left:0;padding:.2rem .42rem;border-radius:5px;background:var(--band-danger);color:var(--band-surface);font-size:.62rem;font-weight:900;letter-spacing:.06em}.band-reader-bar .band-reader-live[hidden]{display:none}
.band-reader-bar button{box-sizing:border-box;min-width:0;min-height:0;border:0;background:transparent;color:var(--band-surface);font-size:2rem;line-height:1.15;white-space:nowrap;cursor:pointer}
.band-pdf-scroll{position:absolute;z-index:1;inset:52px 0 0;overflow:auto;padding:12px;box-sizing:border-box;background:var(--band-reader-canvas);overscroll-behavior:contain}.band-pdf-scroll[hidden]{display:none}.band-pdf-stage{position:relative;margin:0 auto;background:var(--band-surface);box-shadow:0 2px 16px var(--band-shadow)}.band-pdf-stage[hidden]{display:none}.band-pdf-stage canvas{display:block;width:100%;height:100%;background:var(--band-surface)}.band-reader iframe.band-pdf-fallback{position:absolute;z-index:1;inset:52px 0 0;width:100%;height:calc(100% - 52px);border:0;background:var(--band-reader-canvas)}.band-reader iframe.band-pdf-fallback[hidden]{display:none}
.band-annotation-layer{position:absolute;z-index:4;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.band-reader.is-annotating .band-pdf-scroll{z-index:4}.band-reader.is-annotating .band-annotation-layer{pointer-events:auto;cursor:crosshair;touch-action:none}.band-annotation-tools{position:absolute;z-index:7;top:60px;left:50%;display:flex;max-width:calc(100% - 24px);align-items:center;gap:.35rem;padding:.4rem;border-radius:999px;background:var(--band-overlay-near);color:var(--band-surface);transform:translateX(-50%);box-shadow:0 5px 18px var(--band-shadow-medium)}.band-annotation-tools[hidden]{display:none}.band-annotation-tools button{border:1px solid var(--band-surface-half);border-radius:999px;padding:.4rem .65rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;font-weight:750;white-space:nowrap;cursor:pointer}.band-annotation-tools button.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-annotation-tools span{margin:0 .4rem 0 .2rem;font-size:.68rem;white-space:nowrap}.band-reader-bar .band-annotate-toggle.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-reader-bar .band-annotate-toggle:disabled{cursor:default;opacity:.45}
.band-tap{position:absolute;z-index:3;top:52px;bottom:0;width:22%;border:0;background:transparent;pointer-events:none}
.band-prev{left:0}
.band-next{right:0}
.band-reader-open{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}
.band-reader-bar span{white-space:nowrap}
.band-reader-bar .band-reader-tool{position:relative;z-index:22;flex:0 0 auto;border:1px solid var(--band-surface-border-strong);border-radius:999px;padding:.4rem .7rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.8rem;line-height:1.15;white-space:nowrap;pointer-events:auto}
.band-reader-bar .band-reader-tool.band-reader-rotate{min-width:2rem;padding:.25rem .5rem;font-size:1.1rem;line-height:1}.band-reader-bar .band-reader-rotate:disabled{cursor:default;opacity:.45}
.band-reader-zoom{position:relative;z-index:22;display:flex;flex:0 0 auto;align-items:center;border:1px solid var(--band-surface-border-strong);border-radius:999px;overflow:hidden;pointer-events:auto}.band-reader-bar .band-reader-zoom button{display:grid;min-width:27px;height:28px;padding:0 .35rem;place-items:center;border-radius:0;color:var(--band-surface);font:inherit;font-size:.8rem;line-height:1}.band-reader-bar .band-reader-zoom button+button{border-left:1px solid var(--band-surface-border-mid)}.band-reader-bar .band-reader-zoom [data-band-zoom-reset]{min-width:48px;font-size:.68rem;font-variant-numeric:tabular-nums}.band-reader-bar .band-reader-zoom button:disabled{cursor:default;opacity:.4}
.band-reader-bar .band-reader-download{border-color:var(--band-lime);color:var(--band-lime);white-space:nowrap}.band-reader-bar .band-reader-download[hidden]{display:none}.band-reader-bar .band-reader-download.is-saved{border-color:var(--band-surface-border-strong);color:var(--band-surface)}.band-reader-bar .band-reader-download:disabled{cursor:default;opacity:.72}
.band-reader-bar .band-reader-close{position:sticky;right:0;flex:0 0 auto;border:0;background:var(--band-overlay-strong);color:var(--band-surface);font-size:2rem;line-height:1}
.band-reader.is-soft-fullscreen .band-reader-bar{height:44px;gap:.4rem;padding:0 .5rem}.band-reader.is-soft-fullscreen .band-reader-download,.band-reader.is-soft-fullscreen .band-reader-print,.band-reader.is-soft-fullscreen .band-reader-rotate,.band-reader.is-soft-fullscreen .band-tools-toggle,.band-reader.is-soft-fullscreen .band-playalong,.band-reader.is-soft-fullscreen .band-reader-live,.band-reader.is-soft-fullscreen .band-reader-source,.band-reader.is-soft-fullscreen [data-band-pair]{display:none!important}.band-reader.is-soft-fullscreen .band-reader-bar strong{max-width:18vw}.band-reader.is-soft-fullscreen .band-pdf-scroll{inset:44px 0 0;padding:4px}.band-reader.is-soft-fullscreen iframe.band-pdf-fallback{inset:44px 0 0;height:calc(100% - 44px)}.band-reader.is-soft-fullscreen .band-tap{top:44px}.band-reader.is-soft-fullscreen .band-annotation-tools,.band-reader.is-soft-fullscreen .band-practice-panel,.band-reader.is-soft-fullscreen .band-midi-panel,.band-reader.is-soft-fullscreen .band-mp3-panel{top:48px}.band-reader.is-soft-fullscreen .band-pairing{inset:44px 0 0}
.band-playalong{display:flex;align-items:center;gap:.3rem;flex:0 0 auto}.band-playalong[hidden]{display:none}.band-playalong button{border:1px solid var(--band-surface-border-strong);border-radius:999px;padding:.3rem .5rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;cursor:pointer}.band-playalong button:disabled{cursor:default;opacity:.45}.band-playalong>button[data-band-play]{display:grid;width:32px;height:32px;padding:0;place-items:center}.band-playalong .band-practice-toggle{display:flex;align-items:center;gap:.28rem}.band-playalong .band-practice-toggle.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-playalong span{min-width:0;margin:0;font-size:.72rem}.band-playalong [data-band-play-time]{min-width:2.5rem}.band-playalong [data-band-youtube-host]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.band-midi-playalong{display:flex;align-items:center;gap:.3rem;flex:0 0 auto}.band-midi-playalong[hidden]{display:none}.band-midi-playalong button{border:1px solid var(--band-surface-border-strong);border-radius:999px;padding:.3rem .5rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;cursor:pointer}.band-midi-playalong button:disabled{cursor:default;opacity:.45}.band-midi-playalong>button[data-band-midi-play]{display:grid;width:32px;height:32px;padding:0;place-items:center}.band-midi-playalong .band-midi-toggle{display:flex;align-items:center;gap:.28rem}.band-midi-playalong .band-midi-toggle.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-midi-playalong span{min-width:0;margin:0;font-size:.72rem}.band-midi-playalong [data-band-midi-time]{min-width:2.5rem}
.band-mp3-playalong{display:flex;align-items:center;gap:.3rem;flex:0 0 auto}.band-mp3-playalong[hidden]{display:none}.band-mp3-playalong button{border:1px solid var(--band-surface-border-strong);border-radius:999px;padding:.3rem .5rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;cursor:pointer}.band-mp3-playalong button:disabled{cursor:default;opacity:.45}.band-mp3-playalong>button[data-band-mp3-play]{display:grid;width:32px;height:32px;padding:0;place-items:center}.band-mp3-playalong .band-mp3-toggle{display:flex;align-items:center;gap:.28rem}.band-mp3-playalong .band-mp3-toggle.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-mp3-playalong span{min-width:0;margin:0;font-size:.72rem}.band-mp3-playalong [data-band-mp3-time]{min-width:2.5rem}
.band-practice-panel{box-sizing:border-box;position:absolute;z-index:19;top:60px;left:50%;display:grid;width:min(760px,calc(100% - 24px));gap:.65rem;padding:.75rem;border:1px solid var(--band-surface-wash);border-radius:14px;background:var(--band-overlay-strong);color:var(--band-surface);transform:translateX(-50%);box-shadow:0 6px 24px var(--band-shadow)}.band-practice-panel[hidden]{display:none}.band-practice-seek{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:.6rem}.band-practice-panel button,.band-practice-panel select{border:1px solid var(--band-surface-half);border-radius:999px;padding:.38rem .65rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;font-weight:750;white-space:nowrap;cursor:pointer}.band-practice-panel select{border-radius:7px;padding:.25rem .35rem;background:var(--band-surface);color:var(--band-ink)}.band-practice-panel button:disabled,.band-practice-panel select:disabled,.band-practice-panel input:disabled{cursor:default;opacity:.45}.band-practice-panel input[type=range]{min-width:0;margin:0;accent-color:var(--band-lime)}.band-practice-options{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.band-practice-options>span{min-width:7.5rem;margin:0;font-size:.76rem;font-variant-numeric:tabular-nums}.band-practice-options label{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:750}.band-practice-volume{flex:1}.band-practice-volume input{width:clamp(110px,22vw,210px)}.band-practice-loop{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.band-practice-loop strong{margin-right:.2rem;font-size:.76rem}.band-practice-loop>span{min-width:0;margin:0 0 0 auto;font-size:.7rem;color:var(--band-on-dark-muted)}.band-practice-panel>small{font-size:.66rem;color:var(--band-on-dark-muted)}
.band-midi-panel{box-sizing:border-box;position:absolute;z-index:20;top:60px;left:50%;display:grid;width:min(760px,calc(100% - 24px));gap:.65rem;padding:.75rem;border:1px solid var(--band-surface-wash);border-radius:14px;background:var(--band-overlay-strong);color:var(--band-surface);transform:translateX(-50%);box-shadow:0 6px 24px var(--band-shadow)}.band-midi-panel[hidden]{display:none}.band-midi-panel button,.band-midi-panel select{border:1px solid var(--band-surface-half);border-radius:999px;padding:.38rem .65rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;font-weight:750;white-space:nowrap;cursor:pointer}.band-midi-panel select{border-radius:7px;padding:.25rem .35rem;background:var(--band-surface);color:var(--band-ink)}.band-midi-panel button:disabled,.band-midi-panel select:disabled,.band-midi-panel input:disabled{cursor:default;opacity:.45}.band-midi-panel button.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-midi-panel input[type=range]{min-width:0;margin:0;accent-color:var(--band-lime)}.band-midi-mix{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.band-midi-mix strong{margin-right:.25rem;font-size:.76rem}.band-midi-status{margin:0;color:var(--band-on-dark-muted);font-size:.7rem}.band-midi-panel>small{font-size:.66rem;color:var(--band-on-dark-muted)}
.band-mp3-panel{box-sizing:border-box;position:absolute;z-index:21;top:60px;left:50%;display:grid;width:min(760px,calc(100% - 24px));gap:.65rem;padding:.75rem;border:1px solid var(--band-surface-wash);border-radius:14px;background:var(--band-overlay-strong);color:var(--band-surface);transform:translateX(-50%);box-shadow:0 6px 24px var(--band-shadow)}.band-mp3-panel[hidden],.band-mp3-panel audio{display:none}.band-mp3-seek{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:.6rem}.band-mp3-panel button,.band-mp3-panel select{border:1px solid var(--band-surface-half);border-radius:999px;padding:.38rem .65rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;font-weight:750;white-space:nowrap;cursor:pointer}.band-mp3-panel select{border-radius:7px;padding:.25rem .35rem;background:var(--band-surface);color:var(--band-ink)}.band-mp3-panel button:disabled,.band-mp3-panel select:disabled,.band-mp3-panel input:disabled{cursor:default;opacity:.45}.band-mp3-panel input[type=range]{min-width:0;margin:0;accent-color:var(--band-lime)}.band-mp3-options{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.band-mp3-options>span{min-width:7.5rem;margin:0;font-size:.76rem;font-variant-numeric:tabular-nums}.band-mp3-options label{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:750}.band-mp3-volume{flex:1}.band-mp3-volume input{width:clamp(110px,22vw,210px)}.band-mp3-loop{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.band-mp3-loop strong{margin-right:.2rem;font-size:.76rem}.band-mp3-loop>span{min-width:0;margin:0 0 0 auto;font-size:.7rem;color:var(--band-on-dark-muted)}.band-mp3-status{margin:0;color:var(--band-on-dark-muted);font-size:.7rem}.band-mp3-panel>small{font-size:.66rem;color:var(--band-on-dark-muted)}
.band-pairing{position:absolute;z-index:8;inset:52px 0 0;display:grid;place-items:center;padding:1rem;background:var(--band-shadow-strong)}
.band-pairing[hidden]{display:none}
.band-pair-card{position:relative;width:min(390px,100%);padding:1.5rem;border-radius:18px;background:var(--band-surface);color:var(--band-ink);text-align:center}
.band-pair-card h3{margin:.2rem 2rem .5rem}
.band-pair-close{position:absolute;right:.7rem;top:.5rem;border:0;background:transparent;font-size:1.8rem;cursor:pointer}
.band-qr{display:grid;place-items:center;min-height:220px;margin:1rem}
.band-qr svg{display:block;width:min(260px,100%);height:auto}
.band-pair-status{font-weight:700}
.band-pair-card a{color:var(--band-green)}
.band-remote-controller{box-sizing:border-box;display:flex;min-height:100dvh;max-width:680px;margin:auto;padding:1.4rem;flex-direction:column;background:var(--band-green);color:var(--band-surface);font-family:system-ui,-apple-system,sans-serif;text-align:center}
.band-remote-controller h1{margin:.3rem 0}
.band-remote-next{display:flex;min-height:55dvh;margin:auto 0 1rem;align-items:center;justify-content:center;flex-direction:column;border:0;border-radius:28px;background:var(--band-lime);color:var(--band-ink);font:inherit;font-size:clamp(2rem,10vw,4rem);font-weight:800;touch-action:manipulation}
.band-remote-next small{margin-top:1rem;font-size:1rem;font-weight:500}
.band-remote-prev{padding:1rem;border:1px solid var(--band-surface);border-radius:999px;background:transparent;color:var(--band-surface);font:inherit;font-weight:700;touch-action:manipulation}
.band-remote-controller button:disabled{opacity:.7}
@media(max-width:1400px){.band-reader-bar{gap:.45rem;padding:0 .65rem}.band-reader-bar strong{max-width:18vw}.band-reader-part-wrap{max-width:190px}.band-reader-part-wrap select{max-width:190px}.band-reader-bar .band-reader-source{display:none}.band-reader-bar .band-reader-tool{padding:.35rem .52rem;font-size:.72rem}.band-playalong .band-practice-toggle b,.band-midi-playalong .band-midi-toggle b,.band-mp3-playalong .band-mp3-toggle b{display:none}.band-midi-playalong>[data-band-midi-rewind],.band-mp3-playalong>[data-band-mp3-rewind]{display:none}}
@media(max-width:900px){.band-reader-bar .band-reader-source{display:none}}
@media(max-width:767px),(max-height:500px) and (pointer:coarse){.band-portal{display:flex;flex-direction:column}.band-hero{order:0}.band-profile-prompt{order:1}.band-live-panel{order:2}.band-tabs{order:3}.band-portal>[data-band-panel]{min-width:0;order:4}.band-offline{order:5;margin-top:2rem}}
@media(max-width:650px){.band-hero{align-items:stretch;flex-direction:column;padding:1.3rem}
.band-live-panel{grid-template-columns:auto 1fr}.band-live-actions{grid-column:1/-1;justify-content:stretch}.band-live-actions button{flex:1}.band-event-heading{flex-direction:column}.band-event-tools{width:100%;align-items:stretch;flex-direction:column}.band-event-edit{text-align:center}.band-live-conductor{width:100%;justify-content:stretch}.band-live-conductor>[data-band-live-start]{width:100%}.band-live-conductor [data-band-live-control]{width:100%;justify-content:space-between}.band-live-conductor [data-band-live-control]>span{width:100%}.band-live-conductor [data-band-live-control] button{flex:1}.band-live-piece{padding:.48rem .65rem}.band-live-picker-card{padding:1rem}.band-live-picker-results{max-height:52dvh}
.band-offline{grid-template-columns:auto 1fr}.band-offline-actions{grid-column:1/-1;max-width:none;justify-content:stretch}.band-offline-actions button{flex:1}.band-offline-facts span{width:100%}.band-offline-facts span+span:before{content:none}
.band-form-grid{grid-template-columns:1fr}.band-manager-card>summary{padding:1rem}.band-manager-form{padding:0 1rem 1.2rem}.band-manager-submit{width:100%}.band-manager-submit-row{align-items:stretch;flex-direction:column}.band-manager-submit-row>a{text-align:center}.band-library-health{padding:.85rem}.band-health-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.band-health-summary>div:last-child{grid-column:1/-1}.band-health-completeness{grid-template-columns:1fr}.band-health-coverage{grid-template-columns:1fr 1fr}.band-health-section-head{align-items:stretch;flex-direction:column}.band-health-filters{width:100%;flex-direction:column}.band-health-filters input,.band-health-filters select{width:100%;max-width:none}.band-health-issue-heading{align-items:flex-start;flex-wrap:wrap}.band-health-issue-heading>a{width:100%;margin-left:0}
.band-library-filters{grid-template-columns:1fr}
.band-member-profile{min-width:0}
.band-piece-main{align-items:flex-start;flex-direction:column}
.band-actions{width:100%}
.band-actions>*{flex:1;text-align:center}
.band-attendance span{width:100%}
.band-setlist-link span{font-size:.68rem}
.band-history{width:100%}.band-history li{grid-template-columns:1fr 1fr}.band-history li>span:nth-child(3){grid-column:1/-1}.band-history small{text-align:right}
.band-reader-bar{gap:.4rem;padding:0 .55rem}
.band-reader-bar strong{max-width:25vw}
.band-reader-bar .band-reader-source{display:none}
.band-reader-bar .band-reader-tool{padding:.35rem .5rem;font-size:.68rem}
.band-reader-bar .band-reader-download{max-width:none;line-height:1.1;white-space:nowrap}
.band-annotation-tools{top:56px;overflow-x:auto;justify-content:flex-start;border-radius:12px}.band-annotation-tools span{display:none}
.band-playalong .band-practice-toggle b,.band-midi-playalong .band-midi-toggle b,.band-mp3-playalong .band-mp3-toggle b{display:none}.band-practice-panel,.band-midi-panel,.band-mp3-panel{top:56px;padding:.6rem}.band-practice-options,.band-mp3-options{align-items:stretch;gap:.55rem;flex-direction:column}.band-practice-options label,.band-mp3-options label{justify-content:space-between}.band-practice-volume input,.band-mp3-volume input{width:min(55vw,240px)}.band-practice-loop>span,.band-mp3-loop>span{width:100%;margin:.15rem 0 0}.band-practice-panel>small,.band-midi-panel>small,.band-mp3-panel>small{display:none}
}
@media(pointer:coarse){.band-tap{pointer-events:auto}}
.band-upload-guidance{margin-top:-.35rem;padding:.8rem .9rem;border-left:4px solid var(--band-green);border-radius:10px;background:var(--band-tint);color:var(--band-muted);font-size:.78rem;line-height:1.45}.band-upload-guidance strong{color:var(--band-ink)}.band-upload-guidance p{margin:.25rem 0}.band-upload-guidance a{color:var(--band-green);font-weight:800}
.band-manager-form .band-upload-builder{display:grid;gap:.9rem;padding:1rem;border:1px solid var(--band-line);border-radius:14px;background:var(--band-tint)}
.band-upload-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.band-upload-mode>label{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;padding:.8rem;border:1px solid var(--band-field-border);border-radius:11px;background:var(--band-surface);cursor:pointer}.band-upload-mode input{width:auto;margin-top:.2rem}.band-upload-mode strong,.band-upload-mode small{display:block}.band-upload-mode small{margin-top:.2rem;color:var(--band-muted);font-size:.72rem;font-weight:500}
.band-upload-panel{display:grid;gap:.8rem}.band-upload-panel[hidden]{display:none}.band-upload-panel .band-file-drop{background:var(--band-surface)}.band-upload-rows{display:grid;gap:.6rem}.band-upload-empty{margin:0;padding:.8rem;border-radius:9px;background:var(--band-paper);color:var(--band-muted);font-size:.78rem}
.band-upload-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(105px,1fr));gap:.55rem;align-items:end;padding:.7rem;border:1px solid var(--band-line);border-radius:10px;background:var(--band-surface)}.band-upload-row label>span{font-size:.72rem}.band-upload-row label>span small{color:var(--band-muted);font-weight:500}.band-upload-row input,.band-upload-row select{padding:.6rem .65rem}.band-upload-filename{min-width:0;align-self:center}.band-upload-filename strong,.band-upload-filename small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-upload-filename small{margin-top:.15rem;color:var(--band-muted);font-size:.7rem}
.band-combined-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.band-combined-heading small{color:var(--band-muted);font-size:.72rem}.band-combined-row{grid-template-columns:minmax(150px,1.2fr) minmax(120px,1fr) minmax(90px,.55fr) minmax(90px,.55fr) auto}.band-add-upload-row,.band-remove-upload-row{border:1px solid var(--band-green);background:var(--band-surface);color:var(--band-green);font:inherit;font-weight:800;cursor:pointer}.band-add-upload-row{justify-self:start;border-radius:999px;padding:.55rem .8rem}.band-remove-upload-row{width:38px;height:38px;border-color:var(--band-danger-border);border-radius:999px;color:var(--band-danger);font-size:1.25rem}.band-remove-upload-row:disabled{cursor:default;opacity:.35}.band-upload-error{margin:0;padding:.7rem;border-left:4px solid var(--band-danger);background:var(--band-danger-tint);color:var(--band-danger-text)}
@media(max-width:800px){.band-upload-mode{grid-template-columns:1fr}.band-upload-row,.band-combined-row{grid-template-columns:1fr 1fr}.band-upload-filename{grid-column:1/-1}.band-combined-row .band-remove-upload-row{grid-column:2;justify-self:end}.band-combined-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.band-upload-row,.band-combined-row{grid-template-columns:1fr}.band-upload-filename,.band-combined-row .band-remove-upload-row{grid-column:1}.band-combined-row .band-remove-upload-row{justify-self:end}}

/* Recordings archive and instrument-loan register. */
.band-tabs{flex-wrap:wrap}
.band-module-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0 1rem;padding:1.2rem 1.35rem;border-radius:18px;background:var(--band-tint)}.band-module-head h2{margin:.15rem 0;font-size:clamp(1.5rem,4vw,2.35rem)}.band-module-head p:not(.band-kicker){margin:.25rem 0;color:var(--band-muted)}.band-module-head>button,.band-recording-manage button,.band-instrument-actions button{border:1px solid var(--band-green);border-radius:999px;padding:.65rem .85rem;background:var(--band-surface);color:var(--band-green);font:inherit;font-size:.78rem;font-weight:800;white-space:nowrap;cursor:pointer}.band-module-head>button{background:var(--band-green);color:var(--band-surface)}
.band-recording-filters,.band-inventory-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));gap:.75rem;margin:1rem 0}.band-inventory-filters{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(130px,1fr))}.band-recording-filters label>span,.band-inventory-filters label>span{display:block;margin-bottom:.35rem;font-size:.76rem;font-weight:800}.band-recording-filters input,.band-recording-filters select,.band-inventory-filters input,.band-inventory-filters select{box-sizing:border-box;width:100%;border:1px solid var(--band-field-border);border-radius:10px;padding:.7rem .8rem;background:var(--band-surface);color:var(--band-ink);font:inherit}.band-recording-filters>button{grid-column:1/-1;justify-self:start;border:1px solid var(--band-green);border-radius:999px;padding:.5rem .7rem;background:var(--band-surface);color:var(--band-green);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.band-recording-filters>button[hidden]{display:none}.band-module-status{min-height:1.2em;color:var(--band-muted)}
.band-recording-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.band-recording-year{grid-column:1/-1;margin:1rem 0 0;border-bottom:1px solid var(--band-line);padding-bottom:.35rem}.band-recording-card{min-width:0;padding:1rem;border:1px solid var(--band-line);border-radius:15px;background:var(--band-surface)}.band-recording-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.band-recording-card h3{margin:.3rem 0}.band-recording-card p{margin:.25rem 0;color:var(--band-muted)}.band-recording-kind,.band-instrument-state{display:inline-block;border-radius:999px;padding:.22rem .5rem;background:var(--band-tint);color:var(--band-green);font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.band-recording-manage{display:flex;gap:.3rem}.band-recording-manage button{padding:.4rem .58rem;font-size:.68rem}.band-recording-manage button:last-child,.band-instrument-actions button:last-child{border-color:var(--band-danger-border);color:var(--band-danger-text)}.band-recording-player{overflow:hidden;margin:.8rem 0;border-radius:10px;background:var(--band-reader-bg)}.band-recording-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.band-recording-player audio{display:block;width:100%}.band-recording-external{color:var(--band-green);font-weight:800}.band-recording-links{display:flex;flex-wrap:wrap;gap:.35rem;margin:.65rem 0}.band-recording-links span{border-radius:999px;padding:.25rem .5rem;background:var(--band-paper);color:var(--band-muted);font-size:.68rem}.band-recording-people{font-size:.75rem}
.band-recording-editor,.band-instrument-editor,.band-loan-editor,.band-return-editor{margin:1rem 0;padding:1.2rem;border:1px solid var(--band-line);border-radius:16px;background:var(--band-tint)}.band-recording-editor[hidden],.band-instrument-editor[hidden],.band-loan-editor[hidden],.band-return-editor[hidden]{display:none}.band-recording-editor form,.band-instrument-editor form,.band-loan-editor form,.band-return-editor form{display:grid;gap:.8rem}.band-recording-editor label>span,.band-instrument-editor label>span,.band-loan-editor label>span,.band-return-editor label>span{display:block;margin-bottom:.3rem;font-size:.75rem;font-weight:800}.band-recording-editor input:not([type=radio]),.band-recording-editor select,.band-instrument-editor input,.band-instrument-editor select,.band-instrument-editor textarea,.band-loan-editor input,.band-loan-editor select,.band-loan-editor textarea,.band-return-editor input,.band-return-editor select,.band-return-editor textarea{box-sizing:border-box;width:100%;border:1px solid var(--band-field-border);border-radius:9px;padding:.7rem .75rem;background:var(--band-surface);color:var(--band-ink);font:inherit}.band-recording-editor select[multiple]{min-height:150px}.band-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.band-editor-heading h3{margin:0}.band-editor-heading>button{border:0;background:transparent;color:var(--band-ink);font-size:1.8rem;cursor:pointer}.band-recording-source{display:flex;gap:1rem;padding:.65rem;border-radius:9px;background:var(--band-surface)}
.band-inventory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.band-inventory-summary button{display:grid;gap:.15rem;border:1px solid var(--band-line);border-radius:12px;padding:.75rem;background:var(--band-surface);color:var(--band-ink);text-align:left;cursor:pointer}.band-inventory-summary strong{font-size:1.45rem}.band-inventory-summary span{color:var(--band-muted);font-size:.7rem;font-weight:750}.band-instrument-list{display:grid;gap:.65rem}.band-instrument-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--band-line);border-radius:14px;background:var(--band-surface)}.band-instrument-card h3{margin:.3rem 0}.band-instrument-card p{margin:.2rem 0;color:var(--band-muted)}.band-instrument-card small{color:var(--band-muted)}.band-instrument-state.is-available{background:var(--band-success-tint);color:var(--band-success-text)}.band-instrument-state.is-on_loan{background:var(--band-warning-tint);color:var(--band-warning-text)}.band-instrument-state.is-repair,.band-instrument-state.is-retired{background:var(--band-danger-tint);color:var(--band-danger-text)}.band-instrument-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.band-instrument-actions button{padding:.45rem .62rem;font-size:.69rem}.band-instrument-borrower{display:flex;flex-wrap:wrap;gap:.3rem .65rem}.band-instrument-borrower .is-overdue{color:var(--band-danger-text);font-weight:800}.band-loan-history{margin:1rem 0;border-top:1px solid var(--band-line);padding-top:.8rem}.band-loan-history h4{margin:0 0 .55rem}.band-loan-history>div{display:grid;gap:.15rem;border-left:3px solid var(--band-green);padding:.3rem 0 .6rem .7rem}.band-loan-history span,.band-loan-history small{color:var(--band-muted)}

/* Reader metronome, tuner and drone. */
.band-tools-panel{box-sizing:border-box;position:fixed;z-index:2147483030;top:64px;right:14px;width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 78px);overflow:auto;border:1px solid var(--band-surface-border-mid);border-radius:15px;padding:.8rem;background:var(--band-overlay-near);color:var(--band-surface);box-shadow:0 12px 38px var(--band-shadow-dialog);font-family:system-ui,-apple-system,sans-serif}.band-tools-panel[hidden]{display:none}.band-tools-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:-.8rem -.8rem .8rem;padding:.65rem .7rem;border-radius:15px 15px 0 0;background:var(--band-surface-ghost);cursor:move;touch-action:none}.band-tools-head>div{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}.band-tools-panel button,.band-tools-panel select,.band-tools-panel input{font:inherit}.band-tools-head button,.band-tools-actions button,.band-bpm button{border:1px solid var(--band-surface-border-mid);border-radius:999px;padding:.38rem .55rem;background:transparent;color:var(--band-surface);font-size:.68rem;font-weight:800;cursor:pointer}.band-tools-head button.is-active,.band-tools-actions .band-tools-primary,.band-tools-actions .is-running{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-tools-head button:last-child{border:0;font-size:1.25rem;line-height:1}.band-tools-panel section{display:grid;gap:.7rem}.band-tools-panel section[hidden]{display:none}.band-tools-panel .band-form-grid{gap:.55rem}.band-tools-panel label>span{display:block;margin-bottom:.25rem;color:var(--band-on-dark-muted);font-size:.7rem;font-weight:750}.band-tools-panel select,.band-tools-panel input[type=number]{box-sizing:border-box;width:100%;border:1px solid var(--band-surface-border-mid);border-radius:8px;padding:.5rem;background:var(--band-surface);color:var(--band-ink)}.band-tools-panel input[type=range]{width:100%;margin:0;accent-color:var(--band-lime)}.band-tools-actions{display:flex;justify-content:flex-end;gap:.5rem}.band-tools-actions button{padding:.55rem .8rem}.band-beat-light{width:100%;height:8px;border-radius:999px;background:var(--band-surface-ghost)}.band-beat-light.is-on{background:var(--band-lime)}.band-beat-light.is-accent{box-shadow:0 0 0 3px var(--band-lime-wash)}.band-bpm{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem}.band-bpm button{display:grid;width:40px;height:40px;padding:0;place-items:center;font-size:1.25rem}.band-bpm label{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.3rem;text-align:center}.band-bpm label span{grid-column:1/-1}.band-bpm label input{font-size:1.55rem;font-weight:850;text-align:center}.band-bpm label small{padding-bottom:.55rem}.band-tools-volume{display:block}.band-tuner-readout{text-align:center}.band-tuner-readout>strong{display:block;font-size:3.2rem;line-height:1}.band-tuner-readout>span,.band-tuner-readout>small{display:block;margin:.35rem;color:var(--band-on-dark-muted)}.band-cents{position:relative;height:10px;margin:.9rem 1rem;border-radius:999px;background:linear-gradient(90deg,var(--band-danger),var(--band-warning),var(--band-success),var(--band-warning),var(--band-danger))}.band-cents:before{content:"";position:absolute;top:-4px;bottom:-4px;left:50%;width:2px;background:var(--band-surface-half)}.band-cents span{position:absolute;top:-7px;left:50%;width:4px;height:24px;border-radius:999px;background:var(--band-surface);transform:translateX(-50%);transition:left .08s linear}.band-tools-panel.is-in-tune .band-tuner-readout>strong{color:var(--band-lime)}.band-tools-hint{display:block;color:var(--band-on-dark-muted);font-size:.68rem;line-height:1.45}.band-drone-presets{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.band-drone-presets>span{color:var(--band-on-dark-muted);font-size:.7rem;font-weight:750}.band-drone-presets>div{display:flex;gap:.35rem}.band-drone-presets button{min-width:44px;border:1px solid var(--band-surface-border-mid);border-radius:999px;padding:.42rem .6rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.band-drone-presets button.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}

@media(max-width:720px){.band-module-head{align-items:flex-start;flex-direction:column}.band-module-head>button{width:100%}.band-recording-filters,.band-inventory-filters{grid-template-columns:1fr}.band-recording-grid{grid-template-columns:1fr}.band-inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.band-inventory-summary button:first-child{grid-column:1/-1}.band-instrument-card{align-items:flex-start;flex-direction:column}.band-instrument-actions{width:100%;justify-content:stretch}.band-instrument-actions button{flex:1}.band-tools-panel{top:58px;right:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 66px)}.band-reader-bar .band-tools-toggle{font-size:0}.band-reader-bar .band-tools-toggle:first-letter{font-size:.9rem}}

/* ==== Samljóð 1.9 – light & rounded refresh ==== */
.band-portal{-webkit-font-smoothing:antialiased}
.band-hero{background:linear-gradient(135deg,var(--band-green),var(--band-accent-deep));border-radius:28px;box-shadow:0 22px 44px -24px var(--band-shadow-light)}
.band-tabs{gap:.45rem}
.band-tabs button{border-color:var(--band-line);background:var(--band-surface);color:var(--band-ink);font-weight:700;box-shadow:0 1px 2px var(--band-shadow-faint)}
.band-tabs button.is-active{border-color:var(--band-green);background:var(--band-green);color:var(--band-surface)}
.band-event{border-radius:20px;box-shadow:0 1px 2px var(--band-shadow-faint),0 12px 28px -20px var(--band-shadow-soft)}
.band-piece{border-radius:18px;box-shadow:0 1px 2px var(--band-shadow-faint),0 12px 28px -20px var(--band-shadow-soft)}
.band-manager-card{border-radius:20px}
.band-module-head,.band-management-head{border-radius:22px}
.band-offline,.band-live-panel{border-radius:18px}
.band-recording-card,.band-instrument-card{border-radius:18px;box-shadow:0 1px 2px var(--band-shadow-faint)}
.band-search input,.band-collection-filter select{border-radius:14px}
.band-empty,.band-notice{border-radius:18px}
.band-profile-prompt{border-radius:16px}
.band-install-card,.band-live-picker-card{border-radius:26px}
.band-pair-card{border-radius:22px}
.band-badge{border-radius:999px;padding:.28rem .6rem}
.band-manager-form input,.band-manager-form select,.band-manager-form textarea{border-radius:12px}
.band-login-notice input[type=text],.band-login-notice input[type=password]{border-radius:12px}
.band-recording-editor input:not([type=radio]),.band-recording-editor select,.band-instrument-editor input,.band-instrument-editor select,.band-instrument-editor textarea,.band-loan-editor input,.band-loan-editor select,.band-loan-editor textarea,.band-return-editor input,.band-return-editor select,.band-return-editor textarea{border-radius:11px}
.band-recording-filters input,.band-recording-filters select,.band-inventory-filters input,.band-inventory-filters select{border-radius:12px}
.band-login-lost{margin:.9rem 0 0;font-size:.82rem}.band-login-lost a{color:var(--band-green);font-weight:800;text-decoration:none}.band-login-lost a:hover,.band-login-lost a:focus-visible{text-decoration:underline}
.band-annotation-tools select{border:1px solid var(--band-surface-half);border-radius:999px;padding:.35rem .55rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.7rem;font-weight:750;max-width:11rem}.band-annotation-tools select:focus-visible{outline:2px solid var(--band-lime)}.band-annotation-tools select option{color:#111}
.band-ensemble-switcher{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem;font-size:.72rem}.band-ensemble-switcher a,.band-ensemble-switcher span{display:inline-flex;align-items:center;border:1px solid var(--band-surface-border-mid);border-radius:999px;padding:.4rem .7rem;background:var(--band-surface-ghost);color:inherit;text-decoration:none;font-weight:700;white-space:nowrap}.band-ensemble-switcher a:hover,.band-ensemble-switcher a:focus-visible{background:var(--band-surface-wash)}.band-ensemble-switcher .is-active{background:var(--band-lime);border-color:var(--band-lime);color:var(--band-ink);font-weight:850}
.band-photo-panel{position:absolute;z-index:18;top:60px;left:50%;display:flex;max-width:calc(100% - 24px);align-items:center;flex-wrap:wrap;gap:.4rem;padding:.5rem .6rem;border-radius:14px;background:var(--band-overlay-near);color:var(--band-surface);transform:translateX(-50%);box-shadow:0 5px 18px var(--band-shadow-medium);font-size:.72rem}.band-photo-panel[hidden]{display:none}.band-photo-panel button{border:1px solid var(--band-surface-half);border-radius:999px;padding:.4rem .65rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.72rem;font-weight:750;white-space:nowrap;cursor:pointer}.band-photo-panel button.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-photo-panel label{display:flex;align-items:center;gap:.3rem;font-weight:750}.band-photo-panel label[hidden]{display:none}.band-photo-panel input[type=range]{width:88px;margin:0;accent-color:var(--band-lime)}.band-photo-panel span{white-space:nowrap}.band-reader-bar .band-photo-toggle.is-active{border-color:var(--band-lime);background:var(--band-lime);color:var(--band-ink)}.band-reader-bar .band-photo-toggle:disabled{cursor:default;opacity:.45}.band-photo-layer{position:absolute;z-index:2;mix-blend-mode:multiply;pointer-events:none;max-width:none}.band-photo-layer.is-positioning{pointer-events:auto;z-index:6;cursor:grab;outline:2px dashed var(--band-lime);outline-offset:2px;touch-action:none}
.band-practice-panel .band-practice-seek{grid-template-columns:auto auto minmax(120px,1fr) auto}
.band-midi-panel [data-band-midi-play]{flex:0 0 auto;align-self:center;display:grid;width:34px;height:34px;padding:0;place-items:center;border-radius:999px}

/* Presence dots — who is in Samljóð right now */
.band-presence{display:inline-block;flex:0 0 auto;width:.5rem;height:.5rem;margin-right:.32rem;border-radius:50%;background:#b6bcc4;vertical-align:baseline}
.band-presence.is-online{background:#22a06b;box-shadow:0 0 0 2px rgba(34,160,107,.2)}
.band-presence.is-away{background:#e0a33e}
.band-presence.is-never{background:transparent;border:1px dashed #b6bcc4}
.band-presence-toggle{margin-top:.45rem;font-size:.66rem;color:var(--band-muted,#5b636c)}
.band-presence-toggle label{display:inline-flex;gap:.35rem;align-items:center;cursor:pointer}

/* Beinleiðis — one-way rehearsal broadcast */
.band-broadcast-slot{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:.7rem 0 0}
.band-broadcast-slot:empty{display:none}
.band-broadcast-badge{display:inline-flex;gap:.35rem;align-items:center;padding:.22rem .52rem;border-radius:999px;background:#c0392b;color:#fff;font-size:.6rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.band-broadcast-badge::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:#fff;animation:band-broadcast-pulse 1.6s ease-in-out infinite}
@keyframes band-broadcast-pulse{0%,100%{opacity:1}50%{opacity:.25}}
.band-broadcast-join,.band-broadcast-start,.band-broadcast-stop,.band-broadcast-setup{border:1px solid var(--band-line);border-radius:999px;padding:.34rem .72rem;background:var(--band-surface);color:var(--band-ink);font:inherit;font-size:.68rem;font-weight:850;text-decoration:none;cursor:pointer}
.band-broadcast-join{border-color:transparent;background:var(--band-green);color:var(--band-surface)}
.band-broadcast-link{min-width:min(11rem,52vw);flex:0 1 16rem;padding:.32rem .6rem;border:1px solid var(--band-line);border-radius:999px;background:var(--band-surface);color:var(--band-ink);font:inherit;font-size:.68rem}
.band-broadcast-note{color:var(--band-muted);font-size:.66rem}
.band-broadcast-error{color:#c0392b;font-size:.66rem}
.band-broadcast-dock{position:fixed;left:14px;bottom:14px;z-index:2147483040;display:flex;overflow:hidden;flex-direction:column;width:min(360px,calc(100vw - 28px));height:300px;min-width:240px;min-height:160px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#10161c;box-shadow:0 18px 44px rgba(8,14,20,.42);resize:both}
.band-broadcast-head{display:flex;gap:.45rem;align-items:center;flex:0 0 auto;padding:.4rem .5rem;background:#161d25;color:#fff;font-size:.66rem}
.band-broadcast-title{overflow:hidden;flex:1;min-width:0;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.band-broadcast-head button{width:1.55rem;height:1.55rem;flex:0 0 auto;border:0;border-radius:8px;background:rgba(255,255,255,.14);color:#fff;font:inherit;font-size:.9rem;line-height:1;cursor:pointer}
.band-broadcast-body{flex:1;min-height:0;background:#000}
.band-broadcast-body iframe{display:block;width:100%;height:100%;border:0}
.band-broadcast-offline{margin:0;padding:1.1rem;color:#c9d2da;font-size:.72rem;text-align:center}
.band-broadcast-dock.is-minimised{height:auto;min-height:0;resize:none}
.band-broadcast-dock.is-minimised .band-broadcast-body{display:none}
@media (max-width:640px){.band-broadcast-dock{right:8px;left:8px;bottom:8px;width:auto;height:auto;resize:none}.band-broadcast-body{aspect-ratio:16/9}}
@media print{.band-broadcast-dock{display:none}}

/* Bið um MIDI (Beta) — shown in the reader when a piece has no MIDI */
.band-midi-request{display:inline-flex;gap:.4rem;align-items:center;padding:.3rem .62rem;border:1px dashed var(--band-line);border-radius:999px;background:var(--band-surface);color:var(--band-muted);font:inherit;font-size:.66rem;font-weight:800;cursor:pointer}
.band-midi-request:hover:not(:disabled){border-style:solid;color:var(--band-ink)}
.band-midi-request.is-busy{opacity:.6;cursor:progress}
.band-midi-request.is-done{border-style:solid;border-color:transparent;background:var(--band-tint);color:var(--band-green);cursor:default}
.band-midi-request .band-beta{padding:.05rem .32rem;border-radius:999px;background:#e8eaed;color:#5b636c;font-size:.82em;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.band-midi-request.is-done .band-beta{display:none}
@media print{.band-midi-request{display:none}}

/* tab icons — the label still carries the meaning, the icon just helps the eye */
.band-tabs button{display:inline-flex;gap:.42rem;align-items:center}
.band-tab-icon{display:inline-flex;flex:0 0 auto}
.band-tab-icon svg{width:1.05em;height:1.05em}
@media (max-width:520px){.band-tab-icon svg{width:1.15em;height:1.15em}}

/* typed viðmerkingar — the keyboard alternative to the pencil */
.band-reader,.band-reader *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.band-reader input,.band-reader textarea{-webkit-user-select:text;user-select:text}
.band-annotation-layer text{touch-action:none;pointer-events:none}
.band-reader.is-annotating.is-text-tool .band-annotation-layer text{pointer-events:auto;cursor:move}
.band-annotation-text-panel{position:absolute;z-index:21;box-sizing:border-box;display:flex;flex-direction:column;gap:.4rem;width:min(88vw,27rem);padding:.5rem;border-radius:13px;background:var(--band-overlay-near);transform:translateY(-50%);box-shadow:0 10px 30px var(--band-shadow-dialog)}
.band-annotation-chips{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none}
.band-annotation-chips::-webkit-scrollbar{display:none}
.band-annotation-chips button{flex:0 0 auto;min-width:2.5rem;border:1px solid var(--band-surface-half);border-radius:999px;padding:.34rem .55rem;background:transparent;color:var(--band-surface);font:inherit;font-size:.86rem;font-weight:750;white-space:nowrap;cursor:pointer}
.band-chip-dynamic{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:.98rem}
.band-chip-recent{border-style:dashed}
.band-annotation-text-input{box-sizing:border-box;width:100%;border:2px solid var(--band-lime);border-radius:9px;padding:.45rem .55rem;background:var(--band-surface);color:var(--band-ink);font:inherit;font-size:1rem}
.band-annotation-text-input:focus{outline:2px solid var(--band-lime);outline-offset:1px}
.band-reader.is-annotating.is-move-tool .band-annotation-layer{cursor:move}
.band-reader.is-annotating .band-pdf-scroll,.band-reader.is-annotating .band-pdf-stage{touch-action:none}
.band-chip-figure{font-size:1.05rem;letter-spacing:.06em}
.band-reader.is-annotating [data-band-pdf-canvas]{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.band-reader-open,.band-reader-open *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.band-reader-open input,.band-reader-open textarea{-webkit-user-select:text;user-select:text}
.band-reader-open ::selection{background:transparent}
.band-annotation-debug{position:absolute;z-index:30;left:8px;bottom:8px;max-width:min(60vw,26rem);margin:0;padding:.5rem .6rem;border-radius:9px;background:rgba(0,0,0,.82);color:#8fe08f;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;pointer-events:none}
.band-reader.is-annotating{touch-action:none}
.band-reader.is-annotating .band-reader-bar,.band-reader.is-annotating .band-annotation-tools{touch-action:pan-x}
.band-annotation-hint{position:absolute;z-index:8;top:104px;left:50%;display:flex;max-width:min(92vw,34rem);align-items:flex-start;gap:.5rem;margin:0;padding:.5rem .6rem;border-radius:11px;background:var(--band-overlay-near);color:var(--band-surface);transform:translateX(-50%);box-shadow:0 6px 20px var(--band-shadow-medium);font-size:.74rem;line-height:1.45}
.band-annotation-hint[hidden]{display:none}
.band-annotation-hint button{flex:0 0 auto;border:0;padding:0 .2rem;background:transparent;color:var(--band-surface);font:inherit;font-size:1rem;line-height:1;cursor:pointer}
.band-concert-pills{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 1rem}
.band-concert-pills button{border:1px solid var(--band-line);border-radius:999px;padding:.4rem .8rem;background:transparent;color:inherit;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.band-concert-pills button.is-active{border-color:var(--band-ink);background:var(--band-ink);color:var(--band-surface)}
.band-concert{margin:0 0 1.4rem;padding:0 0 1.2rem;border-bottom:1px solid var(--band-line)}
.band-concert:after{content:"";display:block;clear:both}
.band-concert-photo{float:right;width:min(100%,22rem);margin:0 0 .9rem 1.2rem}
.band-concert-photo-open{display:block;width:100%;padding:0;border:0;border-radius:10px;background:none;cursor:zoom-in}
.band-concert-photo-open:focus-visible{outline:2px solid var(--band-ink);outline-offset:3px}
.band-photo-view{position:fixed;z-index:2147482995;inset:0;display:grid;place-items:center;padding:1.5rem;background:var(--band-overlay-dark)}
.band-photo-view[hidden]{display:none}
.band-photo-view img{max-width:100%;max-height:calc(100dvh - 3rem);border-radius:12px;object-fit:contain}
.band-photo-close{position:absolute;top:.5rem;right:.9rem;border:0;background:transparent;color:var(--band-surface);font-size:2.6rem;line-height:1;cursor:pointer}
.band-concert-photo img{display:block;width:100%;height:auto;border-radius:10px}
.band-concert-photo figcaption{margin-top:.35rem;font-size:.72rem;color:var(--band-muted)}
@media (max-width:640px){.band-concert-photo{float:none;width:100%;margin:0 0 .9rem}}
.band-concert[hidden]{display:none}
.band-concert h3{margin:0 0 .15rem;font-size:1.02rem}
.band-concert-when{margin:0 0 .5rem;color:var(--band-muted);font-size:.82rem}
.band-concert-with{margin:0 0 .6rem;color:var(--band-muted);font-size:.8rem;font-style:italic}
.band-concert-section{margin:.7rem 0 .25rem;font-size:.8rem;font-weight:750}
.band-concert-section span{font-weight:400;color:var(--band-muted)}
.band-concert-pieces{margin:0;padding-left:1.2rem}
.band-concert-pieces li{margin:.15rem 0;line-height:1.5}
.band-concert-pieces small{display:block;color:var(--band-muted);font-size:.74rem}
.band-concert-piece{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.band-concert-closing{margin:.6rem 0 0;color:var(--band-muted);font-size:.82rem;font-style:italic}
.band-concert-note{margin-left:.35rem;color:var(--band-muted);font-size:.78rem}
.band-on-skra{margin-left:.5rem;font-size:.7rem;color:var(--band-muted);white-space:nowrap}
.band-setlist-drop{margin-left:.4rem;border:1px solid var(--band-line);border-radius:999px;padding:.15rem .6rem;background:transparent;color:var(--band-muted);font:inherit;font-size:.72rem;cursor:pointer}
.band-setlist-drop:disabled{cursor:default;opacity:.7}
.band-skra-set{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.band-skra-set select{max-width:14rem;font:inherit;font-size:.72rem;padding:.1rem .3rem;border:1px solid var(--band-line);border-radius:999px;background:transparent;color:inherit}
.band-concert-players{margin:0 0 .6rem;color:var(--band-muted);font-size:.78rem}
.band-management select[multiple]{min-height:8rem}
.band-notify{margin:1rem 0;padding:1rem;border:1px solid var(--band-line);border-radius:14px}
.band-notify[hidden]{display:none}
.band-notify-head h3{margin:0 0 .2rem;font-size:1rem}
.band-notify-head p{margin:0 0 .7rem;color:var(--band-muted);font-size:.82rem}
.band-notify-enable{border:1px solid var(--band-ink);border-radius:999px;padding:.45rem .9rem;background:var(--band-ink);color:var(--band-surface);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.band-notify-kinds{display:grid;gap:.35rem;margin-top:.7rem}
.band-notify-kinds[hidden]{display:none}
.band-notify-kinds label{display:flex;align-items:center;gap:.45rem;font-size:.85rem}
.band-notify-site{margin:0 0 .7rem;padding:.5rem .6rem;border:1px dashed var(--band-line);border-radius:10px;font-size:.82rem}
.band-notify-site[hidden]{display:none}
.band-notify-site label{display:flex;align-items:center;gap:.45rem}


/* ---------------------------------------------------------------- Sending --
   One card per link: the QR code first, because the link is nearly always
   going to a phone that is about to film. */
.band-streaming-intro { max-width: 62ch; }
.band-streaming-list { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; gap: 14px; }
.band-streaming-item { display: grid; grid-template-columns: 108px 1fr; gap: 16px; align-items: start;
  padding: 14px 16px; border: 1px solid var(--band-line, #d9dee8); border-radius: 12px; background: #fff; }
.band-streaming-item.is-secret { border-left: 4px solid #c9483c; }
.band-streaming-qr { width: 108px; min-height: 108px; }
.band-streaming-qr svg { width: 100%; height: auto; display: block; }
.band-streaming-body h3 { margin: 0 0 .25rem; font-size: 1.05rem; }
.band-streaming-body p { margin: .2rem 0; }
.band-streaming-badge { display: inline-block; margin-left: .4rem; padding: .1rem .5rem; border-radius: 999px;
  background: #fbe9e7; color: #a3352a; font-size: .68rem; font-weight: 700; letter-spacing: .02em; vertical-align: middle; }
.band-streaming-url { word-break: break-all; font-size: .82rem; }
.band-streaming-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .6rem; }
.band-streaming-warning { margin-top: 1rem; font-size: .86rem; color: #6b5b57; }
@media (max-width: 560px) {
  .band-streaming-item { grid-template-columns: 1fr; }
  .band-streaming-qr { width: 132px; }
}

.band-streaming-h3 { margin: 1.6rem 0 .3rem; }
.band-ingest-wrap { overflow-x: auto; }          /* the addresses are long; scroll the table, not the page */
.band-ingest { width: 100%; border-collapse: collapse; font-size: .82rem; }
.band-ingest th, .band-ingest td { text-align: left; padding: .45rem .6rem; border-bottom: 1px solid rgba(128,128,128,.2); vertical-align: middle; }
.band-ingest code { word-break: break-all; font-size: .78rem; }
.band-ingest td:last-child { display: flex; gap: .5rem; align-items: center; justify-content: space-between; }

/* Bókhald ------------------------------------------------------------------ */
.band-books-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.band-books-head h2 { margin: 0; }
.band-books-year { font-size: .86rem; color: var(--band-muted, #5d6673); display: flex; align-items: center; gap: .4rem; }
.band-books-year select { font: inherit; padding: .3rem .5rem; border: 1px solid var(--band-field-border, #c9d1dc); border-radius: 8px; background: #fff; }

.band-books-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 14px 0 12px; }
.band-books-card { padding: 12px 14px; border: 1px solid var(--band-line, #e6e8ee); border-radius: 12px; background: #fff; }
.band-books-card span { display: block; font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--band-muted, #5d6673); }
.band-books-card b { display: block; margin-top: .25rem; font-size: 1.22rem; font-variant-numeric: tabular-nums; }
.band-books-card.is-in b { color: var(--band-success-text, #226b4b); }
.band-books-card.is-out b { color: var(--band-danger-text, #9c1f16); }
.band-books-card.is-end { background: var(--band-tint, #faf1e2); border-color: var(--band-warning-soft, #f5d78e); }
.band-books-card.is-wait { background: var(--band-warning-tint, #fdf6e4); }

.band-books-rec { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 18px;
  padding: 12px 14px; border-radius: 12px; border: 1px solid var(--band-line, #e6e8ee); background: #fff; margin-bottom: 14px; }
.band-books-rec.is-ok { background: var(--band-success-tint, #eefaf3); border-color: #bfe6d2; }
.band-books-rec.is-off { background: var(--band-warning-tint, #fdf6e4); border-color: var(--band-warning-soft, #f5d78e); }
.band-books-rec div span { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--band-muted, #5d6673); }
.band-books-rec div b { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.band-books-rec p { grid-column: 1 / -1; margin: 0; font-size: .86rem; color: var(--band-muted, #5d6673); }

.band-books-tabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 1px solid var(--band-line, #e6e8ee); margin: 6px 0 14px; }
.band-books-tabs button { font: inherit; font-size: .92rem; padding: .5rem .9rem; border: 0; background: none;
  color: var(--band-muted, #5d6673); border-bottom: 2px solid transparent; cursor: pointer; }
.band-books-tabs button.is-cur { color: var(--band-ink, #1a1d23); border-bottom-color: var(--band-green, #b45309); font-weight: 600; }

.band-books-bar { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 10px; }
.band-books-hint { margin: 0 0 12px; font-size: .84rem; color: var(--band-muted, #5d6673); }

.band-books-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.band-books-table th { text-align: left; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em;
  color: var(--band-muted, #5d6673); font-weight: 600; padding: 0 .5rem .5rem 0; border-bottom: 1px solid var(--band-line, #e6e8ee); }
.band-books-table td { padding: .55rem .5rem .55rem 0; border-bottom: 1px solid #f0f2f5; vertical-align: top; }
.band-books-table .n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.band-books-table .n.is-in { color: var(--band-success-text, #226b4b); }
.band-books-table .n.is-out { color: var(--band-danger-text, #9c1f16); }
.band-books-sub { display: block; font-size: .78rem; color: var(--band-muted, #5d6673); }
.band-books-row-actions { text-align: right; white-space: nowrap; }
.band-books-row-actions button, .band-books-link { font: inherit; font-size: .82rem; background: none; border: 0;
  color: var(--band-link, #b45309); cursor: pointer; padding: 0 0 0 .6rem; text-decoration: none; }
.band-books-row-actions button:hover, .band-books-link:hover { text-decoration: underline; }

.band-books-pill { display: inline-block; padding: .12rem .5rem; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.band-books-pill.is-kladda { background: #eef0f4; color: #5d6673; }
.band-books-pill.is-send { background: var(--band-warning-tint, #fdf6e4); color: var(--band-warning-text, #7c4e04); }
.band-books-pill.is-goldin { background: var(--band-success-tint, #eefaf3); color: var(--band-success-text, #226b4b); }

.band-books-form { padding: 14px 16px; border: 1px solid var(--band-line, #e6e8ee); border-radius: 12px;
  background: var(--band-paper, #f2f4f7); margin-bottom: 14px; }
.band-books-form h3 { margin: 0 0 .6rem; font-size: 1rem; }
.band-books-form h3 + .band-books-grid { margin-top: 0; }
.band-books-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.band-books-form label { display: block; font-size: .78rem; color: var(--band-muted, #5d6673); }
.band-books-form .band-books-wide { display: block; margin-top: 10px; }
.band-books-form input, .band-books-form select, .band-books-form textarea { display: block; width: 100%; margin-top: .2rem;
  font: inherit; font-size: .92rem; padding: .45rem .55rem; border: 1px solid var(--band-field-border, #c9d1dc);
  border-radius: 8px; background: #fff; color: var(--band-ink, #1a1d23); }
.band-books-lines { margin-top: 12px; display: grid; gap: 6px; }
.band-books-line { display: grid; grid-template-columns: 9.5em 1fr 8em 2em; gap: 6px; align-items: center; }
.band-books-line input { margin-top: 0; }
.band-books-line button { font: inherit; font-size: 1.1rem; line-height: 1; background: none; border: 0;
  color: var(--band-muted, #5d6673); cursor: pointer; }
.band-books-addline { font: inherit; font-size: .84rem; margin-top: 8px; background: none; border: 0;
  color: var(--band-link, #b45309); cursor: pointer; padding: 0; }
.band-books-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-top: 14px; }
.band-books-delete { font: inherit; font-size: .84rem; background: none; border: 0; margin-left: auto;
  color: var(--band-danger-text, #9c1f16); cursor: pointer; }

.band-books-account { padding: 14px 16px; border: 1px solid var(--band-line, #e6e8ee); border-radius: 12px;
  background: #fff; margin-bottom: 10px; }
.band-books-account-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.band-books-account-head h3 { margin: 0; font-size: 1.02rem; }
.band-books-account-head p { margin: .15rem 0 0; }
.band-books-account-bal { text-align: right; }
.band-books-account-bal b { font-size: 1.18rem; font-variant-numeric: tabular-nums; }
.band-books-reading { display: flex; gap: .5rem; flex-wrap: wrap; align-items: flex-end; margin-top: 12px;
  padding-top: 12px; border-top: 1px solid #f0f2f5; }
.band-books-reading label { font-size: .74rem; color: var(--band-muted, #5d6673); }
.band-books-reading input { display: block; margin-top: .2rem; font: inherit; font-size: .9rem; padding: .4rem .5rem;
  border: 1px solid var(--band-field-border, #c9d1dc); border-radius: 8px; background: #fff; }
.band-books-history { margin-top: 10px; font-size: .84rem; }
.band-books-history summary { cursor: pointer; color: var(--band-muted, #5d6673); }
.band-books-history ul { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: 2px; }
.band-books-history li { display: grid; grid-template-columns: 7em 1fr 2em; align-items: center; }
.band-books-history li b { font-variant-numeric: tabular-nums; }
.band-books-history li button { font: inherit; background: none; border: 0; color: var(--band-muted, #5d6673); cursor: pointer; }
.band-books-account-total { display: flex; justify-content: space-between; padding: 12px 16px;
  border-radius: 12px; background: var(--band-tint, #faf1e2); font-weight: 700; }
.band-books-account-total b { font-variant-numeric: tabular-nums; }

.band-books-status { min-height: 1.2em; margin: 12px 0 0; font-size: .86rem; color: var(--band-muted, #5d6673); }
.band-books-status.is-bad { color: var(--band-danger-text, #9c1f16); }

@media (max-width: 560px) {
  .band-books-rec { grid-template-columns: 1fr 1fr; }
  .band-books-line { grid-template-columns: 1fr 1fr; }
  .band-books-table th:nth-child(3), .band-books-table td:nth-child(3) { display: none; }
}
.band-books-bank-link { align-self: flex-end; text-decoration: none; }
.band-books-check { display: flex !important; align-items: center; gap: .45rem; margin-top: 10px; font-size: .84rem; }
.band-books-check input { width: auto !important; margin: 0 !important; }

/* Vend við høvdinum ---------------------------------------------------------- */
.band-head { position: absolute; right: 14px; bottom: 14px; z-index: 40; width: 236px;
  padding: 12px 14px; border-radius: 14px; background: rgba(18, 19, 22, .93); color: #f2f0ec;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .45); font-size: .84rem; }
.band-head[hidden] { display: none; }
.band-head.is-turn { outline: 2px solid #6ac47a; }
.band-head-row { display: flex; align-items: center; gap: .5rem; }
.band-head-row strong { flex: 1; font-weight: 600; font-size: .84rem; }
.band-head-dot { width: 9px; height: 9px; border-radius: 50%; background: #7b8189; flex: 0 0 9px; }
.band-head-dot.is-live { background: #e0473c; box-shadow: 0 0 0 3px rgba(224, 71, 60, .25); }
.band-head-dot.is-bad { background: #e0a23c; }
.band-head-x { background: none; border: 0; color: #cfcbc4; font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 2px; }
.band-head-gauge { position: relative; height: 12px; margin: 10px 0 4px; border-radius: 99px;
  background: rgba(255, 255, 255, .1); overflow: hidden; }
.band-head-mark { position: absolute; top: 0; width: 2px; height: 12px; background: rgba(255, 255, 255, .38); }
.band-head-needle { position: absolute; top: 1px; left: 50%; width: 10px; height: 10px; margin-left: -5px;
  border-radius: 50%; background: #f2f0ec; transition: left .08s linear; }
/* Stacked, not side by side: at this width a label and a slider on one line
   pushed the words out of the panel and over the music. */
.band-head-set { display: block; margin-top: 10px; font-size: .76rem; color: #cfcbc4; }
.band-head-lbl { display: flex; justify-content: space-between; gap: .5rem; margin-bottom: 4px; }
.band-head-lbl b { color: #f2f0ec; font-variant-numeric: tabular-nums; }
.band-head-set input[type="range"] { display: block; width: 100%; margin: 0; }
.band-head-check { display: flex; align-items: center; gap: .45rem; margin-top: 10px;
  font-size: .76rem; color: #cfcbc4; }
.band-head-check input { width: auto; margin: 0; flex: 0 0 auto; }
.band-head-view { margin: 10px 0 2px; border-radius: 8px; overflow: hidden; background: #000; line-height: 0; }
.band-head-view video { width: 100%; height: 108px; display: block; object-fit: cover;
  transform: scaleX(-1); }
.band-head-note { margin: 8px 0 0; font-size: .7rem; color: #9aa0a8; }
@media (max-width: 560px) {
  .band-head { width: auto; left: 14px; right: 14px; }
  /* folded it must hug the corner, not stretch the width of the screen —
     the whole point is to stop covering the music */
  .band-head.is-min { left: auto; right: 14px; width: auto; }
}
.band-head-diag { margin: 8px 0 0; padding: 6px 8px; border-radius: 7px; background: rgba(255,255,255,.07);
  font-size: .7rem; color: #d6cfa8; font-variant-numeric: tabular-nums; }
.band-head-diag[hidden] { display: none; }

/* folded: a lit dot and nothing else, so the music is not covered */
.band-head.is-min { width: auto; padding: 7px 10px; cursor: pointer; opacity: .82; }
.band-head.is-min:hover { opacity: 1; }
.band-head.is-min .band-head-view,
.band-head.is-min .band-head-gauge,
.band-head.is-min .band-head-set,
.band-head.is-min .band-head-check,
.band-head.is-min .band-head-diag,
.band-head.is-min .band-head-note,
.band-head.is-min [data-min] { display: none; }
.band-head.is-min .band-head-row strong { font-size: .74rem; max-width: 9rem; overflow: hidden;
  white-space: nowrap; text-overflow: ellipsis; }

/* Broyt loyniorð --------------------------------------------------------- */
.band-pass { margin-top: .6rem; font-size: .86rem; }
.band-pass > summary { cursor: pointer; display: inline-block; padding: .25rem .6rem;
  border-radius: 999px; background: rgba(255, 255, 255, .14); font-weight: 600; list-style: none; }
.band-pass > summary::-webkit-details-marker { display: none; }
.band-pass > summary:hover { background: rgba(255, 255, 255, .22); }
.band-pass[open] > summary { margin-bottom: .5rem; }
.band-pass form { display: grid; gap: .45rem; max-width: 22rem; }
.band-pass label { display: grid; gap: .15rem; font-size: .78rem; }
.band-pass input[type="password"] { font: inherit; font-size: .9rem; padding: .4rem .5rem;
  border: 1px solid rgba(0, 0, 0, .18); border-radius: 8px; background: #fff; color: #1a1d23; }
.band-pass button { justify-self: start; font: inherit; font-size: .86rem; font-weight: 600;
  padding: .4rem .9rem; border: 0; border-radius: 999px; cursor: pointer; }
.band-pass-hint { margin: 0; font-size: .74rem; opacity: .8; }
.band-pass-said { margin: 0 0 .4rem; padding: .35rem .6rem; border-radius: 8px; font-size: .8rem; }
.band-pass-said.is-ok { background: #eefaf3; color: #226b4b; }
.band-pass-said.is-bad { background: #fdf1f0; color: #9c1f16; }

.band-row-error{grid-column:1 / -1;margin:.35rem 0 0;font-size:.85rem;font-weight:600}
.band-combined-row:has(.band-row-error) select{outline:2px solid #c62828;outline-offset:1px}

.band-tools-panel .band-tempo-marking{display:flex;flex-direction:column;gap:.25rem;margin:0 0 .6rem}.band-tools-panel .band-tempo-marking span{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.75}.band-tools-panel .band-tempo-marking select{font:inherit;font-size:1rem;padding:.5rem .6rem;border-radius:0;border:1px solid rgba(255,255,255,.25);background:#fff;color:#111}
.band-tools-panel .band-tempo-source{margin:.35rem 0 .6rem;font-size:.8rem;line-height:1.35;opacity:.85}
.band-tools-panel .band-tempo-save{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 .2rem}.band-tools-panel .band-tempo-save button{font:inherit;font-size:.82rem;font-weight:700;padding:.45rem .8rem;border:1px solid rgba(255,255,255,.4);background:transparent;color:inherit;cursor:pointer}.band-tools-panel .band-tempo-save button:disabled{opacity:.5;cursor:default}
.band-setlist-added,.band-manager-piece-log{display:block;margin:.1rem 0 .2rem;color:var(--band-muted);font-size:.72rem}
.band-manager-piece-log{margin-left:1.6rem}
