/* Compact WebHub workspace. The sidebar and public brief retain their own theme. */
body:has(.main-content:not(.public-main)) { background: #fff; }
.main-content:not(.public-main) {
  color-scheme: light;
  --bg: #fff; --surface: #f5f8f9; --surface-hover: #eef5f9;
  --input: #fafbfc; --line: #e6ebee; --control-line: #d5dfe4;
  --text: #263238; --secondary: #60717a; --muted: #60717a;
  --accent: #086eac; --accent-hover: #055d94; --accent-text: #086eac;
  --selected: #eaf4fb; --radius-panel: 8px; --radius-control: 6px;
  color: var(--text); scrollbar-color: #9babB4 #f5f8f9;
  min-width: 0;
}
.main-content:not(.public-main) {
  background: var(--bg);
  font-family: "Onest", system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  caret-color: var(--accent-text);
}
.main-content:not(.public-main) ::selection { background: var(--accent); color: #ffffff; }
.main-content:not(.public-main) :focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
.main-content:not(.public-main) :is(.page-header, .editor-header, .license-editor-header, .placeholder-view, .login-card) h1 {
  font-family: "Onest", system-ui, sans-serif;
  font-size: 24px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
}
.main-content:not(.public-main) .button { min-height: 32px; padding: 0 12px; color: var(--text); background: var(--surface); border-color: var(--line); border-radius: 6px; font-size: 13px; font-weight: 500; }
.main-content:not(.public-main) .button:hover { background: var(--surface-hover); }
.main-content:not(.public-main) .button-primary { background: var(--accent); border-color: var(--accent); color: #ffffff; }
.main-content:not(.public-main) .button-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.main-content:not(.public-main) .button-quiet { color: var(--secondary); background: transparent; border-color: transparent; }
.main-content:not(.public-main) .button-quiet:hover { color: var(--text); background: var(--surface-hover); }
.main-content:not(.public-main) .button-danger { color: #ae3434; }
.main-content:not(.public-main) .button:disabled { background: var(--surface-hover); border-color: var(--line); color: var(--secondary); opacity: .6; cursor: default; }
.main-content:not(.public-main) .field { gap: 6px; }
.main-content:not(.public-main) .field > span { color: var(--text); font-size: 13px; font-weight: 500; }
.main-content:not(.public-main) :is(.field input, .field textarea, .field select, .repeat-row input, .caption-editor textarea, .license-editor-actions select) {
  background: var(--input);
  color: var(--text);
  border: 1px solid var(--control-line);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.main-content:not(.public-main) :is(.field input, .field select, .repeat-row input) { min-height: 32px; padding: 5px 10px; }
.main-content:not(.public-main) :is(input, textarea)::placeholder { color: var(--muted); font-size: 13px; opacity: 1; }
.main-content:not(.public-main) :is(input, textarea, select):hover { border-color: var(--secondary); }
.main-content:not(.public-main) :is(input, textarea, select):focus { border-color: var(--accent-text); outline: 2px solid var(--accent-text); outline-offset: 2px; }
.main-content:not(.public-main) input[type=checkbox] { accent-color: var(--accent); }
.main-content:not(.public-main) :is(.text-link) { color: var(--accent-text); text-underline-offset: 3px; }
.main-content:not(.public-main) :is(.album-tabs button, .caption-tabs button)[aria-selected=true]{ color: var(--accent-text); }
.main-content:not(.public-main) :is(.album-tabs button, .caption-tabs button)[aria-selected=true]::after{ background: var(--accent-text); }
.main-content:not(.public-main) .album-tabs { border-color: var(--line); }
.main-content:not(.public-main) .finance-tabs a[aria-current] { color: var(--accent-text); border-color: var(--accent-text); }
.main-content:not(.public-main) :is(.track-editor-panel) { background: var(--surface); }

/* One page rhythm, independent of which workspace owns the data. */
.main-content:not(.public-main):not(.login-main) { padding: 22px 28px 32px; }
.main-content:not(.public-main) :is(.page-header, .editor-header, .license-editor-header) {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: 12px; padding: 0; margin: 0 0 16px; border: 0;
}
.main-content:not(.public-main) .back-link { display: inline-flex; align-items: center; min-height: 20px; margin-bottom: 8px; font-size: 12px; }
.main-content:not(.public-main) :is(.page-header, .editor-header) p { margin-top: 4px; font-size: 12px; line-height: 1.5; }
.main-content:not(.public-main) :is(.header-actions, .license-editor-actions) { align-items: center; gap: 8px; }
.main-content:not(.public-main) :is(.album-tabs, .finance-tabs, .caption-tabs) { gap: 24px; border-color: var(--line); margin-bottom: 16px; }
.main-content:not(.public-main) :is(.album-tabs button, .finance-tabs a, .caption-tabs button) { min-height: 32px; font-size: 13px; font-weight: 500; padding: 6px 0; }
.main-content:not(.public-main) :is(.album-tabs button, .caption-tabs button)[aria-selected=true]::after { bottom: 0; }
.main-content:not(.public-main) :is(.form-grid, .license-post-source, .license-caption-workspace, .invoice-source, .brief-editor, .release-editor-flat) {
  min-width: 0; padding: 0; background: transparent; border: 0; border-radius: 0;
}
.main-content:not(.public-main) :is(.invoice-section h2, .license-field-group legend, .caption-heading h2, .price-options legend, .section-heading h2) {
  color: var(--text); font-size: 15px; font-weight: 600; line-height: 20px; letter-spacing: 0;
}
.main-content:not(.public-main) :is(.license-field-group legend, .caption-heading, .invoice-section h2) { margin-bottom: 12px; }
.main-content:not(.public-main) :is(.invoice-fields, .license-source-grid, .form-grid) { gap: 12px 24px; }
.main-content:not(.public-main) :is(.invoice-section, .price-options) { padding: 16px 0; border: 0; }
.main-content:not(.public-main) .invoice-source > .invoice-section:first-child { padding-top: 0; }
.main-content:not(.public-main) .invoice-section > :is(.field, .invoice-fields) + :is(.field, [data-custom-territory], [data-custom-due]) { margin-top: 16px; }
.main-content:not(.public-main) .price-source { display: block; width: fit-content; }
.main-content:not(.public-main) .placeholder-view { padding-top: 0; }
.main-content:not(.public-main) :is(.invoice-help, .field-note, .license-post-source small, .caption-heading p) { font-size: 12px; line-height: 1.5; color: var(--secondary); }
.main-content:not(.public-main) .invoice-help { margin-top: 8px; margin-bottom: 12px; max-width: 72ch; }
.main-content:not(.public-main) :is(.license-post-editor-layout, .invoice-generator-layout) { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.main-content:not(.public-main) .license-post-source { display: grid; gap: 24px; }
.main-content:not(.public-main) .license-caption-workspace { position: sticky; top: 24px; }
.main-content:not(.public-main) .caption-editor textarea { min-height: 96px; height: auto; padding: 8px 10px; font-size: 14px; line-height: 1.55; }
.main-content:not(.public-main) .caption-editor header { min-height: 32px; padding: 0; }
.main-content:not(.public-main) .caption-heading { display: block; }
.main-content:not(.public-main) .caption-heading p { margin-top: 4px; }
.main-content:not(.public-main) .selection-empty { padding: 0; border: 0; border-radius: 0; background: transparent; }
.main-content:not(.public-main) .license-editor-actions select { min-height: 36px; width: 200px; font-size: 13px; }
.main-content:not(.public-main) .invoice-workspace { display: flex; flex-direction: column; }
.main-content:not(.public-main) .invoice-result { top: 24px; }
.main-content:not(.public-main) .invoice-preview { border-radius: var(--radius-panel); padding: 24px; }
.main-content:not(.public-main) .price-choice { background: transparent; padding: 8px; border-color: transparent; border-radius: 4px; }
.main-content:not(.public-main) .price-choice:has(input:checked) { background: var(--selected); border-color: var(--accent-text); }
.main-content:not(.public-main) .invoice-generate { width: auto; min-height: 36px; }

/* A disclosure is an action; it must not look like an input label. */

/* Lists are rows on the page, without enclosing cards. */
.main-content:not(.public-main) :is(.release-table, .production-track-list) { background: transparent; border: 0; border-radius: 0; }

.main-content:not(.public-main) :is(.release-row) { min-height: 48px; border-color: var(--line); }

.main-content:not(.public-main) :is(.release-code) { font-size: 12px; }
.main-content:not(.public-main) .schedule-year > h2 { font-size: 15px; font-weight: 500; margin: 24px 0 12px; }
.main-content:not(.public-main) :is(.empty-state, .brief-empty-state) { padding: 16px 0; border: 0; border-radius: 0; background: transparent; text-align: left; }
.main-content:not(.public-main) :is(.empty-state, .brief-empty-state) h2 { font-size: 16px; margin-bottom: 8px; }
.main-content:not(.public-main) :is(.empty-state, .brief-empty-state) p { font-size: 13px; max-width: 60ch; margin-bottom: 16px; }
.main-content:not(.public-main) .catalog-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 24px; }
.main-content:not(.public-main) .catalog-card-heading h2 { font-size: 16px; font-weight: 500; }

/* Shared controls and dense lists */
.main-content:not(.public-main) :is(.editor-card,.section-card,.caption-editor,.catalog-results,.selected-track,.form-grid,.login-card) { background: #fff; border-color: var(--line); color: var(--text); }
.main-content:not(.public-main) :is(.editor-card,.section-card) { box-shadow: none; }
.main-content:not(.public-main) .button { background: #fff; border-color: var(--control-line); font-size: 12px; min-height: 34px; }
.main-content:not(.public-main) .button-primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.main-content:not(.public-main) .button-quiet { background: transparent; border-color: transparent; }
.main-content:not(.public-main) .button-small { min-height: 28px; font-size: 11px; padding: 4px 9px; }
.main-content:not(.public-main) .button:disabled { background: #edf2f5; border-color: #e3e9ec; color: #677780; opacity: 1; }
.main-content:not(.public-main) .button-danger { color: #ae3434; }
.main-content:not(.public-main) .form-error { color: #ae3434; }

.main-content:not(.public-main) :is(.album-tabs,.caption-tabs) { gap: 2px; width: fit-content; padding: 3px; border: 0; border-radius: 6px; background: #f5f8f9; }
.main-content:not(.public-main) :is(.album-tabs button,.caption-tabs button) { padding: 5px 16px; min-height: 31px; border: 1px solid transparent; border-radius: 4px; font-size: 12px; }
.main-content:not(.public-main) :is(.album-tabs button,.caption-tabs button)[aria-selected=true]{ color: var(--text); border-color: var(--line); background: #fff; box-shadow: 0 1px 3px #29495b0a; }
.main-content:not(.public-main) :is(.album-tabs button,.caption-tabs button)::after { display: none; }
.main-content:not(.public-main) .schedule-year { margin-top: 22px; }
.main-content:not(.public-main) .schedule-year > h2 { margin: 0; padding: 13px 16px; border: 1px solid var(--line); border-bottom: 0; border-radius: 8px 8px 0 0; font-size: 14px; font-weight: 600; }
.main-content:not(.public-main) :is(.release-table) { border: 1px solid var(--line); border-radius: 8px; overflow: auto; }
.main-content:not(.public-main) .release-table { border-radius: 0 0 8px 8px; }

.main-content:not(.public-main) :is(.release-row) { min-height: 58px; background: transparent; }
.main-content:not(.public-main) :is(.release-row):hover { background: #f8fbfd; }

.main-content:not(.public-main) .release-row.is-released :is(.release-code) { color: var(--secondary); }

.main-content:not(.public-main) :is(.price-result,.price-result>header,.price-breakdown,.price-total) { background: #f5f8f9; color: var(--text); border-color: var(--line); }
.main-content:not(.public-main) .invoice-preview { background: #f5f6f4; }
.main-content:not(.public-main) .selected-track { background: #f5f8f9; }
.main-content:not(.public-main) .catalog-results button:hover { background: #eaf4fb; }
.main-content:not(.public-main) textarea { min-height: 32px; padding: 6px 9px; resize: none; overflow: hidden; line-height: 1.5; }
.main-content:not(.public-main) :is(.sticky-actions,.caption-editor header) { background: #fff; border-color: var(--line); backdrop-filter: none; }
.main-content:not(.public-main) .license-delete { color: #ae3434; }

.main-content:not(.public-main) .catalog-grid { grid-template-columns: repeat(auto-fill,minmax(190px,280px)); }

/* Album preparation: one save, compact editable rows, details on demand. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
.production-editor-layout { grid-template-columns: minmax(0,1fr); gap: 0; }
.main-content .production-album-view .editor-header { align-items: center; margin: 0 0 4px; padding: 8px 0 0; gap: 16px; background: #fff; }
.main-content .production-album-view .editor-header h1 { font-size: 24px; font-weight: 600; }
.production-album-view .editor-header p { max-width: 72ch; }
.production-album-view .album-workspace-main { gap: 0; }
.production-summary { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--secondary); font-size: 11px; padding: 6px 0 18px; }
.production-actions { flex-wrap: wrap; justify-content: flex-end; }
.main-content .production-actions .save-state { margin: 0 8px 0 0; font-size: 11px; color: var(--secondary); }
.main-content .production-actions .save-state.is-dirty { color: var(--accent-text); }
.main-content .production-actions .save-state.form-error { color: #ae3434; max-width: 40ch; }
.production-toolbar { display: flex; align-items: center; gap: 24px; padding: 8px 0 18px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.main-content .production-toolbar .production-tabs { margin: 0; flex-shrink: 0; }
.main-content .production-toolbar .production-tabs button { min-width: 110px; }
.workspace-search { display: flex; flex: 1; min-width: 0; position: relative; }
.workspace-search svg { position: absolute; width: 16px; height: 16px; left: 11px; top: 10px; fill: none; stroke: #657984; stroke-width: 1.7; }
.workspace-search input { width: 100%; min-width: 0; height: 36px; padding: 7px 10px 7px 34px; border: 1px solid #e1e8ec; border-radius: 6px; background: #f8fafb; color: var(--text); font-size: 12px; }
.production-album-view .track-workspace { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.production-album-view .track-workspace-header { padding: 12px 15px; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); }
.production-album-view .track-workspace-header h2 { font-size: 14px; font-weight: 600; color: var(--text); margin: 0; }
.section-count { color: var(--secondary); margin-left: 8px; font-weight: 400; font-size: 11px; }
.track-header-actions { display: flex; gap: 16px; align-items: center; }
.description-progress { font-size: 11px; color: var(--secondary); }
.main-content .production-album-view .production-track-list { display: grid; gap: 0; border: 0; background: #fff; }
.track-column-head { display: grid; grid-template-columns: 30px minmax(180px,.85fr) minmax(240px,2.25fr) 82px 28px; padding: 0 10px; min-height: 32px; align-items: center; background: #f5f8f9; border-bottom: 1px solid var(--line); color: var(--secondary); font-size: 10px; font-weight: 500; }
.track-column-head > span { padding: 8px 10px; }
.track-column-head > span:first-child { padding: 8px 0; text-align: center; }
.production-album-view .production-track-row { display: block; padding: 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.production-album-view .production-track-row:last-of-type { border-bottom: 0; }
.production-album-view .compact-track-form { padding: 0 10px; gap: 0; }
.production-album-view .track-edit-fields { position: relative; display: block; min-width: 0; border: 0; padding: 0; margin: 0; }
.production-album-view .track-main-fields { display: grid; grid-template-columns: 30px minmax(180px,.85fr) minmax(240px,2.25fr) 82px; align-items: center; min-height: 66px; margin-right: 28px; gap: 0; }
.production-album-view .track-main-fields .field { min-width: 0; gap: 0; }
.production-album-view .track-main-fields .field > span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); }
.main-content .production-album-view .track-main-fields :is(input,textarea) { min-width: 0; width: 100%; min-height: 26px; padding: 3px 5px; font-size: 13px; line-height: 1.5; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--text); box-shadow: none; }
.main-content .production-album-view .track-main-fields :is(input,textarea):hover { border-color: #e0edf5; background: #f7fbfe; }
.main-content .production-album-view .track-main-fields :is(input,textarea):focus { border-color: var(--accent); background: #f8fcff; outline: 2px solid #dceffc; outline-offset: 0; }
.production-album-view .track-identity-fields { display: grid; gap: 0; padding: 8px 5px; border-right: 1px solid #edf0f2; min-width: 0; align-self: stretch; align-content: center; }
.main-content .production-album-view .track-identity-fields input[name=title] { font-weight: 500; }
.main-content .production-album-view .track-identity-fields input[name=composers] { min-height: 21px; font-size: 11px; color: var(--secondary); }
.production-album-view .track-description-field { padding: 8px 9px; }
.main-content .production-album-view .track-main-fields textarea { font-size: 14px; resize: none; overflow: hidden; min-height: 30px; }
.main-content .production-album-view .track-number-field input { text-align: center; padding: 3px 0; font-size: 11px; color: var(--secondary); appearance: textfield; }
.track-number-field input::-webkit-inner-spin-button,.track-number-field input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.production-album-view .track-more { margin: 0; }
.production-album-view .track-more:not([open]) { height: 0; }
.production-album-view .track-more > summary { position: absolute; right: 0; top: 19px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; list-style: none; cursor: pointer; border-radius: 4px; color: var(--secondary); }
.production-album-view .track-more > summary::-webkit-details-marker { display: none; }
.track-more > summary svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.track-more[open] > summary svg { transform: rotate(90deg); }
.production-album-view .track-more > summary:hover,.production-album-view .track-more[open] > summary { background: #eaf4fb; color: var(--accent); }
.production-album-view .track-more[open] { padding: 14px 14px 16px 40px; border-top: 1px solid var(--line); background: #fafcfd; }

.release-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 20px; border: 0; padding: 0; margin: 0; min-width: 0; }
.release-field-wide { grid-column: 1/-1; }
.release-fields h3 { margin: 6px 0 0; font-size: 13px; font-weight: 500; }
.release-fields :is(input,textarea) { width: 100%; min-width: 0; }

.track-production-details { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 12px; }
.track-production-details h3 { margin: 0 0 12px; font-size: 13px; font-weight: 500; }

.production-album-view .track-form-actions { padding: 10px 8px; border-top: 1px solid var(--line); }
.production-album-view .compact-track-form[data-track-id]:not([data-track-id=""]) .track-form-actions { display: none; }
.production-album-view .compact-track-form[data-track-id]:not([data-track-id=""]):has(.track-more[open]) .track-form-actions { display: flex; }
.production-album-view .compact-track-form[data-track-id]:not([data-track-id=""]) .track-form-actions :is([type=submit]) { display: none; }

.production-album-view .compact-track-form[data-dirty=true] { background: #f5faff; }
.production-album-view .compact-track-form[data-save-error=true] { background: #fff2f0; }
.production-album-view .track-editor-panel { margin: 12px; padding: 6px; border: 1px solid var(--control-line); border-radius: 6px; background: #f5f8f9; }

.track-search-empty{ padding: 20px 16px; color: var(--secondary); font-size: 13px; }

/* Release copy panels */
.album-copy-section { margin-top: 20px; }
.main-content .release-editor-flat { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.4fr) minmax(0,1fr); gap: 16px; align-items: start; }
.release-editor-flat > fieldset { min-width: 0; margin: 0; padding: 0 13px 13px; border: 1px solid var(--line); border-radius: 8px; }
.release-editor-flat > fieldset > legend { float: left; width: calc(100% + 26px); margin: 0 -13px 12px; padding: 11px 13px; border-bottom: 1px solid var(--line); color: var(--text); font-size: 13px; line-height: 20px; font-weight: 500; }
.release-editor-flat > fieldset > legend + * { clear: both; }
.main-content .release-description > .field + .field { margin-top: 12px; }
.album-keywords { display: block; min-width: 0; padding: 6px 9px; border: 1px solid var(--control-line); border-radius: 6px; background: var(--surface-hover); color: var(--text); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.release-destinations .field { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 8px; align-items: center; }
.release-destinations .field + .field { margin-top: 8px; }
.main-content .release-destinations .field > span { font-size: 10px; line-height: 1.4; color: var(--secondary); }
.main-content .release-destinations input { min-width: 0; width: 100%; min-height: 30px; text-overflow: ellipsis; padding: 5px 7px; font-size: 11px; }
.release-editor-flat fieldset:disabled :is(input,textarea) { opacity: 1; color: var(--secondary); }
.mailing-header { display: grid; grid-template-columns: 68px minmax(0,1fr); align-items: center; gap: 8px; }
.mailing-header > span { color: var(--secondary); font-size: 11px; }
.mailing-header input,.mailing-body textarea { width: 100%; min-width: 0; padding: 6px 9px; background: var(--input); border: 1px solid var(--control-line); border-radius: 5px; color: var(--text); font: inherit; font-size: 12px; }
.mailing-header input { height: 32px; }
.mailing-header + .mailing-header { margin-top: 8px; }
.mailing-body { display: block; margin-top: 8px; }
.main-content .mailing-body textarea { min-height: 64px; }
.production-album-view .brief-editor .section-card { gap: 12px; padding: 0 0 16px; border: 0; border-radius: 0; background: transparent; }
.production-album-view .brief-editor .section-heading h2 { font-size: 14px; }
.production-album-view .brief-editor .sticky-actions { position: static; border: 0; padding: 0; background: transparent; backdrop-filter: none; }
.production-album-view .brief-editor .sticky-actions button[type=submit] { display: none; }
.brief-preview-dialog { width: min(1440px,calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid #393a3d; border-radius: 10px; background: #191a1c; color: #f2f2ee; color-scheme: dark; }
.brief-preview-dialog::backdrop { background: #0009; }
.brief-preview-dialog > form { display: flex; justify-content: flex-end; margin-bottom: 24px; }
@media(min-width:1550px) {
  .main-content:not(.public-main):not(.login-main) { padding: 26px 36px 36px; }
  .track-column-head { grid-template-columns: 36px minmax(240px,.85fr) minmax(320px,2.3fr) 90px 28px; }
  .production-album-view .track-main-fields { grid-template-columns: 36px minmax(240px,.85fr) minmax(320px,2.3fr) 90px; min-height: 72px; }
  .main-content .production-album-view .track-identity-fields input[name=title] { font-size: 14px; }
}
@media(max-width:1150px) {
  .main-content:not(.public-main):not(.login-main) { padding: 20px; }
  .main-content .release-editor-flat { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .release-destinations { grid-column: 1/-1; }
  .release-destinations .field { grid-template-columns: 120px minmax(0,1fr); }
  .main-content:not(.public-main) :is(.license-post-editor-layout,.invoice-generator-layout) { grid-template-columns: 1fr; }
  .main-content:not(.public-main) :is(.license-caption-workspace,.invoice-result) { position: static; }
  .track-column-head { grid-template-columns: 24px 168px minmax(190px,1fr) 72px 28px; }
  .production-album-view .track-main-fields { grid-template-columns: 24px 168px minmax(190px,1fr) 72px; }
}
@media(max-width:760px) {
  .main-content:not(.public-main):not(.login-main) { padding: 16px; }
  .main-content:not(.public-main) :is(.page-header,.editor-header,.license-editor-header) { gap: 12px; }
  .production-actions { width: 100%; gap: 8px; }
  .main-content .production-actions .save-state { margin-right: auto; }
  .production-toolbar { flex-wrap: wrap; gap: 10px; }
  .workspace-search { flex-basis: 100%; }
  .main-content .production-toolbar .production-tabs { width: 100%; }
  .main-content .production-toolbar .production-tabs button { flex: 1; }
  .track-column-head,.description-progress { display: none; }
  .section-count { font-size: 10px; margin-left: 4px; }
  .production-album-view .track-workspace-header { padding: 10px; }
  .production-album-view .track-main-fields { grid-template-columns: 24px minmax(0,1fr) 75px; margin-right: 24px; align-items: start; }
  .production-album-view .track-identity-fields { grid-column: 2; grid-row: 1; border: 0; padding-top: 12px; }
  .production-album-view .track-number-field { grid-column: 1; grid-row: 1; margin-top: 14px; }
  
  .production-album-view .track-description-field { grid-column: 2/-1; grid-row: 2; padding: 0 0 12px; margin-right: -24px; }
  .main-content .production-album-view .track-main-fields textarea { font-size: 16px; }
  .production-album-view .track-more[open] { padding: 12px; }
  .release-fields,.track-form-grid { grid-template-columns: minmax(0,1fr); }
  
  .main-content .release-editor-flat { grid-template-columns: minmax(0,1fr); }
  .release-destinations { grid-column: auto; }
  .release-destinations .field { grid-template-columns: 96px minmax(0,1fr); }
  .main-content:not(.public-main) :is(.field input,.field textarea,.field select,.mailing-header input,.mailing-body textarea,.workspace-search input) { font-size: 16px; }
  .main-content:not(.public-main) .button { min-height: 36px; }
  .main-content:not(.public-main) .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  
  
  
  .main-content:not(.public-main) .license-editor-actions { width: 100%; gap: 8px; }
  .main-content:not(.public-main) .license-editor-actions select { width: 100%; min-width: 0; }
}
@media(prefers-reduced-motion:reduce) { .main-content *, .main-content *::before,.main-content *::after { transition: none !important; scroll-behavior: auto !important; } }

/* Invoices: direct entry and a live paper preview within the finance workspace. */
.invoice-builder-layout { display: grid; grid-template-columns: minmax(350px, 1fr) minmax(360px, 1fr); gap: 28px; align-items: start; }
.invoice-editor { min-width: 0; }
.invoice-editor .entity-section:first-child { padding-top: 0; }
.invoice-editor .entity-grid { margin: 10px 0; }
.invoice-options { margin-top: 12px; }
.invoice-options summary { cursor: pointer; color: #52636d; padding: 4px 0; }
.invoice-item { display: grid; grid-template-columns: minmax(0, 1fr) 100px auto; gap: 10px; align-items: end; margin: 12px 0; }
.invoice-item .field { margin: 0; }
.invoice-item textarea { min-height: 64px; }
.invoice-item [data-amount] { font-variant-numeric: tabular-nums; }
.invoice-item button { margin-bottom: 3px; padding-inline: 6px; }
.invoice-preview-panel { position: sticky; top: 20px; min-width: 0; }
.invoice-preview-caption { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; color: #52636d; font-size: 12px; }
.invoice-preview-panel .invoice-paper { background: #fff; border: 1px solid #d5dfe4; padding: 24px; color: #263238; font: 11px/1.45 Arial, sans-serif; overflow-wrap: anywhere; }
.invoice-paper p { margin: 0; }
.invoice-paper header { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #d5dfe4; padding-bottom: 20px; margin-bottom: 18px; }
.invoice-paper-meta { text-align: right; flex-shrink: 0; max-width: 52%; }
.invoice-paper .invoice-paper-meta h2 { font-size: 23px; margin: 0 0 8px; color: #263238; }
.invoice-paper h3 { font-size: 10px; color: #52636d; margin: 0 0 8px; }
.invoice-paper-parties { display: flex; gap: 18px; margin-bottom: 18px; }
.invoice-paper-parties > section { flex: 1; min-width: 0; }
.invoice-paper table { width: 100%; border-collapse: collapse; font-size: inherit; }
.invoice-paper th { background: #f1f3f4; text-align: left; font-size: 10px; }
.invoice-paper td,.invoice-paper th { padding: 6px; border-bottom: 1px solid #d5dfe4; }
.invoice-paper td:last-child,.invoice-paper th:last-child { text-align: right; width: 24%; white-space: nowrap; font-variant-numeric: tabular-nums; }
.invoice-paper-total { text-align: right; margin: 12px 0 20px; }
.invoice-paper-total span { display: inline-block; min-width: 65px; margin-left: 8px; }
.invoice-paper-total strong { font-size: 13px; }
.invoice-paper-bank { font-size: 10px; }
.invoice-paper-reference { color: #52636d; margin-top: 14px!important; font-size: 10px; }
.invoice-output { margin-top: 14px; flex-wrap: wrap; }
.invoice-output[hidden] { display: none; }
.invoice-history { margin-top: 28px; }
.invoice-history-row { grid-template-columns: minmax(150px, 1fr) minmax(160px, 2fr) minmax(90px, 1fr) auto; }
@media(max-width: 1180px) { .invoice-builder-layout { grid-template-columns: minmax(0, 1fr); } .invoice-preview-panel { position: static; max-width: 760px; } }
@media(max-width: 600px) { .invoice-item { grid-template-columns: minmax(0, 1fr) 88px; } .invoice-item button { grid-column: 1 / -1; justify-self: end; } .invoice-preview-panel .invoice-paper { padding: 16px; } .invoice-paper header { gap: 8px; } .invoice-paper .invoice-paper-meta h2 { font-size: 20px; } .invoice-paper-parties { gap: 12px; } .invoice-history-row { grid-template-columns: minmax(0,1fr) auto; } }
.invoice-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 12px 0; }
.invoice-report-list { border: 0; padding: 8px 0; margin: 12px 0; max-height: 280px; overflow: auto; }
.invoice-report-list .checkbox-field { margin: 8px 0; }
.invoice-detail { min-width: 0; }
.invoice-balance { margin: 16px 0; }
.invoice-balance > div { display: flex; justify-content: space-between; gap: 16px; padding: 7px 0; border-bottom: 1px solid #e6ebee; }
.invoice-balance dt { color: #52636d; }
.invoice-balance dd { margin: 0; font-variant-numeric: tabular-nums; }
.invoice-payment-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; }
.invoice-item .text-link { font-size: 12px; margin-top: 6px; }
.invoice-builder [hidden] { display: none !important; }
@media(max-width: 600px) { .invoice-payment-row { grid-template-columns: minmax(0,1fr) auto; } .invoice-payment-row button { grid-column: 1 / -1; justify-self: end; } }
.invoice-payment-row .entity-actions { flex-wrap: wrap; justify-content: flex-end; }
@media(max-width: 600px) { .invoice-payment-row > .entity-actions { grid-column: 1 / -1; } }
