.setlists-page{gap:var(--stack-gap-tight);flex-direction:column;display:flex}.setlists-section+.setlists-section{margin-top:calc(var(--stack-gap) - var(--stack-gap-tight))}.setlists-header{gap:var(--spacing-sm);flex-direction:column;display:flex}.setlists-create-btn{margin-left:var(--spacing-sm);white-space:nowrap}.setlists-toolbar{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;min-width:0;display:flex}.setlists-toolbar__filters{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-left:auto;display:flex}.setlists-event-filter-btn{justify-content:center;min-width:90px}.setlists-event-filter-btn.is-include{border-color:rgba(var(--accent-primary-rgb), .55);background:rgba(var(--accent-primary-rgb), .16);color:var(--accent-primary)}.setlists-event-filter-btn.is-exclude{color:var(--text-muted);border-style:dashed}.setlists-event-filter-btn.is-exclude .setlists-event-filter-label{text-decoration-line:line-through;text-decoration-thickness:1.5px}.setlists-sort{align-items:center;gap:var(--spacing-xs);display:flex}.setlists-sort label{color:var(--text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.setlists-sort select{height:var(--control-sm);padding:0 var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-2);color:var(--text-primary);font-size:var(--font-size-sm)}.setlists-sort-direction{width:var(--control-sm);height:var(--control-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-2);color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.setlists-sort-direction:hover{background:var(--surface-3);color:var(--text-primary)}.setlists-clear-filters{white-space:nowrap}.setlists-clear-filters.is-inactive{visibility:hidden;pointer-events:none}.setlists-labels-dropdown{position:relative}.setlists-labels-trigger{white-space:nowrap}.setlists-labels-count{opacity:.8;font-size:.85em}.setlists-labels-menu-title{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-weight:600}.setlists-labels-menu{background:var(--surface-1);border:1px solid var(--border-color);min-width:min(240px,100vw - 24px);max-width:min(320px,100vw - 24px);max-height:360px;z-index:var(--z-dropdown);border-radius:10px;margin-top:6px;padding:10px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 12px 22px rgba(0,0,0,.22)}.setlists-labels-backdrop{cursor:default;z-index:calc(var(--z-dropdown) - 1);background:0 0;border:none;position:fixed;inset:0}.setlists-label-item{min-width:0;color:var(--text-primary);font-size:var(--font-size-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;align-items:center;gap:8px;padding:7px 8px;transition:background-color .15s;display:flex}.setlists-label-item:hover{background:var(--surface-3)}.setlists-label-item.selected{background:rgba(var(--accent-primary-rgb), .15)}.setlists-label-row{align-items:center;gap:6px;display:flex}.setlists-label-controls{flex-shrink:0;align-items:center;gap:4px;display:flex}.setlists-label-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.setlists-label-check{color:var(--accent-primary);font-size:var(--font-size-xxs);font-weight:700}.setlists-label-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.setlists-label-color-input{border:1px solid var(--border-color);background:var(--surface-1);cursor:pointer;appearance:none;border-radius:6px;width:28px;height:24px;padding:2px;display:block}.setlists-label-color-input::-webkit-color-swatch-wrapper{padding:0}.setlists-label-color-input::-webkit-color-swatch{border:none;border-radius:4px}.setlists-label-color-input::-moz-color-swatch{border:none;border-radius:4px}.setlists-label-clear-btn{color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 6px;font-weight:600}.setlists-label-clear-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text-primary)}.setlists-labels-create{border-top:1px solid var(--border-color);align-items:center;gap:6px;margin-top:8px;padding:8px 0 0;display:flex}.setlists-labels-create input{min-width:0;font-size:var(--font-size-sm);border:1px solid var(--border-color);background:var(--surface-2);color:var(--text-primary);border-radius:8px;flex:1;padding:6px 8px}.setlists-labels-create .setlists-label-color-input{width:var(--control-sm);height:var(--control-sm);min-width:var(--control-sm);border-radius:6px;flex:none;align-self:center;padding:2px}.setlists-labels-loading,.setlists-labels-empty{font-size:var(--font-size-sm);color:var(--text-muted);padding:8px}.setlists-labels-error{margin-top:8px;font-size:.8rem}.setlists-error{color:var(--error-text);font-size:var(--font-size-sm);background:rgba(var(--accent-danger-rgb), .1);border-radius:6px;padding:10px 14px}.setlists-section{gap:var(--stack-gap-tight);flex-direction:column;display:flex}.setlists-section__title{color:var(--text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;margin:0;font-weight:700}.setlists-grid{gap:var(--spacing-xs) var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.setlist-card{column-gap:var(--spacing-sm);min-width:0;min-height:var(--control-lg);padding:var(--row-pad-y) var(--row-pad-x);margin-inline:calc(-1 * var(--row-pad-x));border-radius:var(--row-radius);cursor:pointer;background:0 0;border:0;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:start;row-gap:2px;transition:background-color .15s;display:grid}.setlist-card:hover{background:var(--interactive-hover)}.setlist-card:focus-visible{background:var(--interactive-hover)}.setlist-card__top{display:contents}.setlist-card__name{min-width:0;color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);-webkit-line-clamp:2;overflow-wrap:break-word;-webkit-box-orient:vertical;grid-area:1/1;margin:0;display:-webkit-box;overflow:hidden}.setlist-card__meta-row{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;grid-area:3/1;display:flex}.setlist-card__date{flex-shrink:0}.setlist-card__label{gap:6px}.setlist-card__label-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.setlist-card__label-more{color:var(--text-muted)}.setlist-card__footer{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;grid-area:2/1;display:flex}.setlist-card__meta{min-width:0;color:var(--text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.setlist-card__role{flex-shrink:0}.setlist-card-menu{flex-shrink:0;grid-area:1/2/-1;align-self:center;position:relative}.setlist-card-menu__trigger{width:var(--control-sm);height:var(--control-sm);border-radius:var(--border-radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex}.setlist-card-menu__trigger:hover,.setlist-card-menu__trigger[aria-expanded=true]{background:var(--surface-3);color:var(--text-primary)}.setlist-card-menu__trigger:focus-visible{background:var(--surface-3);color:var(--text-primary)}.setlist-card-menu__panel{z-index:40;background:var(--surface-2);border:1px solid var(--border-color);border-radius:var(--border-radius-md);flex-direction:column;gap:2px;min-width:9.5rem;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 12px 22px rgba(0,0,0,.22)}.setlist-card-menu__item{min-height:var(--control-lg);border-radius:var(--border-radius-sm);color:var(--text-primary);padding:0 var(--spacing-sm);text-align:left;font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;align-items:center;display:flex}.setlist-card-menu__item:hover:not(:disabled){background:var(--surface-3)}.setlist-card-menu__item:disabled,.setlist-card-menu__item:disabled:hover,.setlist-card-menu__item--danger:disabled,.setlist-card-menu__item--danger:disabled:hover{background:var(--disabled-bg);color:var(--disabled-fg);border-color:var(--disabled-border);cursor:not-allowed}.setlist-card-menu__item--danger{color:var(--status-danger-text)}.setlist-card-menu__item--danger:hover:not(:disabled){background:var(--status-danger-bg)}.setlist-empty{align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;flex-direction:column;display:flex}.setlist-empty-icon{background:rgba(var(--accent-primary-rgb), .1);width:64px;height:64px;color:var(--accent-primary);border-radius:16px;justify-content:center;align-items:center;font-size:1.8rem;display:flex}.screen--setlists .setlist-empty h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.screen--setlists .setlist-empty p{color:var(--text-secondary);max-width:400px;font-size:.95rem;line-height:var(--line-height-relaxed);margin:0}.screen--setlists .setlist-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.setlist-meta{font-size:var(--font-size-xs);color:var(--text-muted)}@media (width<=900px){.setlists-toolbar .btn,.setlists-toolbar .segment,.setlists-sort select,.setlists-sort-direction,.setlist-card-menu__trigger{min-height:var(--control-lg)}.setlists-sort-direction,.setlist-card-menu__trigger{width:var(--control-lg);height:var(--control-lg)}}@media (width<=768px){.setlists-clear-filters.is-inactive{display:none}.setlists-labels-menu{max-height:calc(100vh - 32px);margin-top:0;position:fixed;top:16px;left:auto;right:16px}}@media (width<=480px){.setlists-toolbar .segmented{width:100%}.setlists-toolbar .segment{flex:1 1 0}.setlists-toolbar__filters{margin-left:0}.setlists-create-btn{flex:100%;margin-left:0}.setlists-sort{width:100%}.setlists-sort select{flex:auto}.setlists-labels-menu{max-width:none;max-height:calc(100vh - 32px);margin-top:0;position:fixed;top:16px;left:16px;right:16px}.setlists-grid{grid-template-columns:1fr;gap:0}.setlist-card+.setlist-card{border-top:var(--hairline-soft)}}