:root {
  color-scheme: light; --ink:#171419; --muted:#6a6068; --line:#eae1e5;
  --paper:#fff; --bg:#faf6f8; --lumo:#f23c74; --pink:#c31851; --pink-ink:#a31143; --pink-soft:#ffebf2;
  --green:#136548; --green-soft:#e6f6ee; --amber:#845605; --amber-soft:#fff3d6;
  font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { opacity:.52; cursor:not-allowed; }
:focus-visible { outline:2px solid var(--pink); outline-offset:3px; }
h1,h2,h3,p { margin:0; }
h1 { font-size:30px; letter-spacing:-.035em; line-height:1.17; }
h2 { font-size:18px; letter-spacing:-.025em; }
p { color:var(--muted); }
b { font-weight:650; }
.splash { margin:20vh auto; text-align:center; }
.brand { display:flex; align-items:center; gap:11px; font-weight:760; letter-spacing:.12em; font-size:11px; color:#ffcada; }
.brand img { object-fit:contain; flex:none; }
.sidebar { position:fixed; inset:0 auto 0 0; width:216px; display:flex; flex-direction:column; padding:18px 16px 16px; border-top:5px solid var(--lumo); background:#171419; color:white; }
.sidebar .brand { margin-left:9px; }
.sidebar nav { display:grid; grid-template-columns:minmax(0,1fr); gap:5px; margin-top:28px; }
.sidebar button { text-align:left; }
.nav { display:flex; gap:11px; align-items:center; padding:10px 12px; color:#cfced5; background:none; border:0; border-radius:8px; font-weight:570; }
.nav svg { width:17px; height:17px; flex:none; }
.nav:hover,.nav.active { color:white; background:#393239; }
.nav.active svg { color:#ff5a95; }
.nav-lock { display:inline-flex; align-items:center; margin-left:auto; color:#efa9c4; }
.sidebar nav .nav .nav-lock svg { width:13px; height:13px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.account { margin-top:auto; border-top:1px solid #3a383e; padding-top:14px; }
.identity { display:flex; align-items:center; gap:10px; margin:0 8px 6px; }
.identity > div:last-child { min-width:0; }
.identity strong { display:block; max-width:128px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.identity small { color:#c8c6d0; }
.avatar { flex:none; background:#55404b; color:#ffd4e2; border-radius:50%; width:33px; height:33px; display:grid; place-items:center; font-weight:700; }
.account .nav { width:100%; padding:7px 12px; font-size:13px; }
.team-connection { margin:8px 0; padding:7px 8px; border:1px solid #4b4049; border-radius:8px; }
.team-connection b,.team-connection [data-team-connection] { display:block; font-size:11px; }
.team-connection b { color:#ffcada; }
.team-connection [data-team-connection] { color:#a6e9cf; }
.team-connection [data-state=offline],.team-connection [data-state=pending] { color:#ffcc8b; }
.team-connection .nav { margin-top:3px; padding:4px 0; font-size:11px; }
.main { margin-left:216px; padding:32px clamp(18px,3.2vw,46px) 54px; min-height:100vh; }
.inner { max-width:1390px; margin:auto; display:grid; gap:18px; }
.pagehead,.bar,.actions,.summaryline { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pagehead { align-items:flex-end; margin:3px 0 6px; }
.pagehead > div,.bar > div { min-width:0; }
.pagehead h1,.pagehead p { overflow-wrap:anywhere; }
.pagehead p,.section p { margin-top:5px; }
.kicker { color:var(--pink-ink); font-weight:730; font-size:11px; letter-spacing:.09em; text-transform:uppercase; margin-bottom:7px; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:13px; min-width:0; }
.pad { padding:18px 20px; }
.stack { display:grid; gap:12px; }
.twocol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.metric { padding:16px 18px; }
.metric span { font-size:12px; font-weight:630; color:var(--muted); }
.metric strong { display:block; font-size:27px; letter-spacing:-.035em; margin-top:3px; }
.btn { flex:none; display:inline-flex; gap:7px; align-items:center; justify-content:center; min-height:36px; max-width:100%; padding:7px 12px; border:1px solid var(--line); border-radius:8px; background:white; color:var(--ink); font-weight:640; text-decoration:none; }
.btn:hover { background:#f7f5f7; }
.btn.primary { background:var(--pink); border-color:var(--pink); color:white; }
.btn.primary:hover { background:var(--pink-ink); }
.btn.danger { background:#a3223d; border-color:#a3223d; color:white; }
.btn.danger:hover { background:#85182f; }
.btn.danger-outline { border-color:#edc2cb; color:#9f1e39; }
.btn.danger-outline:hover { background:#fff0f3; }
.btn.small { min-height:29px; padding:4px 8px; font-size:12px; }
.btn svg { width:17px; height:17px; }
.link { color:var(--pink-ink); font-weight:670; border:0; background:none; padding:0; text-align:left; }
.link:hover { text-decoration:underline; }
.toolbar { padding:12px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.filters { display:flex; gap:7px; flex-wrap:wrap; align-items:center; }
input,select,textarea { min-width:0; border:1px solid #d9d6de; background:white; color:var(--ink); padding:8px 10px; border-radius:7px; }
input:not([type=file]),select { min-height:38px; }
input[type=search],select { appearance:none; -webkit-appearance:none; }
select {
  padding-right:32px; background-position:right 11px center; background-size:11px 7px; background-repeat:no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.4 6 6.4l5-5' fill='none' stroke='%236a6068' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E");
}
textarea { resize:vertical; }
input::placeholder { color:#73727c; }
input[type=file] { font-size:13px; padding:8px; max-width:100%; }
label { display:grid; gap:5px; font-weight:620; }
label small,.smalltext { color:var(--muted); font-size:12px; font-weight:450; }
.filter-panel { container-type:inline-size; padding:13px 16px; }
.filter-panel.toolbar { display:block; }
.filter-grid { display:grid; gap:10px 12px; align-items:end; min-width:0; }
.overview-filter { grid-template-columns:minmax(135px,1fr) minmax(130px,.9fr) minmax(165px,1.45fr) auto; }
.report-filter { grid-template-columns:minmax(150px,1.35fr) minmax(145px,.8fr) auto; }
.licensee-filter { grid-template-columns:minmax(160px,1.4fr) minmax(122px,1fr) minmax(122px,1fr) minmax(108px,.7fr); }
.filter-field { min-width:0; }
.filter-field > span { font-size:12px; color:var(--muted); }
.filter-field input,.filter-field select { width:100%; height:38px; font-weight:500; }
.btn.filter-action { min-height:38px; justify-self:start; }
.filter-footer { display:flex; align-items:center; justify-content:space-between; gap:8px 14px; flex-wrap:wrap;
  border-top:1px solid var(--line); padding-top:10px; color:var(--muted); font-size:12px; }
.tablewrap { overflow:auto; }
.responsive-table { container-type:inline-size; }
table { border-collapse:collapse; width:100%; font-size:13px; }
th { padding:10px 13px; background:#faf9fb; color:var(--muted); white-space:nowrap; font-weight:650; text-align:left; }
td { padding:11px 13px; border-top:1px solid #efedf0; vertical-align:middle; }
tr:hover td { background:#fdfbfd; }
.num { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.negative { color:#ad1642; }
.nowrap { white-space:nowrap; }
.pill { display:inline-block; border-radius:999px; padding:3px 8px; background:#f1eef3; color:#514957; white-space:nowrap; font-size:11px; font-weight:690; }
.responsive-table .pill { max-width:100%; white-space:normal; line-height:1.3; overflow-wrap:anywhere; }
.archive-pill { margin-top:4px; background:#f4eff1; color:#655560; }
.pill.pending,.pill.warn { background:var(--amber-soft); color:var(--amber); }
.pill.reviewed { background:var(--pink-soft); color:var(--pink-ink); }
.pill.approved { background:var(--green-soft); color:var(--green); }
.pill.balance-incomplete,.pill.balance-recovery { background:var(--amber-soft); color:var(--amber); }
.pill.balance-payable { background:var(--pink-soft); color:var(--pink-ink); }
.pill.balance-overpaid { background:#ffebef; color:#9c2145; }
.pill.balance-settled { background:var(--green-soft); color:var(--green); }
.status-button { padding:0; background:none; border:0; text-align:left; max-width:100%; }
.status-button:hover .pill { text-decoration:underline; }
.queue-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.queue-nav.queue-full { grid-template-columns:repeat(4,minmax(0,1fr)); }
.queue-button { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:8px; background:white; color:var(--ink);
  border:1px solid var(--line); border-radius:9px; padding:8px 10px; font-weight:660; text-align:left; }
.queue-button b { flex:none; display:inline-grid; place-items:center; min-width:25px; min-height:23px; padding:1px 6px; border-radius:7px; background:#f1eef3; font-size:12px; }
.queue-button.pending b { background:var(--amber-soft); color:var(--amber); }
.queue-button.reviewed b { background:var(--pink-soft); color:var(--pink-ink); }
.queue-button.approved b { background:var(--green-soft); color:var(--green); }
.queue-button:hover,.queue-button[aria-pressed=true] { border-color:var(--lumo); background:#fff6f9; }
.queue-button[aria-pressed=true] { box-shadow:inset 0 -2px 0 var(--lumo); }
.report-events { display:grid; gap:4px; font-size:12px; }
.report-events b { color:var(--ink); margin-right:4px; }
.compact-table th,.compact-table td { padding-inline:9px; }
.compact-table thead th { white-space:normal; vertical-align:bottom; }
.compact-table .contact { color:var(--muted); display:block; margin-top:3px; }
.compact-table tfoot td,.compact-table tfoot th { background:var(--pink-soft); font-weight:700; }
.compact-group,.compact-period { display:none; color:var(--muted); margin-top:3px; }
.licensee-table [data-column=status] { width:129px; min-width:104px; }
.licensee-name { min-width:138px; }
.licensee-name,.report-table td,.overview-table tbody th { overflow-wrap:anywhere; }
.report-table th { white-space:normal; vertical-align:bottom; }
.report-table th,.report-table td { padding-inline:10px; }
.card-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(104px,1fr)); gap:9px; padding-top:11px; border-top:1px solid var(--line); }
.card-summary span { display:block; color:var(--muted); font-size:12px; }
.card-notes { white-space:pre-line; overflow-wrap:anywhere; }
.advance-panel { border-top:3px solid var(--lumo); }
.advance-panel h2 + p { margin-top:4px; }
.advance-form { display:flex; flex-wrap:wrap; gap:9px; align-items:flex-end; }
.advance-form label { flex:0 1 230px; min-width:0; }
.advance-form .btn { min-height:38px; }
.advance-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,144px),1fr)); gap:10px; margin:0; }
.advance-summary > div { padding:9px 12px; border:1px solid var(--line); border-radius:8px; }
.advance-summary dt { color:var(--muted); font-size:12px; }
.advance-summary dd { margin:2px 0 0; font-size:16px; font-weight:720; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.advance-summary .advance-remaining { background:var(--pink-soft); border-color:#f3d3de; }
.advance-remaining dd { color:var(--pink-ink); }
.profile-grid { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.profile-grid > div { min-width:0; padding:9px 11px; border:1px solid var(--line); border-radius:8px; background:#fcfafb; }
.profile-grid dt { color:var(--muted); font-size:12px; font-weight:640; }
.profile-grid dd { margin:4px 0 0; font-weight:620; overflow-wrap:anywhere; }
.profile-grid dd.profile-missing { color:var(--muted); font-weight:400; }
.profile-grid .account-number dd { font-variant-numeric:tabular-nums; }
.empty { text-align:center; padding:37px 16px; }
.empty p { margin-top:4px; }
.empty .btn { margin-top:10px; }
.locked-panel { display:grid; place-items:center; gap:9px; padding:36px 20px; text-align:center; }
.locked-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:14px; background:var(--pink-soft); color:var(--pink-ink); }
.locked-icon svg { width:25px; height:25px; }
.pill.concert-confirmed,.pill.concert-done { background:var(--green-soft); color:var(--green); }
.pill.concert-planned { background:var(--pink-soft); color:var(--pink-ink); }
.pill.concert-cancelled { background:#f2eef1; color:#655560; }
.concert-calendar-summary { display:flex; align-items:center; gap:12px; padding:13px 16px; list-style:none;
  cursor:pointer; border-radius:12px; }
.concert-calendar-summary::-webkit-details-marker,.calendar-more summary::-webkit-details-marker { display:none; }
.concert-calendar-summary:hover { background:#fff8fb; }
.concert-calendar-summary:focus-visible { outline-offset:-3px; }
.concert-calendar[open] > .concert-calendar-summary { border-bottom:1px solid var(--line); border-radius:12px 12px 0 0; }
.concert-calendar-symbol { display:grid; flex:none; place-items:center; width:38px; height:38px; border-radius:10px;
  background:var(--pink-soft); color:var(--pink-ink); }
.concert-calendar-symbol svg { width:21px; height:21px; }
.concert-calendar-label { flex:1; min-width:0; }
.concert-calendar-label b { display:block; font-size:16px; }
.concert-calendar-label small { display:block; font-size:12px; color:var(--muted); }
.concert-calendar[open] .concert-calendar-label small { display:none; }
.concert-calendar-toggle { display:flex; align-items:center; gap:6px; color:var(--pink-ink); font-size:12px; font-weight:680; }
.concert-calendar-toggle svg { width:17px; height:17px; }
.concert-calendar[open] .concert-calendar-toggle svg { transform:rotate(180deg); }
.concert-calendar[open] .calendar-expand,.concert-calendar:not([open]) .calendar-collapse { display:none; }
.concert-calendar-body { display:grid; gap:12px; padding:15px; }
.concert-calendar:not([open]) > .concert-calendar-body { display:none; }
.concert-calendar-toolbar { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
#concert-calendar-month { font-size:17px; }
#concert-calendar-month::first-letter,.concert-calendar-label small::first-letter { text-transform:uppercase; }
.concert-calendar-toolbar p { margin-top:2px; font-size:12px; }
.concert-calendar-nav { display:flex; gap:5px; }
.concert-calendar-nav .btn { min-height:32px; min-width:32px; }
.concert-calendar-nav svg { width:15px; height:15px; }
.concert-calendar-grid { overflow:auto; border:1px solid var(--line); border-radius:9px; }
.concert-calendar-table { min-width:350px; table-layout:fixed; }
.concert-calendar-table th { padding:8px 2px; text-align:center; background:#f9f5f7; font-size:11px; }
.concert-calendar-table td { height:82px; padding:4px; border-top:1px solid var(--line); vertical-align:top; background:var(--paper); }
.concert-calendar-table td + td { border-left:1px solid var(--line); }
.concert-calendar-table td.calendar-weekend { background:#fcfafb; }
.concert-calendar-table td.outside-month { background:#f8f6f8; }
.calendar-day { display:grid; place-items:center; width:27px; height:27px; padding:0; border:0; border-radius:50%;
  color:var(--ink); background:transparent; font-size:12px; font-weight:650; }
.outside-month .calendar-day { color:var(--muted); }
button.calendar-day:hover { color:var(--pink-ink); background:var(--pink-soft); }
.calendar-day[aria-current=date] { color:white; background:var(--pink); }
.calendar-events,.calendar-more[open] { display:grid; gap:3px; }
.calendar-concert { display:block; width:100%; min-width:0; padding:3px 5px; border:0; border-inline-start:3px solid var(--event-edge);
  border-radius:4px; background:var(--event-fill); color:var(--event-text); text-align:left; line-height:1.25; }
.calendar-concert b,.calendar-concert small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.calendar-concert small { font-size:10px; }
.calendar-concert:hover { box-shadow:inset 0 0 0 1px var(--event-edge); }
.calendar-concert:focus-visible,.calendar-day:focus-visible,.calendar-more summary:focus-visible { outline-offset:-1px; }
.calendar-more summary { padding:1px 5px; border-radius:4px; cursor:pointer; list-style:none; color:var(--pink-ink); font-size:11px; font-weight:650; }
.calendar-more summary:hover { background:var(--pink-soft); }
.concert-calendar .concert-planned { --event-edge:#d22a63; --event-fill:var(--pink-soft); --event-text:var(--pink-ink); }
.concert-calendar .concert-confirmed { --event-edge:#248562; --event-fill:var(--green-soft); --event-text:var(--green); }
.concert-calendar .concert-done { --event-edge:#5175a0; --event-fill:#e9f0fa; --event-text:#38587d; }
.concert-calendar .concert-cancelled { --event-edge:#817583; --event-fill:#f2eef1; --event-text:#655560; }
.calendar-concert.concert-cancelled b { text-decoration:line-through; }
.concert-calendar-legend { display:flex; flex-wrap:wrap; gap:5px 14px; padding:0; margin:0; list-style:none; color:var(--muted); font-size:11px; }
.concert-calendar-legend li { display:flex; align-items:center; gap:5px; }
.concert-calendar-legend li::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--event-edge); }
@media (prefers-reduced-motion: no-preference) {
  .concert-calendar-toggle svg { transition:transform 160ms ease; }
}
.callout { border:1px solid #f3d3de; background:#fff7fa; border-radius:10px; padding:12px 15px; color:#68384b; }
.callout strong { color:#5b2740; }
.rowform { display:grid; gap:11px; grid-template-columns:repeat(4,minmax(90px,1fr)); align-items:end; }
.rowform .submit { grid-column:1 / -1; }
dialog { border:1px solid var(--line); background:white; color:var(--ink); border-radius:15px; padding:0; width:min(560px, calc(100vw - 32px)); max-height:86vh; overflow:auto; box-shadow:0 18px 70px #23132130; }
dialog::backdrop { background:#231c2b6b; }
.dialog-body { padding:22px; display:grid; gap:14px; }
.dialog-body .bar { align-items:flex-start; }
.dialog-body .bar h2 { margin-top:3px; }
.dialog-body .stack > .btn { justify-self:start; }
#discard-dialog { max-width:465px; }
#discard-dialog .dialog-body { gap:8px; padding:24px; }
#discard-dialog .kicker { margin-bottom:0; }
#discard-dialog h2 { font-size:21px; line-height:1.2; }
.discard-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin-top:10px; }
.artist-form { gap:11px; }
.form-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:9px; margin-top:4px; padding-top:11px; border-top:1px solid var(--line); }
.artist-form .form-footer { position:sticky; bottom:-22px; z-index:1; margin-inline:-22px; margin-bottom:-22px; padding:11px 22px; background:var(--paper); }
#notice:not(:empty) { position:fixed; bottom:21px; right:21px; z-index:20; max-width:min(480px, 88vw); background:#242228; color:white; border-radius:9px; padding:11px 15px; box-shadow:0 6px 22px #23132126; }
#notice.error { background:#9a173f; }
.auth { min-height:100vh; display:grid; grid-template-columns:minmax(315px, 2fr) minmax(350px,3fr); }
.auth-side { color:white; background:#171419; border-top:7px solid var(--lumo); padding:34px clamp(25px,5vw,62px) 44px; display:flex; flex-direction:column; justify-content:space-between; min-height:100%; }
.auth-side h1 { font-size:clamp(34px,5vw,58px); line-height:1.03; max-width:460px; }
.auth-side p { color:#d5c6cf; margin-top:15px; max-width:300px; }
.auth-side .eyebrow { color:#ffaac8; font-size:11px; letter-spacing:.10em; text-transform:uppercase; font-weight:700; }
.auth-main { padding:40px 25px; display:grid; place-items:center; }
.auth-form { width:min(100%,360px); display:grid; gap:16px; }
.auth-form p { margin-top:6px; }
.auth-form .btn { margin-top:4px; }
.overview-controls { display:grid; gap:11px; }
.overview-metrics .metric { border-top:3px solid var(--lumo); }
.overview-metrics .metric strong { font-size:clamp(17px, 2.15vw, 26px); }
.overview .toolbar { padding:13px 15px; }
.overview .toolbar p { margin-top:3px; font-size:12px; }
.overall { flex:none; max-width:100%; background:var(--pink-soft); color:var(--pink-ink); border-radius:8px; padding:6px 10px; text-align:right; overflow-wrap:anywhere; }
.overall span { display:block; font-size:11px; font-weight:650; }
.overall strong { font-size:16px; font-variant-numeric:tabular-nums; }
.overview-wrap { max-height:550px; }
.overview-table td,.overview-table th { padding:8px 9px; }
.overview-table thead th { position:sticky; top:0; z-index:2; background:#fce1eb; color:#57253a; white-space:normal; vertical-align:bottom; }
.overview-table tbody th { background:#fff; border-top:1px solid #efedf0; min-width:140px; max-width:220px; white-space:normal; }
.overview-table .group-row th { color:#7b1740; background:#fff3f7; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.overview-table .group-row small { margin-left:4px; color:#8e6070; }
.overview-table .contact { color:var(--muted); display:block; margin-top:2px; font-weight:450; }
.overview-table tfoot th,.overview-table tfoot td { position:sticky; bottom:0; z-index:1; background:#fff0f5; color:#59172f; font-weight:730; border-top:2px solid #e8b7c9; }
.settlement-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
.invoice-address-editor { min-width:0; margin:0; padding:0; border:0; container-type:inline-size; }
.invoice-address-editor legend { margin-bottom:7px; padding:0; font-weight:720; }
.invoice-address-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.invoice-address-grid .buyer-street,.invoice-address-grid .buyer-city { grid-column:span 2; }
.legacy-address { margin-bottom:10px; overflow-wrap:anywhere; }
.legacy-address p:last-child { margin-top:5px; }
@container (max-width:390px) {
  .invoice-address-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .invoice-address-grid .buyer-city { grid-column:auto; }
  .invoice-address-grid .buyer-country { grid-column:span 2; }
}
.invoice-date-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:start; }
.invoice-date-grid input[type=date] { height:38px; padding-block:0; }
.invoice-due { margin:0; padding:0; min-width:0; border:0; }
.invoice-due legend { padding:0; margin-bottom:5px; font-weight:620; }
.date-segments { display:flex; align-items:center; gap:3px; min-height:38px; border:1px solid #d9d6de; border-radius:7px; padding:0 9px; }
.date-segments:focus-within { border-color:var(--pink); }
.date-segments:has([aria-invalid=true]) { border-color:#a3223d; }
.due-date-message { display:block; color:#a3223d; font-size:12px; }
.due-date-message:not(:empty) { margin-top:4px; }
.date-segments span { color:var(--muted); }
.date-segments input[type=text] { width:2.8ch; min-height:32px; padding:4px 0; border:0; border-radius:3px; text-align:center; font-variant-numeric:tabular-nums; }
.date-segments input[name=due_year] { width:5.5ch; }
.date-segments input:focus-visible { outline-offset:0; }
.invoice-row-status { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.invoice-more.btn { width:31px; font-size:19px; line-height:1; padding:0; }
.invoice-row-menu { position:fixed; z-index:10; display:grid; min-width:138px; padding:5px; border:1px solid var(--line);
  border-radius:9px; background:var(--paper); box-shadow:0 6px 24px #23132124; }
.invoice-menu-action { text-align:left; padding:7px 10px; border:0; border-radius:5px; background:transparent; color:var(--ink); font-weight:620; }
.invoice-menu-action:hover,.invoice-menu-action:focus-visible { background:var(--pink-soft); }
.invoice-menu-action:focus-visible { outline-offset:-2px; }
.invoice-menu-action.danger-text { color:#9f1e39; }
.invoice-line { background:#fcf9fa; border:1px solid var(--line); border-radius:10px; padding:13px; display:grid; gap:10px; }
.invoice-line-title { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.invoice-line-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.invoice-sheet { background:#fff; color:#171419; width:min(100%,820px); margin-inline:auto; border:1px solid var(--line);
  border-radius:15px; overflow:hidden; box-shadow:0 10px 24px #21101a0c; }
.invoice-banner { display:flex; justify-content:space-between; align-items:center; gap:18px; border-bottom:5px solid var(--lumo);
  background:#171419; color:var(--lumo); padding:18px 26px; }
.invoice-brand { display:flex; gap:12px; align-items:center; font-size:12px; font-weight:760; letter-spacing:.07em; }
.invoice-banner > div:last-child { text-align:right; }
.invoice-banner h2 { font-size:27px; line-height:1.1; margin:3px 0 4px; }
.invoice-banner p,.invoice-banner > div:last-child span { color:inherit; font-size:11px; letter-spacing:.05em; }
.invoice-content { padding:22px 25px 15px; display:grid; gap:19px; }
.invoice-parties { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.invoice-parties section { padding:12px; border:1px solid #e9dbe1; border-radius:9px; overflow-wrap:anywhere; }
.invoice-sheet h3 { margin-bottom:6px; font-size:12px; font-weight:750; color:#9e1a45; }
.invoice-sheet p,.invoice-sheet b,.invoice-sheet td { overflow-wrap:anywhere; }
.invoice-address,.invoice-notes p { white-space:pre-line; }
.invoice-dates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; border-block:1px solid #ecdce3; padding:9px 0; }
.invoice-dates span,.invoice-table small { display:block; color:#6a6068; font-size:11px; }
.invoice-tablewrap { min-width:0; overflow:auto; }
.invoice-table th { background:#fde8ef; color:#632438; white-space:normal; }
.invoice-table td,.invoice-table th { padding:9px 8px; font-size:12px; }
.invoice-bottom { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,.95fr); gap:13px; align-items:start; }
.invoice-bank { padding:11px 13px; border:1px solid #ecdce3; border-radius:9px; }
.invoice-bank p { margin-top:4px; font-variant-numeric:tabular-nums; }
.invoice-totals { margin:0; border:1px solid #ecdce3; border-radius:9px; overflow:hidden; }
.invoice-totals > div { display:flex; justify-content:space-between; gap:9px; padding:7px 11px; font-size:12px; }
.invoice-totals dd { margin:0; font-variant-numeric:tabular-nums; white-space:nowrap; font-weight:700; }
.invoice-totals .invoice-gross { background:#f23c74; color:#24121b; font-size:15px; font-weight:800; border-top:2px solid #b92755; }
.invoice-footer { border-top:1px solid #ecdce3; padding-top:9px; color:#923053; font-size:9px; font-weight:760; letter-spacing:.12em; }
.invoice-actions { width:min(100%,820px); margin-inline:auto; }
.payout-hint { grid-column:2 / -1; margin-top:-5px; color:var(--muted); font-size:12px; }
input[readonly] { background:#faf6f8; }
@container (max-width: 760px) {
  .licensee-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container (max-width: 595px) {
  .overview-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container (max-width: 465px) {
  .report-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-filter .filter-action { grid-column:1 / -1; }
}
@container (max-width: 330px) {
  .overview-filter,.report-filter,.licensee-filter { grid-template-columns:minmax(0,1fr); }
}
@container (max-width: 970px) {
  .licensee-table [data-column=tax],.licensee-table [data-column=after_tax],
  .overview-table [data-column=all_advance],.overview-table [data-column=rate] { display:none; }
}
@container (max-width: 735px) {
  .licensee-table [data-column=group],.licensee-table [data-column=paid],.licensee-table [data-column=advance],
  .overview-table [data-column=tax],.overview-table [data-column=paid],.overview-table [data-column=advance],
  .statement-table [data-column=rate],.statement-table [data-column=tax],.statement-table [data-column=paid],
  .report-table [data-column=uploaded-by] { display:none; }
  .compact-group { display:block; }
}
@container (max-width: 555px) {
  .licensee-table [data-column=artist_due],.overview-table [data-column=report_total],
  .statement-table [data-column=report_total],.statement-table [data-column=advance],.statement-table [data-column=balance],
  .report-table [data-column=period] { display:none; }
  .compact-period { display:block; }
}
@media(max-width:1040px) {
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pagehead { align-items:flex-start; flex-direction:column; }
}
@media(max-width:900px) {
  .sidebar { width:175px; padding-inline:10px; }
  .sidebar .brand { margin-left:1px; gap:7px; font-size:9px; letter-spacing:.09em; }
  .sidebar .brand img { width:55px; height:55px; }
  .main { margin-left:175px; padding-inline:18px; }
  .twocol { grid-template-columns:1fr; }
  .queue-nav.queue-full { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .invoice-line-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:740px) {
  .sidebar { width:145px; }
  .main { margin-left:145px; }
  .sidebar nav .nav { padding-inline:7px; gap:7px; font-size:12px; }
  .sidebar nav .nav svg { width:15px; height:15px; }
  .auth { grid-template-columns:1fr; }
  .auth-side { padding:18px 26px; gap:16px; }
  .auth-side h1 { font-size:29px; }
  .auth-side p,.auth-side .eyebrow { display:none; }
  .rowform { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .payout-hint { grid-column:1 / -1; }
  .sidebar .brand { margin-left:1px; gap:5px; font-size:8px; letter-spacing:.08em; }
  .sidebar .brand img { width:42px; height:42px; }
}
@media(max-width:680px) {
  .invoice-date-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:410px) {
  .invoice-date-grid { grid-template-columns:1fr; }
}
@media(max-width:570px) {
  .sidebar { position:static; width:100%; }
  .sidebar .brand { margin-left:2px; }
  .sidebar nav { display:flex; flex-wrap:wrap; margin-top:9px; }
  .account { display:flex; flex-wrap:wrap; margin-top:10px; }
  .account .nav { width:auto; }
  .main { margin-left:0; }
  .profile-grid { grid-template-columns:1fr; }
  .invoice-parties,.invoice-bottom { grid-template-columns:1fr; }
  .invoice-line-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-height:650px) and (min-width:571px) {
  .sidebar { overflow-y:auto; }
  .sidebar nav { margin-top:12px; }
  .sidebar nav .nav { padding-block:7px; }
}
@media print {
  body { background:white; }
  .sidebar,.pagehead .filters,.edit-settlement,.private-profile,#notice,.card button { display:none !important; }
  .card button.print-month { display:inline !important; color:var(--ink); }
  .main { margin:0; padding:0; min-height:0; }
  .card { break-inside:auto; }
  .tablewrap { overflow:visible; container-type:normal; }
  thead { display:table-header-group; }
  th,td { padding:5px 4px; font-size:10px; }
  tr { break-inside:avoid; }
}
