.page.admin-page{max-width:76rem}.admin-section{margin-top:2.5rem}.admin-section-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;border-bottom:1px solid var(--border);padding-bottom:.4rem;margin-bottom:.75rem}.admin-section-head h2{margin:0}.admin-note{margin:-.25rem 0 .75rem}.stat.stat-warn{border-color:#d9a441}.expired{color:#d9a441}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(24rem,100%),1fr));gap:1.5rem}.activity-grid h3{font-size:.9rem;font-weight:600;color:var(--muted);margin:0 0 .5rem}.pager{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-top:.75rem}.admin-page .table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface) 60%,transparent)}.setlist-editor{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.setlist-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.setlist-index{flex:0 0 1.5rem;text-align:right;font-variant-numeric:tabular-nums}.setlist-title{flex:1 1 auto;min-width:0}.setlist-actions{display:flex;align-items:center;gap:.25rem;flex:0 0 auto}.setlist-actions button{padding:.2rem .45rem;line-height:1}.setlist-add{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem}.setlist-add select{flex:1 1 12rem;min-width:0;max-width:100%}.gig-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.landing .hero{align-items:start}.landing .hero-about{display:flex;flex-direction:column;gap:.75rem;margin:0 0 1.75rem}.landing .hero-about p{color:var(--muted);margin:0;max-width:54ch}.landing .hero-about p:first-child{color:var(--text)}.landing .feature-row.textonly{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--border);padding-top:2.5rem}.landing .feature-row.textonly .feature-text{max-width:60ch}.sl-songs{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.sl-song-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.sl-song-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.sl-song-index{flex:0 0 1.5rem;text-align:right;font-variant-numeric:tabular-nums}.sl-song-title{flex:1 1 auto;min-width:0}.sl-song-actions{display:flex;align-items:center;gap:.25rem;flex:0 0 auto}.sl-song-actions button{padding:.2rem .45rem;line-height:1}.sl-song-add{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem}.sl-song-add select{flex:1 1 12rem;min-width:0;max-width:100%}.sl-row-desc{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sl-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}:root{--bg: #141318;--surface: #1d1c22;--surface-2: #252329;--text: #ece9f1;--muted: #9b95a8;--accent: #c9beff;--accent-dim: #a99ae8;--ink: #251d4a;--grad-a: #cbbcf7;--grad-b: #e8b7d0;--error: #ef6b6b;--border: #302d39;color-scheme:dark}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;background:radial-gradient(120% 65% at 50% 0%,rgba(203,188,247,.15),rgba(232,183,208,.06) 45%,transparent 72%),var(--bg);background-repeat:no-repeat;min-height:100dvh}.centered{min-height:100dvh;display:grid;place-items:center;padding:1rem}.page{max-width:48rem;margin:0 auto;padding:1.5rem 1rem}.page-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1rem}h1{font-size:1.25rem;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;width:min(24rem,100%);display:flex;flex-direction:column;gap:.5rem}label{font-size:.8rem;color:var(--muted)}input{background:#151515;border:1px solid var(--border);border-radius:.375rem;color:inherit;font:inherit;padding:.5rem .625rem}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{background:var(--accent);border:none;border-radius:.5rem;color:var(--ink);cursor:pointer;font:inherit;font-weight:600;padding:.5rem .875rem;transition:filter .12s ease}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.6;cursor:progress}button.link{background:none;color:var(--accent);font-weight:400;padding:0;text-decoration:underline}.row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.list li{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.75rem}.muted{color:var(--muted)}.back{font-size:.8rem;margin-bottom:.25rem}.button-like{background:var(--accent);border-radius:.5rem;color:var(--ink);font-weight:600;padding:.5rem .875rem;text-decoration:none;display:inline-block;transition:filter .12s ease}.button-like:hover{filter:brightness(1.08)}.button-like.big{background:linear-gradient(115deg,var(--grad-a),var(--grad-b));box-shadow:0 6px 24px -8px #cbbcf780}.button-like.big{font-size:1.05rem;padding:.7rem 1.25rem}.link-plain{color:var(--accent);text-decoration:none}.link-plain:hover{text-decoration:underline}.landing{max-width:60rem;margin:0 auto;padding:1rem}.landing-nav{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:.75rem 0}.brand{font-weight:700;display:inline-flex;align-items:center;gap:.55rem;letter-spacing:-.01em}.brand-mark{display:block;flex:none;border-radius:28%}.hero{padding:3rem 0 2.5rem;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:clamp(1.5rem,5vw,3.5rem);align-items:center}.hero-text{grid-column:2;grid-row:1}.hero-shots{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:1rem}.hero-shots img{display:block;width:190px;height:auto;border-radius:1rem;border:1px solid var(--border);box-shadow:0 20px 50px -28px #cbbcf759,0 4px 14px -8px #0009}@media(max-width:820px){.hero{grid-template-columns:minmax(0,1fr);gap:2rem}.hero-text,.hero-shots{grid-column:1;grid-row:auto}.hero-shots{flex-direction:row;justify-content:center}.hero-shots img{width:160px}}.hero h1{font-size:clamp(1.9rem,5.5vw,3rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 .85rem;max-width:30ch;background:linear-gradient(100deg,var(--text) 30%,var(--grad-a) 75%,var(--grad-b));-webkit-background-clip:text;background-clip:text;color:transparent}.lead{color:var(--muted);font-size:1.05rem;max-width:60ch;margin:0 0 1.5rem}.hero-actions{gap:1.25rem;margin-bottom:2rem}.stores{gap:.75rem}.store{border:1px solid var(--border);border-radius:.5rem;padding:.6rem 1rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;min-width:9rem}.store:hover{border-color:var(--accent)}.store-soon{opacity:.55}.store-name{font-weight:600;font-size:.95rem}.store-note{color:var(--muted);font-size:.8rem}.nav-section{color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem;padding:.35rem 0;border-bottom:2px solid transparent}.nav-section:hover{border-bottom-color:var(--accent)}.button-outline{border:1px solid var(--border);border-radius:.5rem;color:var(--text);font-weight:600;padding:.5rem .875rem;text-decoration:none;display:inline-block}.button-outline.big{font-size:1.05rem;padding:.7rem 1.25rem}.button-outline:hover{border-color:var(--accent);color:var(--accent)}.features{padding:2.5rem 0}.features h2,.closing h2,.upcoming h2{font-size:1.1rem;margin:0 0 1.25rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.feature{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.125rem;position:relative;overflow:hidden;transition:border-color .14s ease,transform .14s ease}.feature:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--grad-a),var(--grad-b));opacity:.5}.feature:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.feature:hover:before{opacity:1}.feature h3{font-size:.98rem;margin:0 0 .5rem}.feature p{color:var(--muted);font-size:.9rem;margin:0}.closing{border-top:1px solid var(--border);padding:2.5rem 0}.landing-footer{border-top:1px solid var(--border);padding:1.25rem 0;display:flex;gap:1rem;justify-content:space-between;font-size:.85rem}.brand-link{color:inherit;text-decoration:none}.features-intro{padding:2.5rem 0 1rem}.features-intro h1{font-size:clamp(1.6rem,4.5vw,2.4rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 .75rem;max-width:26ch}.feature-rows{display:flex;flex-direction:column;gap:3.5rem;padding:1.5rem 0 2.5rem}.feature-row{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}.feature-row.reversed{direction:rtl}.feature-row.reversed>*{direction:ltr}.feature-shot img{display:block;width:100%;height:auto;border-radius:1.25rem;border:1px solid var(--border);box-shadow:0 24px 60px -30px #cbbcf759,0 4px 16px -8px #0009}.feature-text h2{font-size:clamp(1.1rem,2.6vw,1.4rem);letter-spacing:-.01em;margin:0 0 .6rem}.feature-text p{color:var(--muted);margin:0;max-width:52ch}@media(max-width:720px){.feature-row,.feature-row.reversed{grid-template-columns:minmax(0,1fr);direction:ltr;gap:1.25rem}.feature-shot{max-width:260px}.feature-rows{gap:2.5rem}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin-bottom:2rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.875rem;display:flex;flex-direction:column;gap:.15rem}.stat-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-label{color:var(--muted);font-size:.8rem}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{border-bottom:1px solid var(--border);padding:.5rem .75rem;text-align:left;white-space:nowrap}.table th{color:var(--muted);font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums}.upcoming{margin-top:2rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.chips li{border:1px dashed var(--border);border-radius:999px;color:var(--muted);font-size:.85rem;padding:.25rem .75rem}code{background:#0d0d0d;border-radius:.25rem;font-size:.85em;padding:.1rem .3rem}.app-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:.75rem 1rem}.app-bar-left,.app-bar-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.brand-small{color:inherit;font-weight:700;text-decoration:none}.crumb-sep{color:var(--muted)}.crumb{color:var(--accent)}.band-nav{display:flex;gap:.25rem;border-bottom:1px solid var(--border);padding:0 1rem;overflow-x:auto}.nav-item{color:var(--muted);text-decoration:none;padding:.6rem .75rem;border-bottom:2px solid transparent;white-space:nowrap}.nav-item:hover{color:var(--text)}.nav-item.active{color:var(--accent);border-bottom-color:var(--accent)}button.ghost{background:none;border:1px solid var(--border);color:inherit;font-weight:400}button.ghost:hover:not(:disabled){border-color:var(--accent)}.small{font-size:.82rem}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1.25rem}.toolbar input[type=search]{flex:1 1 14rem}.sort{display:flex;flex-direction:column;gap:.15rem}.login-top{justify-content:space-between;gap:.5rem}.lang-select{display:flex;flex-direction:column;gap:.15rem}.lang-select.compact select{padding:.3rem .4rem;font-size:.85rem}select{background:#151515;border:1px solid var(--border);border-radius:.375rem;color:inherit;font:inherit;padding:.45rem .5rem}.row-link,.row-static{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;width:100%;text-decoration:none;color:inherit}.row-link{cursor:pointer}.row-link.as-button{background:none;border:none;font:inherit;font-weight:400;padding:0;text-align:left}.list li:has(.row-link):hover{border-color:var(--accent)}.row-main{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.row-meta{display:flex;align-items:center;gap:.75rem}.badge{background:var(--accent);border-radius:999px;color:#08160f;font-size:.72rem;font-weight:700;padding:.1rem .5rem;text-transform:uppercase}.badge-soft{background:none;border:1px solid var(--border);color:var(--muted);font-weight:600}.badge-warn{background:#d9a441;color:#1a1204}section{margin-top:2rem}section h2{font-size:1rem;margin:0 0 .75rem}.notes{background:var(--surface);border-left:2px solid var(--border);color:var(--muted);margin:0 0 1rem;padding:.6rem .875rem}.markdown.boxed{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;overflow-x:auto;padding:1rem}.markdown>div>:first-child{margin-top:0}.markdown>div>:last-child{margin-bottom:0}.markdown p{margin:0 0 .75rem}.markdown h1,.markdown h2,.markdown h3{font-size:1rem;margin:1.25rem 0 .5rem}.markdown ul,.markdown ol{margin:0 0 .75rem;padding-left:1.25rem}.markdown hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.markdown blockquote{border-left:2px solid var(--border);color:var(--muted);margin:0 0 .75rem;padding:.1rem .875rem}.markdown table{border-collapse:collapse;display:block;margin:0 0 .75rem;overflow-x:auto;width:max-content;max-width:100%}.markdown th,.markdown td{border:1px solid var(--border);padding:.3rem .6rem;text-align:left}.markdown th{color:var(--muted);font-size:.85rem;font-weight:600}.markdown pre{background:var(--bg);border:1px solid var(--border);border-radius:.375rem;margin:0 0 .75rem;overflow-x:auto;padding:.75rem}.markdown .instrumental{align-items:center;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);color:var(--accent);display:flex;font-size:.85rem;font-variant-numeric:tabular-nums;justify-content:center;letter-spacing:.04em;margin:.75rem 0;padding:.4rem 0;text-transform:uppercase}.md-editor{display:flex;flex-direction:column;gap:.35rem}.md-editor textarea{width:100%}.md-toolbar{display:flex;flex-wrap:wrap;gap:.35rem}.md-toolbar button{min-width:2rem;padding:.25rem .5rem}.md-toolbar .md-bold{font-weight:700}.md-toolbar .md-italic{font-style:italic}.file-link{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.waveform{background:#0d0d0d;border:1px solid var(--border);border-radius:.5rem;cursor:pointer;display:block;height:110px;margin:1rem 0 .75rem;width:100%}.scrubber{display:block;margin:1rem 0;width:100%}.transport,.loop-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.loop-controls{margin-top:.75rem}.time{font-variant-numeric:tabular-nums;color:var(--muted)}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.875rem;max-width:34rem}.form-card h2{margin:0}.field{display:flex;flex-direction:column;gap:.25rem;flex:1 1 8rem}.field-row{display:flex;gap:.875rem;flex-wrap:wrap}textarea{background:#151515;border:1px solid var(--border);border-radius:.375rem;color:inherit;font:inherit;padding:.5rem .625rem;resize:vertical}.lyrics-input{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9rem;line-height:1.6}button.danger{background:var(--error);color:#1a0505}button.ghost.danger{background:none;color:var(--error)}button.ghost.danger:hover{border-color:var(--error)}.section-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-header h2{margin:0}.upload-label{cursor:pointer;display:inline-block}.upload{display:flex;flex-direction:column;gap:.35rem}.pdf-panel{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem;width:100%}.toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.pdf-pages{display:flex;flex-direction:column;gap:1rem;overflow-x:auto}.pdf-page{position:relative;line-height:0}.pdf-page canvas{border-radius:.375rem;display:block;max-width:100%}.pdf-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.pdf-error{border:1px solid var(--border);border-radius:.5rem;padding:.875rem}.stacked{display:flex;flex-direction:column;align-items:stretch}.setlist{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.setlist-songs{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.error{color:var(--error);margin:0}.notice{color:var(--accent);margin:0}
