.completion-review-modal{width:min(980px,100vw - 32px);max-height:min(88dvh,900px)}.completion-review{gap:var(--spacing-md);flex-direction:column;display:flex}.completion-review__intro{justify-content:space-between;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-bg-alt));border:1px solid color-mix(in srgb, var(--color-primary) 26%, var(--color-border));border-radius:var(--border-radius-md);display:flex}.completion-review__intro p{max-width:64ch;color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0;line-height:1.45}.completion-review__eyebrow{font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)!important;font-size:var(--font-size-xs)!important;margin-bottom:3px!important}.completion-review__totals{gap:var(--spacing-xs);grid-template-columns:repeat(3,minmax(58px,1fr));margin:0;display:grid}.completion-review__totals div{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg);text-align:center;border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.completion-review__totals dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.completion-review__totals dd{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin:1px 0 0}.completion-review__meta{gap:var(--spacing-sm);grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);display:grid}.completion-review-field{gap:var(--spacing-xs);min-width:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-direction:column;display:flex}.completion-review-field input,.completion-review-field select{width:100%;min-height:40px;padding:0 var(--spacing-sm);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.completion-review-field input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.completion-review-field select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.completion-review-field small{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.completion-review__list{gap:var(--spacing-xs);max-height:42dvh;padding-right:var(--spacing-xs);flex-direction:column;display:flex;overflow-y:auto}.completion-song{align-items:end;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--border-radius-md);grid-template-columns:minmax(180px,1.5fr) minmax(130px,.8fr) minmax(100px,.6fr) minmax(100px,.6fr) auto;display:grid}.completion-song__identity{align-items:center;gap:var(--spacing-sm);min-width:0;min-height:40px;display:flex}.completion-song__index{background:var(--color-bg);width:28px;height:28px;color:var(--color-text-muted);font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--border-radius-pill);flex:none;place-items:center;display:inline-grid}.completion-song__identity h3,.completion-song__identity p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.completion-song__identity h3{color:var(--color-text);font-size:var(--font-size-sm)}.completion-song__identity p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.completion-song__missing{color:var(--color-warning)!important}.completion-review-field--compact input,.completion-review-field--compact select{min-height:36px}.completion-song__unplanned{align-items:center;gap:var(--spacing-xs);min-height:36px;color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap;display:flex}.completion-song__unplanned input{accent-color:var(--color-primary)}.completion-review__error{color:var(--color-error);font-size:var(--font-size-sm);margin:0}.completion-review__actions{justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);display:flex}@media (width<=900px){.completion-song{grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(92px,.7fr))}.completion-song__unplanned{grid-column:1/-1}}@media (width<=640px){.completion-review-modal{width:100%;max-height:92dvh}.completion-review__intro{flex-direction:column;align-items:stretch}.completion-review__meta,.completion-song{grid-template-columns:1fr}.completion-review__list{max-height:none}.completion-song__unplanned{grid-column:auto}.completion-review__actions .btn{flex:1}}