:root{color-scheme:dark;--bg:#100e13;--panel:#19161c;--panel2:#211d24;--text:#f5eced;--muted:#bbb0b4;--gold:#eac991;--border:#423640}
*{box-sizing:border-box}html{font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}body{margin:0;background:radial-gradient(ellipse at top left,#281c24 0,transparent 45%),var(--bg);color:var(--text)}
a{color:var(--gold)}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--gold);background:var(--gold);color:#1b1521;padding:.7rem 1.1rem;font-weight:650;border-radius:4px}button:hover{filter:brightness(1.12)}button:disabled{opacity:.45;cursor:not-allowed}.ghost{background:transparent;color:var(--gold)}
.workspace-header{display:flex;align-items:center;justify-content:space-between;padding:1.4rem clamp(1.1rem,5vw,4.5rem);border-bottom:1px solid var(--border);gap:1rem}.logo{font-size:1.7rem;font-weight:800;letter-spacing:.17em;color:var(--text);text-decoration:none}.logo span,.page-heading h1 span{color:var(--gold)}.workspace-header nav{display:flex;gap:1.3rem;align-items:center;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}.workspace-header nav a{text-decoration:none}
.shell{width:min(1350px,calc(100% - 2rem));margin:3rem auto}.page-heading{max-width:810px;margin-bottom:2.3rem}.eyebrow{color:var(--gold);font-weight:750;text-transform:uppercase;letter-spacing:.2em;font-size:.65rem}.page-heading h1{font-size:clamp(2.8rem,7vw,5.6rem);letter-spacing:-.06em;margin:.25rem 0;line-height:1.1}.page-heading p,.helper{color:var(--muted);line-height:1.65}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.toolbar strong{display:block}.layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.3rem;align-items:start}.sidebar,.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px}.sidebar{padding:1rem;position:sticky;top:1rem}.sidebar-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.sidebar h2{font-size:1.05rem;margin:0}.sidebar button{font-size:.8rem;padding:.5rem}.release-list{display:grid;gap:.5rem;margin-top:1rem}.release-list button{text-align:left;background:var(--panel2);color:var(--text);border:1px solid var(--border);padding:.7rem;border-radius:5px;font-weight:450}.release-list button.selected{border-color:var(--gold)}.release-list small{display:block;color:var(--muted);margin-top:.3rem}
.editor{display:grid;gap:1.4rem;min-width:0}.panel{padding:clamp(1.2rem,3.5vw,2.4rem)}.panel h2{font-size:1.5rem;margin:.25rem 0 1rem}.panel h3{font-size:1rem;margin:1.7rem 0 .65rem}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem;gap:1rem}.pill{border:1px solid var(--border);padding:.35rem .65rem;border-radius:12px;color:var(--gold);font-size:.75rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.form-grid .span-2{grid-column:span 2}label{display:block;font-weight:600;font-size:.81rem;min-width:0}label input:not([type=checkbox]):not([type=file]):not([type=radio]),label select,textarea{display:block;width:100%;margin:.45rem 0 0;padding:.75rem .85rem;background:#120f15;border:1px solid #4b404c;border-radius:4px;color:var(--text);outline-offset:2px}label input:focus,textarea:focus{outline:1px solid var(--gold)}textarea{resize:vertical;min-height:80px}.full{margin:1rem 0}.optional{font-weight:400;color:var(--muted);font-size:.75rem}.file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.upload-area{border:1px dashed #79634f;border-radius:8px;padding:1.2rem;min-height:145px}.upload-area strong,.upload-area span,.upload-area small{display:block}.upload-area span,.upload-area small{color:var(--muted);margin:.35rem 0;font-weight:400}.upload-area input{width:100%;max-width:100%;font-size:.78rem;margin:.75rem 0}.upload-area img{margin-top:1rem;width:130px;height:130px;object-fit:cover}progress{width:100%;accent-color:var(--gold)}.check-line{display:flex;align-items:flex-start;gap:.8rem;margin:1.1rem 0;padding:1rem;background:#251d25;border-radius:6px}.check-line input{margin:.28rem 0 0;accent-color:var(--gold)}.check-line small{display:block;color:var(--muted);margin-top:.4rem;font-weight:400}.playlist-list{display:grid;gap:.4rem}.playlist-list label{display:flex;gap:.6rem;align-items:center;padding:.65rem;background:var(--panel2);border-radius:4px}.playlist-list input{accent-color:var(--gold)}.playlist-list small{display:block;color:var(--muted);font-weight:400;font-size:.7rem}.inline-add{display:flex;gap:.7rem;align-items:end;margin-top:1rem}.inline-add label{flex:1}.inline-add button{white-space:nowrap}.task-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.tasks{display:grid;gap:.35rem}.tasks label{display:flex;align-items:flex-start;gap:.65rem;font-weight:450;font-size:.89rem;line-height:1.45;padding:.5rem 0}.tasks input{accent-color:var(--gold);margin:.23rem 0 0}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0 2rem}.action-bar p{color:var(--gold);margin:.25rem 0}.action-bar small{color:var(--muted)}.action-buttons{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.auth{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:1rem}.auth label{flex:1}
[hidden]{display:none!important}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static}.release-list{display:flex;overflow-x:auto}.release-list button{min-width:160px}.shell{margin:1.5rem auto}.task-columns{gap:.8rem}}@media(max-width:600px){.form-grid,.file-grid,.task-columns{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.workspace-header nav span{display:none}.action-bar{align-items:stretch;flex-direction:column}.action-buttons button{flex:1}.auth{grid-template-columns:1fr}.inline-add{flex-direction:column;align-items:stretch}}

#auto-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1.4rem}#auto-checklist label{color:#d1c3c6}#auto-checklist input{opacity:.7}@media(max-width:600px){#auto-checklist{grid-template-columns:1fr}}


/* Keep actual radio inputs compact: the generic text-input selector caused the
   huge full-width circles and squeezed release timing explanations. */
/* One compact, visible tick inside the existing field label - no duplicate
   checklist or second row of controls. The state is announced accessibly. */
.field-task{position:relative;display:block;min-width:0}
.field-task>label{display:block;min-width:0;padding-right:2rem}
.field-task.span-2{grid-column:1 / -1}
.field-task.full{margin:1rem 0}
.field-task .field-check{position:absolute;right:0;top:0;display:grid;place-items:center;
 width:26px;height:26px;min-width:26px;padding:0;border-radius:5px;line-height:1;
 font-size:1rem;font-weight:800;cursor:pointer;z-index:1}
.field-task .field-check[data-state=done]{background:#153c30;color:#bbf5c9;border:1px solid #438c67}
.field-task .field-check[data-state=attention]{background:#502624;color:#ffd5bd;border:1px solid #d07863}
.field-task .field-check[data-state=pending]{background:#2b252e;color:var(--gold);border:1px solid #85717b}
.field-task .field-check:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.field-task:has(.upload-area)>.upload-area{min-height:172px;padding-right:2.8rem}
.field-task:has(.upload-area)>.field-check{top:.8rem;right:.8rem}
.file-grid .upload-icon{display:block;width:67px;height:67px;max-width:100%;
 color:var(--gold);margin:.1rem 0 .75rem;filter:drop-shadow(0 1px 8px #ebc99529)}
.file-grid .upload-area:focus-within{outline:1px solid var(--gold);outline-offset:2px}
.spotify-pitch-group{border:1px solid var(--border);border-radius:6px;padding:1rem;margin:1.3rem 0}
.spotify-pitch-group .full{margin:0}
.spotify-pitch-group .field-task{margin:0}
.pitch-footer{display:flex;justify-content:space-between;align-items:center;gap:.65rem;margin-top:1rem}
.pitch-submit{display:flex;gap:.6rem;align-items:center;font-weight:500;font-size:.86rem}
.pitch-submit input{accent-color:var(--gold)}
#pitch-counter{font-size:.76rem;color:var(--muted);white-space:nowrap}
.pitch-outcome{margin-top:1.2rem;border-top:1px solid var(--border);padding-top:.8rem}
.pitch-outcome summary{cursor:pointer;color:var(--gold);font-size:.85rem}
.pitch-outcome label{margin-top:.9rem}
.pitch-outcome select{display:block;width:100%;padding:.7rem;background:#120f15;border:1px solid var(--border);border-radius:4px;color:var(--text);margin-top:.3rem}
.release-group-label{font-size:.72rem!important;color:var(--gold);margin:1rem 0 .25rem!important;text-transform:uppercase;letter-spacing:.07em}
.release-list{display:grid;gap:.45rem;min-width:0}
.release-list button strong{display:block;font-weight:650}
.release-list button small{font-size:.72rem}
.sidebar{min-width:0}
@media(max-width:900px){.release-list{display:flex;flex-wrap:wrap;overflow-x:visible}.release-group-label{flex-basis:100%}.release-list button{min-width:160px;max-width:260px}}
@media(max-width:600px){.pitch-footer{align-items:flex-start}}

/* A release-time choice is a small form input, not another full-width panel. */
.release-timing-picker{display:flex;flex-direction:column;min-width:0}
.release-timing-picker select{display:block;min-height:45px;width:100%;margin:.45rem 0 0;padding:.68rem 2rem .68rem .75rem;background:#120f15;color:var(--text);border:1px solid #4b404c;border-radius:4px;appearance:auto;cursor:pointer;font-size:.84rem}
.release-timing-picker select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.release-timing-picker #release-time-preview{display:block;font-size:.72rem;line-height:1.35;margin-top:.4rem;overflow-wrap:anywhere}
.release-timing-picker #release-time-preview[hidden]{display:none!important}
.file-grid .upload-area{min-width:0;overflow:hidden;min-height:172px}
.file-grid .upload-area strong{font-size:.82rem;letter-spacing:.075em}
.file-grid .upload-area input[type=file]{max-width:100%;white-space:normal}
@media(max-width:1050px){.file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.file-grid{grid-template-columns:1fr}}

/* Synced with the public music-supervisor vocabulary but editable per release. */
.tag-field{min-width:0}
.tag-field-label{display:block;font-size:.82rem;font-weight:650;margin-bottom:.4rem}
.tag-picker{border:1px solid #4b404c;border-radius:5px;background:#120f15;position:relative}
.tag-picker summary{display:block;cursor:pointer;list-style:none;padding:.8rem 2rem .8rem .85rem;min-height:46px;font-weight:450;font-size:.84rem;position:relative}
.tag-picker summary::-webkit-details-marker{display:none}
.tag-picker summary::after{content:"⌄";position:absolute;right:.8rem;top:50%;transform:translateY(-50%);color:var(--gold)}
.tag-picker[open] summary::after{content:"⌃"}
.tag-picker summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.tag-picker-options{max-height:240px;overflow:auto;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--border)}
.tag-picker-options label{font-weight:400;font-size:.82rem;padding:.55rem .8rem;display:flex;align-items:start;gap:.7rem;cursor:pointer}
.tag-picker-options label:hover{background:var(--panel2)}
.tag-picker-options input{accent-color:var(--gold);margin:.15rem 0 0;flex-shrink:0}
.tag-add-row{display:flex;align-items:end;gap:.45rem;border-top:1px solid var(--border);padding:.65rem}
.tag-add-row input{width:100%;min-width:0;margin:0!important;padding:.55rem;background:var(--bg);border:1px solid #4b404c;border-radius:4px;color:var(--text);font-size:.8rem}
.tag-add-row button{white-space:nowrap;padding:.56rem .7rem;font-size:.8rem}
.tag-selected{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}
.tag-selected:empty{display:none}
.tag-pill{font-size:.7rem;font-weight:550;padding:.25rem .5rem;border-radius:20px;background:#2a2227;border:1px solid #695544;color:var(--text);max-width:100%;white-space:normal;overflow-wrap:anywhere}
.tag-pill:hover{background:#453333}

/* Canonical sound facets: keep instruments, dominance and style together. */
.tag-option-heading{padding:.62rem .8rem .3rem;margin-top:.2rem;border-top:1px solid var(--border);color:var(--gold);font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.tag-option-heading:first-child{border-top:0}
.tag-picker-options .tag-option-heading+label{margin-top:.15rem}

/* Multi-line inputs are compact when completed. Only the editor is hidden:
   original textarea values still save, and manual expansion is always possible. */
.field-task.long-field{min-width:0}
.field-task.long-field>label{padding-right:8rem}
.field-task.long-field .long-field-toggle{position:absolute;right:2.2rem;top:0;
 border:1px solid var(--border);border-radius:5px;padding:.2rem .45rem;
 background:#28212a;color:var(--gold);font-size:.72rem;min-height:26px;line-height:1.2;z-index:1}
.field-task.long-field .long-field-toggle:hover{border-color:var(--gold)}
.field-task.long-field .long-field-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.field-task.long-field.long-collapsed textarea{display:none!important}
.field-task .long-field-excerpt{display:none;max-width:100%;margin:.55rem 0 .1rem;
 font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.field-task.long-field.long-collapsed .long-field-excerpt:not(:empty){display:block}
.past-editorial-panel{border-color:#66523d}
.past-editorial-panel h2{margin:.2rem 0 .5rem}
.past-editorial-panel .pitch-outcome{margin-top:.5rem}
#flow-audience{line-height:1.6}
.audience-refresh{font-size:.75rem;padding:.27rem .6rem;margin-left:.5rem;vertical-align:middle}
@media(max-width:520px){
 .field-task.long-field>label{padding-right:7.2rem}
 .field-task.long-field .long-field-toggle{font-size:.66rem}
}


/* Streaming & Spotify: the account and playlist picker are two compact cards. */
.streaming-section{border-top:1px solid var(--border);padding:1.15rem 0 .5rem}
.streaming-section:first-of-type{border:0;padding-top:0}
.streaming-section h3{font-size:1rem;margin:.1rem 0 .7rem}
.streaming-section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.streaming-section-heading h3{margin:.1rem 0}
.streaming-section-heading .playlist-title{font-size:.86rem;font-weight:700}
#streaming-panel .form-grid{margin:.7rem 0 1rem}
#streaming-panel .check-line{margin:.8rem 0 .45rem;padding:.7rem .85rem}
#streaming-panel .helper{font-size:.8rem;margin:.55rem 0}
.text-link{background:transparent;color:var(--gold);border:0;padding:.16rem .2rem;text-decoration:underline;text-underline-offset:3px;font-size:.81rem;font-weight:600}
.text-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.spotify-account-panel,.playlist-select-panel{background:var(--panel2);border:1px solid var(--border);border-radius:7px;padding:.85rem 1rem;margin:.7rem 0}
.spotify-account-panel p{margin:0}
#spotify-owner-status{font-weight:650}
#spotify-owner-status.connected{color:#b5e6c6}
#spotify-owner-dates{margin:.25rem 0 0!important}
.inline-reconnect{font-size:inherit}
.spotify-actions{display:flex;gap:.55rem;flex-wrap:wrap}
.spotify-actions:has(> button:not([hidden])){margin-top:.45rem}
.spotify-connect{background:#1ed760;border:1px solid #1ed760;color:#101810;border-radius:99px;padding:.58rem 1rem;font-size:.88rem}
.playlist-picker{border:1px solid #66505e;background:#161219;border-radius:5px;margin:.65rem 0 .3rem}
.playlist-picker summary{list-style:none;cursor:pointer;padding:.7rem .82rem;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:.87rem}
.playlist-picker summary::-webkit-details-marker{display:none}
.playlist-picker summary:after{content:"⌄";color:var(--gold)}
.playlist-picker[open] summary:after{content:"⌃"}
.playlist-picker.unavailable{opacity:.6}
.playlist-list{padding:.3rem;display:grid;gap:2px;max-height:250px;overflow-y:auto}
.playlist-list label{background:transparent;padding:.48rem .65rem;cursor:pointer;font-weight:500}
.playlist-list label:hover{background:#302731}
.playlist-list input{flex-shrink:0}
.playlist-defaults-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}
#playlist-save-defaults{padding:.2rem 0}
.compact-hint{font-size:.78rem!important}
#release-runbook .runbook-section{padding:1.1rem 0;border-top:1px solid var(--border)}
#release-runbook .runbook-section:first-of-type{border-top:0;padding-top:0}
#release-runbook .runbook-section h3{font-size:1rem;margin:.2rem 0 .75rem}
.responsibility{color:var(--muted);font-size:.79rem;font-weight:450;margin-left:.5rem}
.tasks .task-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.52rem .65rem;border-radius:5px;background:var(--panel2);flex-wrap:wrap}
.tasks .task-row label{padding:0;display:flex;gap:.6rem;align-items:center;flex:1;font-size:.86rem}
.task-link{color:var(--gold);font-size:.75rem;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
#auto-checklist,#pre-auto-checklist{display:grid;grid-template-columns:1fr;gap:.35rem}
#auto-checklist .auto-task,#pre-auto-checklist .auto-task{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;column-gap:.6rem;row-gap:.1rem;align-items:center;background:var(--panel2);border-radius:5px;padding:.65rem .7rem}
.auto-done{font-size:1.14rem;color:var(--muted);font-weight:800}
.auto-done[data-status=done]{color:#b5e6c6}
.auto-task-label{font-size:.86rem;line-height:1.35}
#auto-checklist .review-control,#pre-auto-checklist .review-control{display:flex;gap:.45rem;align-items:center;padding:0;justify-self:end;font-size:.75rem;color:var(--gold)}
#auto-checklist .review-control input,#pre-auto-checklist .review-control input{margin:0}
#auto-checklist .auto-task-info,#pre-auto-checklist .auto-task-info{grid-column:2 / 4;color:var(--muted);font-size:.73rem}
@media(max-width:640px){#auto-checklist .auto-task,#pre-auto-checklist .auto-task{grid-template-columns:1.35rem minmax(0,1fr) auto}.tasks .task-row{align-items:flex-start}.responsibility{display:block;margin:.15rem 0 0}}

/* Keep resource arrows next to each checklist action, not at the far right. */
.tasks .task-row .task-row-action{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:0}
.tasks .task-row .task-row-action>label{flex:0 1 auto;margin:0;padding:0}
.tasks .task-row .task-row-action>.task-link{display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;line-height:1;padding:.25rem .1rem}
.tasks .task-row .task-row-action>.task-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}


/* Checklist is one focused view, with a small phase switch at top-right. */
.runbook-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.25rem 0 1rem}
#release-runbook .runbook-toolbar h2{margin:0}
.runbook-phase-switch{display:inline-flex;gap:2px;background:#241e26;border:1px solid var(--border);border-radius:999px;padding:3px}
.runbook-phase-switch button{background:transparent;border:0;border-radius:999px;color:var(--muted);font-weight:650;font-size:.78rem;padding:.42rem .8rem;white-space:nowrap}
.runbook-phase-switch button[aria-pressed=true]{background:var(--gold);color:#241521}
.runbook-phase-switch button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#release-runbook .runbook-section:first-of-type{border-top:0}
#release-runbook .runbook-section[hidden]{display:none!important}
#gpt-extras-store[hidden]{display:none!important}
#auto-checklist .gpt-task-extra{grid-column:2 / 4;min-width:0;font-weight:400;padding:.3rem 0 .15rem}
#auto-checklist .gpt-task-extra .helper{font-size:.75rem;line-height:1.5;margin:.25rem 0}
.gpt-task-details{max-width:100%;font-size:.78rem}
.gpt-task-details>summary{cursor:pointer;color:var(--gold);display:list-item;list-style:revert;padding:.2rem .1rem;font-weight:550}
.gpt-task-details>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gpt-dsp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.8rem .2rem .25rem}
.gpt-dsp-fields label{font-size:.75rem;font-weight:550;min-width:0}
.gpt-dsp-fields label input{font-size:.78rem;padding:.55rem!important;margin:.25rem 0 0!important}
.gpt-inline-subtask{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.gpt-inline-subtask .text-link{font-size:.75rem}
.gpt-playlist-connection{display:flex;align-items:center;gap:.4rem .7rem;flex-wrap:wrap;font-size:.77rem}
.gpt-playlist-connection #spotify-owner-status{font-size:.77rem}
.gpt-playlist-connection #spotify-owner-dates{margin:0!important}
.gpt-playlist-connection .spotify-actions{margin:0!important}
.gpt-playlist-connection .spotify-connect{font-size:.76rem;padding:.35rem .8rem}
.gpt-task-extra .playlist-picker{margin:.35rem 0 .25rem;max-width:500px}
.gpt-task-extra .playlist-picker summary{min-height:unset;font-size:.78rem;padding:.4rem .6rem}
.gpt-task-extra .playlist-list{max-height:170px}
.gpt-task-extra .playlist-list label{font-size:.77rem}
.gpt-task-extra .playlist-title{font-size:.77rem;color:var(--muted)}
.gpt-task-extra .playlist-defaults-actions{font-size:.74rem}
.gpt-task-extra .compact-hint{margin:.25rem 0 0!important}
#carryover-pre-runbook-section .compact-hint{margin:.7rem 0 0}
#post-checklist .task-row:has(.release-job-log){display:block}
#post-checklist .task-row .release-job-log{margin:.4rem 0 0 1.55rem;padding:0;border-top:0}
#post-checklist .task-row .release-job-log>summary{justify-content:flex-start;flex-wrap:wrap;gap:.4rem;padding:.38rem 0;font-size:.78rem}
#post-checklist .task-row .release-log-inner{padding:.3rem 0 .65rem}
#post-checklist .task-row .release-log-headline{text-align:left}
@media(max-width:640px){
 .runbook-toolbar{align-items:flex-start}
 .runbook-phase-switch button{font-size:.75rem;padding:.4rem .65rem}
 .gpt-dsp-fields{grid-template-columns:1fr}
 #auto-checklist .gpt-task-extra{grid-column:2 / 4}
}

/* Private per-release Spotify job inspector. Only metadata, never tokens. */
.release-job-log{margin:1rem 0 0;padding:.1rem 0;border-top:1px solid var(--border)}
.release-job-log[hidden]{display:none!important}
.release-job-log>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;
 padding:.9rem .15rem;cursor:pointer;color:var(--gold);font-weight:720}
.release-job-log>summary::marker{color:var(--gold)}
.release-log-headline{color:var(--muted);font-size:.75rem;font-weight:500;text-align:right}
.release-log-inner{padding:.15rem .2rem .8rem}
.release-log-inner .helper{margin:.4rem 0 .7rem}
.release-log-summary{font-size:.85rem;font-weight:650;margin:.8rem 0}
.release-log-filters{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap;margin:.8rem 0}
.release-log-filters label{font-size:.76rem;flex:1 1 145px;min-width:135px;color:var(--muted)}
.release-log-filters select{display:block;width:100%;margin-top:.3rem;font-size:.82rem;padding:.4rem .45rem}
.release-log-filters button{margin-bottom:1px;padding:.4rem .75rem;font-size:.8rem}
.release-log-rows{display:grid;gap:.4rem}
.release-log-item{border:1px solid var(--border);border-radius:6px;background:var(--panel2);padding:.62rem .75rem}
.release-log-item-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}
.release-log-item strong{font-size:.84rem;overflow-wrap:anywhere}
.release-log-state{font-size:.75rem;font-weight:700;color:var(--muted)}
.release-log-item[data-status=succeeded] .release-log-state{color:#a0dbc0}
.release-log-item[data-status=failed] .release-log-state,
.release-log-item[data-status=review] .release-log-state{color:#f0a38f}
.release-log-item[data-status=retry] .release-log-state,
.release-log-item[data-status=pending] .release-log-state{color:var(--gold)}
.release-log-meta{font-size:.76rem;color:var(--muted);margin:.35rem 0 0}
.release-log-reason{font-size:.78rem;color:#e8b1a5;margin:.4rem 0 0;overflow-wrap:anywhere}
#release-log-more{margin-top:.8rem}
@media(max-width:580px){
 .release-job-log>summary{align-items:flex-start;flex-direction:column;gap:.3rem}
 .release-log-headline{text-align:left}
 .release-log-filters{gap:.4rem}
}
