:root{
	--bg:#0e0e13;
	--bg-deep:#0a0a0f;
	--surface:#1b1b25;
	--surface-raised:#20202c;
	--border:#2d2d3d;
	--text:#ececf3;
	--muted:#9b9bad;
	--accent:#ffb347;
	--accent-hot:#ff7a59;
	--blue:#4f9dff;
	--purple:#b46bff;
	--orange:#ff9f43;
	--red:#ff5c5c;
	--green:#4ecb71;
	--shadow:0 18px 48px rgba(0,0,0,.32);
	--radius:16px;
}

*{box-sizing:border-box}
html{color-scheme:dark}
body{
	margin:0;
	min-height:100vh;
	background:radial-gradient(circle at 50% -20%,rgba(255,179,71,.12),transparent 36rem),linear-gradient(180deg,#16161f,var(--bg) 28rem,var(--bg-deep));
	color:var(--text);
	font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
	line-height:1.5;
	padding-bottom:84px;
}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,179,71,.55);outline-offset:3px}
.skip-link{position:fixed;left:12px;top:-60px;background:var(--accent);color:#1a1005;padding:10px;z-index:999}
.skip-link:focus{top:12px}
.app-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid var(--border);background:rgba(14,14,19,.9);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:46px;height:46px;object-fit:contain}
.brand span{display:grid}
.brand strong{font-size:16px}
.brand small{color:var(--muted);font-size:11px}
.user-menu{display:flex;align-items:center;gap:8px;font-size:13px}
.user-menu form{margin:0}
.page-shell{width:min(1180px,100%);margin:0 auto;padding:24px 16px}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(28px,7vw,44px);line-height:1.05;margin-bottom:8px;letter-spacing:-.035em}
h2{font-size:20px}
.eyebrow{display:block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}
.muted{color:var(--muted)}
.card{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.narrow{max-width:600px}
.stack{display:grid;gap:16px}
label{display:grid;gap:6px;color:var(--text);font-size:13px;font-weight:700}
input,select,textarea{width:100%;min-height:48px;border:1px solid var(--border);border-radius:10px;background:var(--bg-deep);color:var(--text);padding:11px 12px}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised);color:var(--text);padding:9px 14px;font-weight:800;font-size:13px;text-decoration:none;cursor:pointer}
.button-primary{background:linear-gradient(100deg,var(--accent),var(--accent-hot));border-color:transparent;color:#201205}
.button-quiet{min-height:38px;padding:7px 10px;background:transparent}
.button-full{width:100%;min-height:52px}
.auth-panel{width:min(440px,100%);margin:4vh auto;display:grid;gap:18px}
.auth-brand{text-align:center}
.auth-brand img{width:min(190px,55vw);height:auto;filter:drop-shadow(0 16px 36px rgba(0,0,0,.45))}
.auth-brand p{color:var(--muted);margin:8px 0 0}
.alert{border-radius:10px;padding:11px 12px;font-size:13px;margin-bottom:14px}
.alert-error{background:rgba(255,92,92,.11);border:1px solid rgba(255,92,92,.4);color:#ffc2c2}
.alert-success{background:rgba(78,203,113,.11);border:1px solid rgba(78,203,113,.4);color:#baf0c7}
.field-error{color:#ffaaaa;font-weight:600}
.empty-state{text-align:center;padding:48px 22px}
.empty-icon{display:block;font-size:46px;color:var(--accent);margin-bottom:12px}
.error-page{max-width:600px;margin:10vh auto;text-align:center;padding:42px 22px}
.error-page>span{color:var(--accent);font-size:54px;font-weight:900}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:100;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-top:1px solid var(--border);background:rgba(14,14,19,.96);backdrop-filter:blur(14px);padding:5px max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))}
.bottom-nav a{min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:10px;text-decoration:none;font-weight:700}
.bottom-nav a span{font-size:19px;line-height:1}
.bottom-nav a.active{color:var(--accent)}
.summary-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:18px}
.summary-strip div{display:grid;gap:2px;background:var(--surface);padding:14px}
.summary-strip strong{font-size:24px;color:var(--accent)}
.summary-strip span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.set-tabs{display:flex;gap:8px;margin-bottom:14px}
.set-tabs button{flex:1;min-height:46px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-weight:800}
.set-tabs button.active{border-color:var(--accent);color:var(--accent);background:rgba(255,179,71,.08)}
.set-grid{display:grid;gap:18px}
.set-panel{display:none;border:1px solid var(--border);border-radius:var(--radius);background:rgba(27,27,37,.82);overflow:hidden;box-shadow:var(--shadow)}
.set-panel.active{display:block}
.set-header{display:flex;justify-content:space-between;align-items:end;padding:16px;border-bottom:1px solid var(--border)}
.set-header h2{margin:0;font-size:24px}
.set-header p{margin:0;color:var(--muted);font-size:12px;text-align:right}
.song-stack{padding:9px}
.song-card{--tuning-color:var(--muted);display:grid;grid-template-columns:34px 1fr;gap:10px;border:1px solid var(--border);border-left:5px solid var(--tuning-color);border-radius:12px;background:var(--surface-raised);padding:12px 11px;margin:8px 0}
.song-card.tuning-e-standard{--tuning-color:var(--blue)}
.song-card.tuning-drop-d{--tuning-color:var(--purple)}
.song-card.tuning-drop-csharp{--tuning-color:var(--orange)}
.song-card.tuning-drop-c{--tuning-color:var(--red)}
.song-position{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--bg);color:var(--muted);font-size:12px;font-weight:900}
.song-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.song-title-row h3{font-size:15px;margin:0}
.song-title-row h3 a{text-decoration:none}
.song-main>p{color:var(--muted);font-size:12px;margin:3px 0 7px}
.song-tags{display:flex;gap:6px;flex-wrap:wrap}
.tuning-label,.tag,.status,.linked-badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--muted);padding:3px 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.linked-badge{color:var(--accent);border-color:rgba(255,179,71,.35);white-space:nowrap}
.tag-warning{color:#ffb1b1}
.song-card details{margin-top:9px;border-top:1px solid var(--border);padding-top:8px}
.song-card summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:800}
.song-card details p{margin:8px 0 0;color:var(--muted);font-size:12px}
.tuning-break{display:flex;align-items:center;gap:8px;margin:12px 4px 4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.tuning-break:before,.tuning-break:after{content:"";height:1px;background:var(--border);flex:1}
.tuning-break strong{color:var(--text);white-space:nowrap}
.page-actions,.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.card-list,.library-grid{display:grid;gap:12px}
.history-card{display:grid;gap:16px}
.history-card h2{margin:8px 0 3px}
.history-card h2 a{text-decoration:none}
.history-section{scroll-margin-top:90px;margin-bottom:34px}
.history-section>h2{margin-bottom:14px}
.history-decision{display:grid;gap:14px}
.history-decision h3{margin:8px 0 4px}
.history-decision h3 a{text-decoration:none}
.history-decision p{margin-bottom:5px}
.history-decision-action{display:flex;align-items:center}
.history-card dl,.detail-list{margin:0;display:grid;gap:8px}
.history-card dl div,.detail-list div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding-top:8px}
dt{color:var(--muted);font-size:12px}
dd{margin:0;text-align:right;font-weight:700;font-size:13px}
.status{text-transform:capitalize}
.status-published,.status-active{color:var(--green);border-color:rgba(78,203,113,.35)}
.status-reserve{color:var(--accent)}
.builder-guide{margin-bottom:1rem}
.builder-guide p{margin:.35rem 0 0;color:var(--muted)}
.song-card-actions{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.75rem;font-size:.9rem}
.song-card-actions a{font-weight:700}
.song-note-preview{grid-column:1/-1;margin:.25rem 0;color:var(--muted);white-space:pre-wrap}
.shared-notes{white-space:pre-wrap}
.band-note-list{display:grid;gap:8px;margin:12px 0 18px}
.band-note-list article{border-left:3px solid var(--accent);padding:8px 10px;background:var(--bg);border-radius:0 8px 8px 0;white-space:pre-wrap}
.landing-page{display:grid;gap:54px;padding-bottom:48px}
.landing-theme-blue{--accent:#82b7ff}
.landing-theme-monochrome{--accent:#f2f2f2}
.landing-hero{position:relative;isolation:isolate;display:grid;justify-items:center;text-align:center;padding:46px 12px 20px;overflow:hidden}
.landing-glow{position:absolute;z-index:-1;top:8%;left:50%;width:420px;height:420px;transform:translateX(-50%);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 24%,transparent),rgba(87,117,255,.08) 45%,transparent 70%);filter:blur(8px)}
.landing-logo{width:min(330px,78vw);height:auto;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 48%,transparent));animation:logo-jiggle 7s ease-in-out infinite;transform-origin:50% 72%}
.landing-logo.no-motion{animation:none}
.landing-kicker{margin:18px 0 0;color:var(--accent);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.landing-hero h1{margin:4px 0 6px;font-size:clamp(42px,10vw,86px);line-height:.95;letter-spacing:.035em}
.landing-intro{max-width:690px;color:var(--muted);font-size:clamp(16px,2.5vw,20px);line-height:1.6}
.landing-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.landing-photo-strip{display:grid;gap:14px}
.landing-photo{position:relative;aspect-ratio:4/3;margin:0;border-radius:18px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}
.landing-photo img{display:block;width:100%;height:100%;object-fit:contain}
.photo-fit-fill_frame .landing-photo img{object-fit:cover}
.photo-layout-live_first .landing-live-photo{order:-1}
.landing-band-photo figcaption{position:absolute;inset:auto 0 0;padding:54px 18px 18px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;font-size:clamp(28px,5vw,50px);font-weight:900;text-align:center;text-shadow:0 2px 12px #000;letter-spacing:.025em}
.photo-placeholder{min-height:240px;display:grid;place-content:center;text-align:center;border:1px dashed rgba(255,179,71,.5);border-radius:18px;background:linear-gradient(145deg,rgba(255,179,71,.08),rgba(87,117,255,.08));color:var(--accent)}
.photo-placeholder span{font-size:24px;font-weight:900}
.photo-placeholder small{margin-top:5px;color:var(--muted)}
.landing-about,.landing-fan-callout{display:grid;gap:20px;align-items:center;border-top:1px solid var(--border);padding-top:32px}
.landing-about h2,.landing-fan-callout h2{font-size:clamp(28px,5vw,48px);line-height:1.05;margin:.4rem 0}
.landing-about p,.landing-fan-callout p{font-size:16px;line-height:1.7}
.managed-copy{white-space:pre-wrap}
.landing-swag{display:grid;gap:18px;border-top:1px solid var(--border);padding-top:32px}
.landing-section-heading h2{font-size:clamp(32px,6vw,54px);margin:.35rem 0}
.swag-grid{display:grid;gap:14px}
.swag-card{overflow:hidden;padding:0}
.swag-card>img,.swag-image-placeholder{width:100%;height:230px;object-fit:cover;background:var(--bg)}
.swag-image-placeholder{display:grid;place-content:center;color:var(--muted)}
.swag-card>div:last-child{padding:18px}
.swag-card h3{margin:0}
.swag-price{display:block;color:var(--accent);margin-top:6px}
.landing-fan-callout{border:1px solid rgba(255,179,71,.32);border-radius:18px;padding:28px;background:linear-gradient(135deg,rgba(255,179,71,.08),rgba(87,117,255,.05))}
.auth-card{display:grid;gap:16px;max-width:560px;margin-inline:auto}
.fan-request-form{max-width:720px}
.fan-request-form form,.fan-review-card form{display:grid;gap:12px}
.fan-review-card{display:grid;gap:18px}
.admin-landing-section{margin-bottom:28px}
.admin-landing-section>form,.admin-landing-section>.card>form{display:grid;gap:16px}
.admin-photo-grid{display:grid;gap:16px}
.admin-photo-grid label{display:grid;gap:8px}
.admin-photo-preview{width:100%;height:220px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}
.swag-admin-card{display:grid;gap:16px}
.swag-admin-card>img{width:100%;height:180px;object-fit:cover;border-radius:10px}
.swag-admin-card form{display:grid;gap:12px}
.photo-album-grid{display:grid;gap:16px}
.album-photo{margin:0;padding:0;overflow:hidden}
.album-photo a{display:block;background:var(--bg)}
.album-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}
.album-photo a:hover img{transform:scale(1.015)}
.album-photo figcaption{padding:14px 16px;color:var(--text);font-weight:700}
.gallery-admin-card{display:grid;gap:16px}
.gallery-admin-card>img{width:100%;height:190px;object-fit:cover;border-radius:10px}
.gallery-admin-card form{display:grid;gap:12px}
.fan-message{font-size:17px;font-style:italic}
.status-new{color:var(--accent)}
.status-considering{color:var(--orange)}
.status-planned{color:var(--green)}
.status-not_selected{color:var(--muted)}
@keyframes logo-jiggle{
	0%,88%,100%{transform:rotate(0deg) scale(1)}
	91%{transform:rotate(-1.5deg) scale(1.015)}
	94%{transform:rotate(1.5deg) scale(1.015)}
	97%{transform:rotate(-.7deg) scale(1.005)}
}
@media(prefers-reduced-motion:reduce){.landing-logo{animation:none}}
.status-fafo{color:var(--accent);border-color:rgba(255,179,71,.4)}
.status-experimental{color:var(--purple);border-color:rgba(180,107,255,.4)}
.status-submitted{color:var(--blue);border-color:rgba(79,157,255,.4)}
.status-approved{color:var(--green);border-color:rgba(78,203,113,.35)}
.status-declined{color:var(--muted)}
.section-nav{display:flex;gap:8px;overflow-x:auto;margin:-4px 0 20px;padding:4px 1px}
.section-nav a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);padding:8px 14px;text-decoration:none;font-size:12px;font-weight:800}
.section-nav a.active{color:#201205;border-color:transparent;background:linear-gradient(100deg,var(--accent),var(--accent-hot))}
.readiness-key{margin-bottom:18px;box-shadow:none}
.readiness-key h2{margin-bottom:4px}
.readiness-key p{margin:0;color:var(--muted);font-size:12px}
.workflow-song-grid{display:grid;gap:14px}
.workflow-song header h2{margin:7px 0 2px}
.workflow-song header h2 a{text-decoration:none}
.workflow-song header p{margin:0;color:var(--muted);font-size:12px}
.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:14px 0}
.readiness-grid div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);padding:8px 10px}
.readiness-grid div.is-me{border-color:rgba(255,179,71,.45)}
.readiness-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.readiness-grid strong{font-size:20px;color:var(--accent)}
.readiness-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.secondary-actions{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}
.secondary-actions summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:800}
.secondary-actions form{display:grid;gap:10px;margin-top:10px}
.my-area{margin-bottom:18px}
.my-area>form>.button{align-self:end}
.idea-card,.review-card{display:grid;gap:14px}
.idea-card h3,.review-card h2{margin:8px 0 3px}
.idea-card p,.review-card p{margin-bottom:6px}
.review-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.review-actions form{margin:0}
.vote-summary{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);margin-top:12px;padding-top:10px}
.vote-summary strong{color:var(--accent)}
.vote-summary span{color:var(--muted);font-size:12px;text-align:right}
.proposal-voters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.proposal-voters div{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:9px;background:var(--bg);padding:7px 9px}
.proposal-voters div.is-me{border-color:rgba(255,179,71,.45)}
.proposal-voters span{color:var(--muted);font-size:11px}
.proposal-voters strong{color:var(--accent)}
.proposal-vote-form{display:grid;gap:9px}
.filter-card{display:grid;gap:12px;margin-bottom:18px}
.library-song{display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;box-shadow:none}
.library-song:hover{border-color:var(--accent)}
.library-song h2{font-size:17px;margin:8px 0 2px}
.library-song p{font-size:12px;color:var(--muted);margin:0}
.detail-grid{display:grid;gap:14px}
.notes-card,.danger-zone{margin-top:14px}
.button-danger{color:#ffb1b1;border-color:rgba(255,92,92,.4)}
.song-form{max-width:820px}
.form-grid{display:grid;gap:14px}
.form-grid textarea{min-height:90px;resize:vertical}
.check-row{display:flex;align-items:center;grid-template-columns:auto 1fr}
.check-row input{width:22px;min-height:22px}
.admin-create{margin-bottom:18px}
.admin-create form>button{margin-top:16px}
.member-list{display:grid;gap:12px}
.member-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.member-card header h2{margin:0 0 2px}
.member-card header p,.member-meta{color:var(--muted);font-size:11px;margin:0}
.member-controls{display:grid;gap:10px;margin-top:14px}
.reset-panel{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}
.reset-panel summary{color:var(--accent);cursor:pointer;font-weight:800;font-size:12px}
.reset-panel form{display:grid;gap:10px;margin-top:10px}
.member-meta{margin-top:12px}
.proposal-grid{display:grid;gap:12px}
.proposal-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;text-decoration:none}
.proposal-summary h2{margin:8px 0 2px;font-size:18px}
.proposal-summary p{margin:0;color:var(--muted);font-size:12px}
.proposal-summary>div:last-child{display:grid;text-align:center}
.proposal-summary>div:last-child strong{font-size:25px;color:var(--accent)}
.proposal-summary>div:last-child span{font-size:10px;color:var(--muted);text-transform:uppercase}
.open-hint{display:inline-block;margin-top:10px;color:var(--accent);font-size:12px;font-weight:800;text-decoration:none}
.workflow-guide{display:grid;gap:12px;margin-bottom:18px;box-shadow:none}
.workflow-guide div{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.workflow-guide div:last-child{padding-bottom:0;border-bottom:0}
.workflow-guide strong{color:var(--accent)}
.workflow-guide span{color:var(--muted);font-size:12px}
.restore-panel{grid-column:1/-1;border-top:1px solid var(--border);padding-top:14px}
.restore-panel summary{cursor:pointer;color:var(--accent);font-weight:900}
.restore-panel>p{margin:10px 0;color:var(--muted);font-size:13px}
.restore-panel form{display:grid;gap:12px}
.proposal-heading{align-items:center}
.save-state{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:7px 11px;color:var(--green);font-size:11px;font-weight:900}
.save-state.is-saving{color:var(--accent)}
.save-state.is-dirty{color:var(--orange)}
.save-state.is-error{color:#ffaaaa;border-color:rgba(255,92,92,.4)}
.warning-panel{margin-bottom:16px;box-shadow:none;border-color:rgba(255,159,67,.35)}
.warning-panel summary{cursor:pointer;color:var(--orange);font-weight:900}
.warning-panel ul{padding-left:20px;margin-bottom:0;color:var(--muted);font-size:13px}
.proposal-editor{display:grid;gap:18px}
.builder-tabs{display:flex}
.builder-tabs button{display:grid;place-content:center;gap:2px}
.builder-tabs small{display:none;color:var(--muted);font-size:10px;font-weight:700}
.is-dragging-song .builder-tabs{position:sticky;top:0;z-index:20}
.is-dragging-song .builder-tabs small{display:block}
.is-dragging-song .builder-panel:not(.active){display:block;position:fixed;left:-200vw;top:0;width:100vw}
.is-dragging-song .drag-ghost,.is-dragging-song .sortable-fallback{pointer-events:none}
.builder-tabs button.drag-switch-ready{border-color:var(--green);color:var(--green);background:rgba(76,209,124,.12);transform:scale(1.02)}
.builder-tabs button.drag-switch-ready small{color:var(--green)}
.builder-panel{display:none}
.builder-panel.active{display:block}
.setlist-builder{gap:18px}
.proposal-set{display:none}
.proposal-set.active{display:block}
.builder-panel .proposal-set{display:block}
.proposal-song{grid-template-columns:42px 1fr}
.drag-handle{width:40px;min-height:52px;align-self:stretch;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--muted);font-size:24px;cursor:grab;touch-action:none}
.drag-handle{display:grid;place-items:center}
.drag-ghost{opacity:.35}
.move-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}
.move-controls button,.remove-item-form button{min-height:38px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:11px;font-weight:800}
.remove-item-form{margin-top:6px}
.remove-item-form button{width:100%;color:#ffaaaa}
.card-fafo-action{margin-top:10px}
.card-fafo-action .button{width:100%}
.button:disabled{opacity:.55;cursor:default}
.unknown-tuning-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:12px}
.missing-metadata-form{display:grid;gap:9px;border:1px solid rgba(255,179,71,.32);border-radius:12px;background:rgba(255,179,71,.05);padding:12px;margin-top:12px}
.missing-metadata-form>strong{color:var(--accent);font-size:13px}
.admin-song-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:12px;padding-top:12px}
.admin-song-actions form{margin:0}
.proposal-empty{padding:28px;text-align:center;border:1px dashed var(--border);border-radius:12px;color:var(--muted);margin:8px}
.proposal-empty.hidden{display:none}
.proposal-tools{margin-top:18px;box-shadow:none}
.proposal-tools form{display:grid;gap:10px}
.proposal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.proposal-actions form{margin:0}
@media(min-width:760px){
	body{padding-bottom:0}
	.app-header{padding-inline:28px;position:sticky;top:0;z-index:100}
	.page-shell{padding:34px 28px 70px}
	.bottom-nav{position:sticky;top:72px;bottom:auto;display:flex;justify-content:center;border-top:0;border-bottom:1px solid var(--border);padding:0}
	.bottom-nav a{min-height:52px;flex-direction:row;padding:0 16px;font-size:13px}
	.bottom-nav a span{font-size:15px}
	.summary-strip{grid-template-columns:repeat(4,1fr)}
	.set-tabs{display:none}
	.set-grid{grid-template-columns:1fr 1fr;align-items:start}
	.set-panel,.set-panel.active{display:block}
	.filter-card{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto;align-items:end}
	.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.workflow-song-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.readiness-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
	.review-card{grid-template-columns:1fr auto;align-items:center}
	.detail-grid{grid-template-columns:1fr 1fr}
	.history-card{grid-template-columns:1fr minmax(230px,.6fr)}
	.history-decision{grid-template-columns:1fr auto;align-items:center}
	.form-grid{grid-template-columns:1fr 1fr}
	.form-grid .full{grid-column:1/-1}
	.member-list{grid-template-columns:repeat(2,minmax(0,1fr))}
	.member-controls{grid-template-columns:1.5fr 1fr 1fr auto;align-items:end}
	.proposal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.workflow-guide{grid-template-columns:repeat(3,1fr)}
	.workflow-guide div{padding:0 14px;border-bottom:0;border-right:1px solid var(--border)}
	.workflow-guide div:last-child{border-right:0}
	.builder-tabs{display:flex}
	.proposal-editor{display:block}
	.setlist-builder.active{display:grid;grid-template-columns:1fr 1fr}
	.proposal-set,.proposal-set.active{display:block}
	.proposal-set[data-proposal-panel="0"] .proposal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
	.proposal-tools form{grid-template-columns:1fr auto;align-items:end}
	.landing-photo-strip{grid-template-columns:1fr 1fr;align-items:start}
	.landing-photo-strip.photo-layout-stacked{grid-template-columns:1fr}
	.swag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.landing-about{grid-template-columns:1fr 1fr}
	.landing-fan-callout{grid-template-columns:1fr auto}
	.fan-review-card{grid-template-columns:1fr minmax(220px,.35fr);align-items:end}
	.admin-photo-grid{grid-template-columns:1fr 1fr}
	.swag-admin-card{grid-template-columns:220px 1fr}
	.photo-album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.gallery-admin-card{grid-template-columns:240px 1fr}
}
