.invoice-manager{--im-bg:#f5f7fa;--im-panel:#fff;--im-text:#22334c;--im-muted:#57687d;--im-line:#c9d3df;--im-accent:#254b76;--im-on:#fff;box-sizing:border-box;width:calc(100vw - 32px);max-width:1500px;height:calc(100dvh - 32px);max-height:none;padding:32px 42px;border:1px solid var(--im-line);border-radius:18px;background:var(--im-bg);color:var(--im-text);font:17px/1.55 'Segoe UI',sans-serif}
.invoice-manager[data-theme=dark]{--im-bg:#101a28;--im-panel:#1c2a3d;--im-text:#edf3fc;--im-muted:#b6c5d8;--im-line:#435773;--im-accent:#b3d3ff;--im-on:#102238;color-scheme:dark}
.invoice-manager::backdrop{background:#071323b8}.invoice-manager *{box-sizing:border-box}.invoice-manager h1{font-size:36px;line-height:1.15;margin:4px 0;color:var(--im-text)}.invoice-manager h2{font-size:23px;color:var(--im-text)}.invoice-manager p,.invoice-manager small,.invoice-manager time{color:var(--im-muted)}.im-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.im-eyebrow{font-size:12px;letter-spacing:.15em;font-weight:750}.im-lead{font-size:20px}.invoice-manager button,.invoice-manager input{font:inherit;min-height:46px;padding:10px 16px;border:1px solid var(--im-line);border-radius:9px;background:var(--im-panel);color:var(--im-text)}.invoice-manager button{cursor:pointer}.invoice-manager button:hover{border-color:var(--im-accent)}.invoice-manager :focus-visible{outline:3px solid var(--im-accent);outline-offset:3px}.im-notice{padding:14px 18px;border-left:4px solid #a98e46;background:var(--im-panel);border-radius:5px}.im-tools{display:flex;gap:16px;align-items:end;margin:22px 0}.im-tools label{flex:1}.im-tools input{display:block;width:100%;margin-top:6px}.im-filters{display:flex;gap:8px;flex-wrap:wrap}.im-filters button[aria-pressed=true],.invoice-manager .im-primary{background:var(--im-accent);color:var(--im-on)}.im-filters span{margin-left:8px}.im-list{display:grid;gap:10px}.invoice-manager .im-card{display:grid;grid-template-columns:2fr 1fr 1fr;text-align:left;width:100%;gap:20px;padding:20px 24px;border-left:4px solid #b89e53}.im-card strong{font-size:19px}.im-card small,.im-summary small{display:block}.im-amount{text-align:right}.im-status{display:inline-block;font-size:14px;font-weight:650}.im-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.im-summary>div,.im-columns>section,.im-empty{padding:24px;background:var(--im-panel);border:1px solid var(--im-line);border-radius:12px}.im-summary strong{display:block;font-size:24px}.im-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.im-columns button{display:block;width:100%;margin-top:12px}.im-timeline{padding-left:24px;border-left:2px solid var(--im-line);list-style:none}.im-timeline li{margin:0 0 24px}.im-timeline time{display:block;font-size:14px}.im-muted{font-size:14px}
body.studio-enhanced #admin-view .studio-toolbar{position:relative;top:auto}
body.studio-enhanced #admin-view .admin-workspace-nav{position:sticky;top:var(--studio-header-height,88px);z-index:36;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:10px;background:var(--st-panel);border:1px solid var(--st-border);border-radius:12px;box-shadow:0 7px 20px #0001;scrollbar-width:thin}
body.studio-enhanced #admin-view .admin-workspace-nav :is(a,button){flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:56px;min-width:108px;max-width:180px;padding:10px 16px;white-space:normal;text-align:center;border:1px solid var(--st-border);border-top:3px solid #b49a4f;border-radius:8px;background:var(--st-soft);color:var(--st-text);font:650 14px/1.25 'Segoe UI',sans-serif;text-decoration:none;cursor:pointer}
body.studio-enhanced #admin-view .admin-workspace-nav a.active{background:var(--st-accent);color:var(--st-on-accent)}
@media(max-width:700px){.invoice-manager{width:100vw;height:100dvh;padding:20px 16px;border-radius:0}.im-header{align-items:start}.invoice-manager h1{font-size:28px}.im-tools{flex-direction:column;align-items:stretch}.im-summary,.im-columns{grid-template-columns:1fr}.invoice-manager .im-card{grid-template-columns:1fr;gap:12px}.im-amount{text-align:left}.im-header button{font-size:14px}.im-filters{flex-wrap:nowrap;overflow-x:auto}.im-filters button{flex-shrink:0}}

.invoice-product form{max-width:1000px;margin:24px auto}.invoice-product form>label{display:block;margin:18px 0}.invoice-product form>label>input:not([type=checkbox]),.invoice-product select{display:block;width:100%;padding:12px;margin-top:6px;font:inherit;border:1px solid var(--im-line);border-radius:8px;background:var(--im-panel);color:var(--im-text)}.invoice-product .im-member{display:flex;align-items:center;gap:16px;padding:18px;background:var(--im-panel);border:1px solid var(--im-line);border-radius:9px}.im-member>span{flex:1}.im-member small{display:block}.im-member input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}.im-table-wrap{overflow:auto}.invoice-product table{width:100%;border-collapse:collapse}.invoice-product :is(td,th){text-align:left;padding:12px;border-bottom:1px solid var(--im-line);background:var(--im-panel);color:var(--im-text)}.invoice-product [type=submit]{margin:16px 8px 16px 0}.invoice-product .im-message{position:sticky;bottom:0;padding:12px;background:var(--im-panel);color:var(--im-text)}.invoice-product .im-message:empty{display:none}.invoice-product button:disabled{opacity:.55;cursor:wait}

.invoice-manager :is(.im-header>div,.im-columns>section,.im-summary>div,.im-member>span){min-width:0}.invoice-manager h1{overflow-wrap:anywhere}.invoice-manager .im-header>div:last-child{flex-shrink:0}.invoice-manager .im-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:700px){.invoice-manager .im-header{flex-direction:column}.invoice-manager .im-columns{grid-template-columns:minmax(0,1fr)}.invoice-manager .im-member{flex-wrap:wrap}.invoice-manager .im-member>span{overflow-wrap:anywhere}.invoice-manager .im-header>div:last-child{display:flex;gap:8px}}

/* A Studio: one primary section rail; compact reports; publication overview is read-only. */
body.studio-enhanced #admin-view .admin-heading{padding:12px 0;margin:0 0 12px;gap:16px}
body.studio-enhanced #admin-view .admin-heading h1{font-size:clamp(28px,3vw,40px);margin:4px 0}
body.studio-enhanced #admin-view .admin-heading p{margin:4px 0;font-size:15px;max-width:780px}
body.studio-enhanced #admin-view .admin-workspace-nav{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%;max-width:100%;margin:0 0 16px;align-items:stretch;scroll-margin-top:var(--studio-header-height)}
body.studio-enhanced #admin-view .admin-workspace-nav :is(a,button){flex:0 0 auto;min-width:104px;min-height:48px;max-width:156px;padding:8px 12px;font-size:13px}
body.studio-enhanced #admin-view .admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
body.studio-enhanced #admin-view .admin-summary a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 16px;min-height:0}
body.studio-enhanced #admin-view .admin-summary strong{font-size:26px;line-height:1.2;margin:0;grid-column:2;grid-row:1 / 3}
body.studio-enhanced #admin-view .admin-summary span{font-size:12px}
body.studio-enhanced #admin-view .admin-summary small{font-size:11px;margin:0}
body.studio-enhanced #admin-view .page-overview{padding:12px 16px;margin:12px 0;border-top-width:1px}
body.studio-enhanced #admin-view .page-overview summary{cursor:pointer;font-weight:650;min-height:28px}
body.studio-enhanced #admin-view .studio-toolbar{margin:12px 0;padding:10px}
@media(max-width:800px){body.studio-enhanced #admin-view .admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}body.studio-enhanced #admin-view .admin-heading{align-items:flex-start}body.studio-enhanced #admin-view .admin-summary a{padding:10px}}

body.studio-enhanced #admin-view .admin-summary a{padding:16px 18px;min-height:88px}body.studio-enhanced #admin-view .admin-summary span{font-size:14px}body.studio-enhanced #admin-view .admin-summary small{font-size:12px}body.studio-enhanced #admin-view .admin-summary strong{font-size:30px}

/* Scoped dialog controls must outrank report-wide button colors. */
body dialog.invoice-manager[data-theme] button{background:var(--im-panel);color:var(--im-text);border-color:var(--im-line)}
body dialog.invoice-manager[data-theme] :is(button.im-primary,.im-filters button[aria-pressed=true]){background:var(--im-accent);color:var(--im-on);border-color:var(--im-accent);font-weight:650}
body dialog.invoice-manager[data-theme] button:hover:not(:disabled){background:var(--im-bg);color:var(--im-text);border-color:var(--im-accent)}
body dialog.invoice-manager[data-theme] :is(button.im-primary,.im-filters button[aria-pressed=true]):hover:not(:disabled){background:var(--im-accent);color:var(--im-on);box-shadow:inset 0 0 0 2px var(--im-on)}
body dialog.invoice-manager[data-theme] button:disabled{background:var(--im-panel);color:var(--im-muted);border-color:var(--im-line);border-style:dashed;opacity:1;cursor:not-allowed;box-shadow:none}
body dialog.invoice-manager[data-theme] button:focus-visible{outline:3px solid var(--im-accent);outline-offset:3px}

.invoice-manager .im-create-entry{padding:20px 0 4px}.invoice-manager .im-create-entry>button{font-size:18px;min-height:54px;padding:14px 22px}.invoice-manager .im-create-entry p{margin:10px 0;max-width:750px}@media(max-width:700px){.invoice-manager .im-create-entry>button{width:100%;white-space:normal;text-align:center}}

.invoice-document .im-document-frame{display:block;width:100%;height:calc(100% - 180px);min-height:320px;border:1px solid var(--im-line);background:#fff;color-scheme:light}.invoice-document .im-document-status{font-size:14px;margin:12px 0}@media(max-width:700px){.invoice-document .im-document-frame{height:calc(100% - 260px)}}

body.studio-enhanced #admin-view .admin-summary{grid-template-columns:repeat(6,minmax(0,1fr))}body.studio-enhanced #admin-view .admin-summary .donor-summary-amounts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 14px}body.studio-enhanced #admin-view .donor-summary-amounts b{font-weight:700}@media(max-width:1500px){body.studio-enhanced #admin-view .admin-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){body.studio-enhanced #admin-view .admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){body.studio-enhanced #admin-view .admin-summary{grid-template-columns:1fr}}

/* Six summary cards: balanced 6/3/2/1 rows, with room for wrapped labels. */
body.studio-enhanced #admin-view .admin-summary{width:100%;grid-auto-rows:1fr}
body.studio-enhanced #admin-view .admin-summary a{min-width:0;height:100%;grid-template-columns:minmax(0,1fr) auto}
body.studio-enhanced #admin-view .admin-summary :is(span,small){min-width:0;overflow-wrap:anywhere}

/* Invoice theme boundary: public/report label colors must not leak into dialogs.
   Appearance review 2026-09-22: preserve the separate light invoice document. */
body dialog.invoice-manager[data-theme]{--im-control:#75869b;color-scheme:light}
body dialog.invoice-manager[data-theme=dark]{--im-control:#7f94b0;color-scheme:dark}
body dialog.invoice-manager[data-theme] :is(label,legend,strong,b,h3,h4){color:var(--im-text)}
body dialog.invoice-manager[data-theme] span{color:inherit}
body dialog.invoice-manager[data-theme] :is(p,small,time){color:var(--im-muted)}
body dialog.invoice-manager[data-theme] :is(input,select,textarea){background:var(--im-panel);color:var(--im-text);border-color:var(--im-control);font:inherit}
body dialog.invoice-manager[data-theme] :is(input,textarea)::placeholder{color:var(--im-muted);opacity:1}
body dialog.invoice-manager[data-theme] :is(input,select,textarea):disabled{color:var(--im-muted);opacity:1;cursor:not-allowed}
body dialog.invoice-manager[data-theme] input[type=checkbox]{accent-color:var(--im-accent)}
body dialog.invoice-manager[data-theme] :is(input,select,textarea):focus-visible{outline:3px solid var(--im-accent);outline-offset:3px}
body dialog.invoice-manager[data-theme] .im-member:focus-within{border-color:var(--im-accent)}


/* A134 balanced tombstones: every permitted section remains visible. */
body.studio-enhanced #admin-view .admin-workspace-nav{display:grid!important;grid-template-columns:repeat(var(--studio-nav-columns,7),minmax(0,1fr));grid-auto-rows:1fr;gap:8px;overflow:visible!important;box-sizing:border-box;width:100%;height:auto;max-height:none;align-items:stretch}
body.studio-enhanced #admin-view .admin-workspace-nav :is(a,button){box-sizing:border-box;width:100%;min-width:0;max-width:none;min-height:58px;height:100%;white-space:normal;overflow-wrap:normal;padding:10px 12px;text-align:center}
@media(max-width:600px){body.studio-enhanced #admin-view .admin-workspace-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 16px}body.studio-enhanced #admin-view .admin-workspace-nav :is(a,button){min-height:52px}}

/* Invoice overview: three everyday tasks; detailed history stays available under More. */
.invoice-product .im-workflow-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.invoice-product .im-workflow-tabs button{display:grid;grid-template-columns:1fr auto;gap:5px 14px;text-align:left;padding:18px 20px;align-items:center;min-width:0}
.invoice-product .im-workflow-tabs button>span{font-weight:700;font-size:18px;grid-column:1;grid-row:1}
.invoice-product .im-workflow-tabs button>strong{font-size:30px;grid-column:2;grid-row:1 / 3}
.invoice-product .im-workflow-tabs button>small{font-size:13px;grid-column:1;grid-row:2;color:inherit}
.invoice-product .im-workflow-tabs button[aria-pressed=true]{background:var(--im-accent);color:var(--im-on);border-color:var(--im-accent)}
.invoice-product .im-overview-tools{display:flex;gap:18px;align-items:end;margin:20px 0 12px}
.invoice-product .im-overview-tools>label{flex:1;min-width:0;font-weight:650}
.invoice-product .im-overview-tools input{display:block;width:100%;margin-top:8px}
.invoice-product .im-more{position:relative;flex:0 0 auto}
.invoice-product .im-more>summary{list-style:none;cursor:pointer;border:1px solid var(--im-line);border-radius:9px;padding:12px 20px;min-height:46px;background:var(--im-panel)}
.invoice-product .im-more>summary::after{content:' â–¾'}
.invoice-product .im-more>div{position:absolute;right:0;top:100%;z-index:4;display:grid;gap:6px;min-width:240px;padding:10px;background:var(--im-panel);border:1px solid var(--im-line);border-radius:9px;box-shadow:0 8px 24px #0002}
.invoice-product .im-more>div button{text-align:left}
.invoice-product .im-agency-group{border:1px solid var(--im-line);border-radius:12px;overflow:hidden;background:var(--im-panel)}
.invoice-product .im-agency-group>header{padding:16px 20px;border-bottom:1px solid var(--im-line);background:color-mix(in srgb,var(--im-accent) 6%,var(--im-panel))}
.invoice-product .im-agency-group h2{font-size:20px;margin:0 0 5px}
.invoice-product .im-agency-group>header p{font-size:14px;margin:0;line-height:1.5}
.invoice-product .im-person-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:18px;align-items:center;text-align:left;width:100%;padding:17px 20px;border:0;border-radius:0;border-bottom:1px solid var(--im-line);background:var(--im-panel);color:var(--im-text)}
.invoice-product .im-person-row:last-child{border-bottom:0}
.invoice-product button.im-person-row:hover{background:color-mix(in srgb,var(--im-accent) 7%,var(--im-panel))}
.invoice-product .im-person-row>span{min-width:0;overflow-wrap:anywhere}
.invoice-product .im-person-row strong{display:block;font-size:16px}
.invoice-product .im-person-row small{display:block;font-size:13px;line-height:1.45;margin-top:4px}
.invoice-product .im-row-action{font-size:14px;font-weight:650;text-align:right}
.invoice-product .im-review-records{margin-top:24px;border:1px solid var(--im-line);border-radius:10px;padding:16px}
.invoice-product .im-review-records>summary{cursor:pointer;font-weight:650}
.invoice-product .im-review-records>p{font-size:14px}
.invoice-product .im-member:has(input:disabled){background:color-mix(in srgb,var(--im-muted) 6%,var(--im-panel))}
.invoice-product .im-member input:disabled{cursor:not-allowed}
@media(max-width:700px){
 .invoice-product .im-workflow-tabs{gap:6px;margin:16px 0}
 .invoice-product .im-workflow-tabs button{display:flex;flex-direction:column;align-items:flex-start;padding:12px 10px;gap:6px}
 .invoice-product .im-workflow-tabs button>span{font-size:14px}
 .invoice-product .im-workflow-tabs button>strong{font-size:25px}
 .invoice-product .im-workflow-tabs button>small{font-size:11px}
 .invoice-product .im-person-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:16px}
 .invoice-product .im-row-action{grid-column:1 / -1;text-align:left}
 .invoice-product .im-agency-group>header{padding:14px 16px}
 .invoice-product .im-agency-group h2{font-size:18px}
 .invoice-product .im-member{flex-wrap:wrap}
 .invoice-product .im-member>span{flex:1 1 180px}
}

/* Invoice detail: an actionable summary and readable people list, with optional depth. */
.invoice-product .im-detail-header{align-items:flex-start;flex-wrap:wrap}
.invoice-product .im-detail-header>div:first-child{flex:1 1 420px;min-width:0}
.invoice-product .im-detail-header h1{font-size:30px;overflow-wrap:anywhere}
.invoice-product .im-detail-meta{display:flex;flex-wrap:wrap;gap:5px 18px;margin:12px 0 24px;font-size:14px;color:var(--im-muted);overflow-wrap:anywhere}
.invoice-product .im-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 40px;padding:24px 28px;border:1px solid var(--im-line);border-radius:12px;background:var(--im-panel)}
.invoice-product .im-state-badge{display:inline-block;font-size:13px;font-weight:700;padding:4px 10px;border:1px solid var(--im-line);border-radius:6px}
.invoice-product .im-detail-state h2{font-size:21px;line-height:1.4;margin:14px 0 12px;max-width:640px}
.invoice-product .im-email-summary{display:grid;gap:4px;font-size:14px;margin:0}
.invoice-product .im-email-summary strong{font-size:15px}
.invoice-product .im-detail-balance{text-align:right;align-self:center;display:grid;gap:4px}
.invoice-product .im-detail-balance>span{font-size:15px}
.invoice-product .im-detail-balance>strong{font-size:38px;line-height:1.3}
.invoice-product .im-detail-balance>small{font-size:13px}
.invoice-product .im-detail-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;padding-top:8px}
.invoice-product .im-detail-actions button{font-size:16px}
.invoice-product .im-detail-people{margin:26px 0}
.invoice-product .im-detail-people>h2{font-size:20px;margin:0 0 12px}
.invoice-product .im-simple-people{border:1px solid var(--im-line);border-radius:10px;overflow:hidden}
.invoice-product .im-simple-people table{table-layout:fixed;width:100%}
.invoice-product .im-simple-people :is(th,td){padding:14px 20px;vertical-align:middle;overflow-wrap:anywhere}
.invoice-product .im-simple-people th{font-size:13px;color:var(--im-muted);font-weight:600;background:var(--im-bg)}
.invoice-product .im-simple-people :is(th,td):first-child{width:44%}
.invoice-product .im-simple-people :is(th,td):last-child{width:24%;text-align:right}
.invoice-product .im-simple-people tbody tr:last-child td{border-bottom:0}
.invoice-product .im-simple-people small{display:block;font-size:13px;margin-top:3px}
.invoice-product .im-person-status{font-size:15px;font-weight:600}
.invoice-product .im-detail-extras{border-top:1px solid var(--im-line);margin-top:20px}
.invoice-product .im-detail-extras>details{border-bottom:1px solid var(--im-line)}
.invoice-product .im-detail-extras>details>summary{padding:16px 4px;cursor:pointer;font-size:15px;font-weight:600;list-style-position:inside}
.invoice-product .im-detail-extras>details>summary>span{font-weight:400;color:var(--im-muted);margin-left:8px;font-size:13px}
.invoice-product .im-extra-body{padding:6px 12px 20px;font-size:15px}
.invoice-product .im-extra-body>p{font-size:14px}
.invoice-product .im-extra-actions{display:flex;flex-wrap:wrap;gap:10px;padding:8px 12px 20px}
.invoice-product .im-extra-actions button{font-size:15px}
.invoice-product .im-email-detail>strong,.invoice-product .im-email-detail>small{display:block;margin:6px 0}
.invoice-product .im-detail-extras .im-timeline{margin:12px 0}
.invoice-product:has(.im-detail-hero)>.im-message{position:static;font-size:14px;border-radius:8px}
body dialog.invoice-product[data-theme] .im-detail-actions button.im-primary{background:var(--im-accent);color:var(--im-on);font-weight:700}
@media(max-width:700px){
 .invoice-product .im-detail-header h1{font-size:24px}
 .invoice-product .im-detail-header>div:first-child{flex-basis:100%}
 .invoice-product .im-detail-meta{margin:10px 0 18px;gap:4px 12px;font-size:12px}
 .invoice-product .im-detail-hero{grid-template-columns:1fr;padding:18px;gap:18px}
 .invoice-product .im-detail-balance{text-align:left;grid-row:1}
 .invoice-product .im-detail-balance>strong{font-size:34px}
 .invoice-product .im-detail-state h2{font-size:18px}
 .invoice-product .im-detail-actions{display:grid;grid-template-columns:1fr}
 .invoice-product .im-simple-people :is(th,td){padding:12px 10px;font-size:14px}
 .invoice-product .im-simple-people :is(th,td):first-child{width:40%}
 .invoice-product .im-simple-people :is(th,td):last-child{width:27%}
 .invoice-product .im-person-status{font-size:13px}
}

/* Category changes keep their controls mounted and use an immediate, readable selected state. */
body dialog.invoice-product[data-theme] .im-workflow-tabs button{transition:none;animation:none}
body dialog.invoice-product[data-theme] .im-workflow-tabs button[aria-pressed=true],
body dialog.invoice-product[data-theme] .im-workflow-tabs button[aria-pressed=true]:hover{background:var(--im-accent);color:var(--im-on);border-color:var(--im-accent)}
body dialog.invoice-product[data-theme] .im-workflow-tabs button[aria-pressed=true] :is(span,strong,small){color:var(--im-on)}

/* Status is readable as text as well as color in both invoice themes. */
body dialog.invoice-product[data-theme] .im-status-pill{--pill-bg:#fff2cf;--pill-text:#805000;--pill-line:#dfc17c;display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:28px;padding:5px 11px;border:1px solid var(--pill-line);border-radius:999px;background:var(--pill-bg);color:var(--pill-text);font-size:13px;font-weight:700;line-height:1.3;vertical-align:middle;overflow-wrap:anywhere}
body dialog.invoice-product[data-theme] .im-status-pill::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 7px}
body dialog.invoice-product[data-theme] .im-status-pill[data-tone=paid]{--pill-bg:#e5f5ea;--pill-text:#155f32;--pill-line:#98cfa9}
body dialog.invoice-product[data-theme] .im-status-pill[data-tone=unpaid]{--pill-bg:#fde8e8;--pill-text:#a12630;--pill-line:#e8a5ac}
body dialog.invoice-product[data-theme] .im-status-pill[data-tone=neutral]{--pill-bg:#edf0f4;--pill-text:#526174;--pill-line:#bdc6d1}
body dialog.invoice-product[data-theme] .im-status-pill[data-tone=info]{--pill-bg:#e6efff;--pill-text:#245693;--pill-line:#a2bfdf}
body dialog.invoice-product[data-theme=dark] .im-status-pill{--pill-bg:#493714;--pill-text:#ffdc91;--pill-line:#8f7033}
body dialog.invoice-product[data-theme=dark] .im-status-pill[data-tone=paid]{--pill-bg:#163d2a;--pill-text:#a6edbd;--pill-line:#3f8b5c}
body dialog.invoice-product[data-theme=dark] .im-status-pill[data-tone=unpaid]{--pill-bg:#4d2029;--pill-text:#ffbcc4;--pill-line:#a25a69}
body dialog.invoice-product[data-theme=dark] .im-status-pill[data-tone=neutral]{--pill-bg:#2b3545;--pill-text:#c9d5e5;--pill-line:#67778d}
body dialog.invoice-product[data-theme=dark] .im-status-pill[data-tone=info]{--pill-bg:#1d3555;--pill-text:#bad8ff;--pill-line:#577faa}
.invoice-product .im-email-summary>.im-status-pill{justify-self:start}
.invoice-product .im-person-status>.im-status-pill{margin-bottom:2px}

/* Billing recipient is a mailing block; the email opens the shared composer. */
.invoice-product .im-billing-contact{padding:20px 24px;margin:20px 0;border:1px solid #acbbcf;border-radius:12px;background:transparent}
.invoice-product .im-billing-contact h2{font-size:1rem;margin:0 0 10px}.invoice-product .im-billing-contact address{font-style:normal;line-height:1.6}.invoice-product .im-billing-contact address>*{display:block}.invoice-product button.im-billing-email{margin:8px 0 0;padding:4px 0;border:0;border-radius:2px;min-height:36px;background:transparent!important;color:inherit!important;text-decoration:underline;text-underline-offset:3px;text-align:left}.invoice-product[data-theme=dark] .im-billing-contact{border-color:#4a5b77}

/* Billing UX 2026-10-25: compact receipt controls beside the paid summary. */
.invoice-product .im-workflow-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.invoice-product .im-invoice-row small{overflow-wrap:anywhere}
.invoice-product .im-payment-panel{padding:24px;margin:18px 0;border:1px solid var(--im-line,#bac7d8);border-radius:14px;border-left:4px solid #4b6b98}
.invoice-product .im-payment-panel h2{font-size:1.3rem;margin:0 0 8px}
.invoice-product .im-payment-panel p{font-size:.95rem;line-height:1.5;margin:8px 0 16px}
.invoice-product .im-payment-panel fieldset{max-width:720px;border:0;padding:0;margin:16px 0}
.invoice-product .im-payment-panel legend{font-size:1rem;font-weight:700;padding:0;margin-bottom:12px}
.invoice-product .im-payment-panel input[type=email]{box-sizing:border-box;width:100%;font-size:1rem;padding:12px;margin-top:8px}
body dialog.invoice-product .im-payment-panel .im-receipt-confirm{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:400;margin:16px 0}
body dialog.invoice-product .im-payment-panel input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;flex:0 0 20px;padding:0;margin:0}
.invoice-product .im-payment-panel button{margin:4px 8px 4px 0}
@media(max-width:700px){.invoice-product .im-workflow-tabs{grid-template-columns:1fr 1fr}.invoice-product .im-payment-panel{padding:16px}.invoice-product .im-payment-panel button{width:100%;margin:6px 0}}

/* Guided drafting: one task and one primary action per screen. */
body dialog.invoice-product:has(.im-flow){width:min(960px,calc(100vw - 40px));height:auto;max-height:calc(100dvh - 40px);padding:26px 32px;font-size:15px;overflow:auto}
.invoice-product .im-flow-header{align-items:start;margin-bottom:26px}
.invoice-product .im-flow-header h1{font-size:26px;line-height:1.2}
.invoice-product .im-flow-header .im-eyebrow{font-size:11px;margin:0 0 7px}
.invoice-product .im-flow-header button{font-size:13px;min-height:36px;padding:7px 11px}
.invoice-product .im-flow-steps{display:flex;list-style:none;padding:0;margin:0 0 28px;gap:24px;border-bottom:1px solid var(--im-line)}
.invoice-product .im-flow-steps li{display:flex;align-items:center;gap:8px;padding:0 0 15px;color:var(--im-muted);font-size:14px}
.invoice-product .im-flow-steps li>span{display:inline-grid;place-items:center;border:1px solid var(--im-line);border-radius:50%;width:25px;height:25px;font-size:12px}
.invoice-product .im-flow-steps [aria-current=step]{font-weight:700;color:var(--im-text);border-bottom:3px solid var(--im-accent)}
.invoice-product .im-flow-steps [aria-current=step]>span{background:var(--im-accent);color:var(--im-on);border-color:var(--im-accent)}
.invoice-product .im-flow-intro h2{font-size:23px;margin:0 0 6px}
.invoice-product .im-flow-intro p{margin:0 0 20px;font-size:15px}
.invoice-product .im-flow-card{background:var(--im-panel);border:1px solid var(--im-line);border-radius:12px;overflow:visible}
.invoice-product .im-flow-card-heading{display:flex;justify-content:space-between;padding:14px 18px;font-size:13px;border-bottom:1px solid var(--im-line)}
.invoice-product .im-flow-card-heading>span{padding-right:65px;color:var(--im-muted)}
.invoice-product .im-flow-card .im-list{gap:0}
.invoice-product .im-flow-card .im-member{border:0;border-bottom:1px solid var(--im-line);border-radius:0;padding:16px 18px;gap:14px}
.invoice-product .im-flow-card .im-member:last-child{border-bottom:0;border-radius:0 0 12px 12px}
.invoice-product .im-flow-person>label{display:flex;flex:0 0 20px;margin:0}
.invoice-product .im-flow-person>span{flex:1;min-width:0}
.invoice-product .im-flow-person>span.im-member-price{flex:0 0 110px;text-align:right}
.invoice-product .im-flow-person small{font-size:12px;margin-top:3px}
body dialog.invoice-product .im-flow input[type=checkbox]{width:19px;height:19px;min-width:19px;min-height:19px;padding:0;margin:0}
.invoice-product .im-person-options{position:relative;flex:0 0 auto}
.invoice-product .im-person-options>summary{cursor:pointer;padding:8px;font-size:13px}
.invoice-product .im-person-options>div{position:absolute;z-index:5;right:0;top:100%;width:180px;padding:8px;background:var(--im-panel);border:1px solid var(--im-line);box-shadow:0 8px 20px #0002;border-radius:8px}
.invoice-product .im-person-options button{font-size:13px;text-align:left;padding:8px;width:100%;min-height:36px;margin:3px 0}
.invoice-product .im-other-people{border-top:1px solid var(--im-line)}
.invoice-product .im-other-people>summary{cursor:pointer;padding:14px 18px;font-size:14px}
.invoice-product .im-flow-form{margin:0;max-width:none}
.invoice-product .im-flow-optional{margin:18px 0;font-size:13px}
.invoice-product .im-flow-optional>summary{cursor:pointer;color:var(--im-muted)}
.invoice-product .im-flow-optional .im-create-entry{padding:10px 0}
.invoice-product .im-flow-optional button{font-size:13px;padding:8px 12px;min-height:36px;margin-right:6px}
.invoice-product .im-flow-optional label{display:block;margin:12px 0}
.invoice-product .im-flow-optional input{width:100%;margin-top:6px}
.invoice-product .im-flow-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--im-line);padding-top:18px;margin-top:24px}
.invoice-product .im-flow-footer button{font-size:15px;padding:10px 20px;min-height:44px;margin:0}
.invoice-product .im-flow-footer small{display:block;font-size:12px;margin-top:4px}
.invoice-product .im-flow-footer [data-total]{font-size:16px;font-weight:650;display:block;color:var(--im-text)}
.invoice-product .im-flow-footer>div:last-child:has(button){text-align:right}
.invoice-product .im-flow-footer>div:last-child>small{margin:0 0 6px}
.invoice-product .im-flow-billing{margin:0;padding:8px 22px}
.invoice-product .im-flow-billing>div{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--im-line)}
.invoice-product .im-flow-billing>div:last-child{border:0}
.invoice-product .im-flow-billing dt{color:var(--im-muted);font-size:14px}
.invoice-product .im-flow-billing dd{margin:0;overflow-wrap:anywhere}
.invoice-product button.im-text-action{border:0;background:transparent;text-decoration:underline;font-size:13px;padding:8px 0;min-height:34px;margin-top:10px}
.invoice-product .im-flow-review{padding:24px;display:flex;justify-content:space-between;gap:20px}
.invoice-product .im-flow-review>div{display:grid;gap:6px;min-width:0}
.invoice-product .im-flow-review>div:last-child{text-align:right;flex-shrink:0}
.invoice-product .im-flow-review small{font-size:14px;max-width:520px}
.invoice-product .im-flow-total{font-size:30px}
.invoice-product .im-flow-recipient{padding:0 24px 20px;margin:0;font-size:14px;overflow-wrap:anywhere}
body dialog.invoice-product .im-flow-confirm{display:flex;gap:10px;align-items:center;font-weight:400;font-size:14px;margin:20px 0}
.invoice-product .im-inline-note{border-left:3px solid #b49546;padding:8px 12px;background:var(--im-panel);font-size:13px}
.invoice-product .im-flow-empty{padding:12px 18px}
.invoice-product:has(.im-flow)>.im-message{font-size:13px;padding:8px 12px;margin-bottom:0;border-radius:8px}
.invoice-product .im-more>summary::after{content:' \25be'}
@media(max-width:700px){
 body dialog.invoice-product:has(.im-flow){width:100vw;max-height:100dvh;padding:20px 16px;border-radius:0}
 .invoice-product .im-flow-header{gap:12px;margin-bottom:22px}
 .invoice-product .im-flow-header h1{font-size:22px}
 .invoice-product .im-flow-steps{gap:10px;justify-content:space-between}
 .invoice-product .im-flow-steps li{display:grid;gap:6px;font-size:11px;flex:1}
 .invoice-product .im-flow-intro h2{font-size:21px}
 .invoice-product .im-flow-card .im-member{flex-wrap:nowrap;padding:14px 10px;gap:8px}
 .invoice-product .im-flow-person>span.im-member-price{flex:0 0 auto;font-size:13px}
 .invoice-product .im-flow-person>span{flex-basis:0;font-size:13px;overflow-wrap:anywhere}
 .invoice-product .im-flow-card-heading>span{padding-right:40px}
 .invoice-product .im-person-options>summary{padding:4px}
 .invoice-product .im-flow-billing{padding:8px 16px}
 .invoice-product .im-flow-billing>div{grid-template-columns:1fr;gap:4px}
 .invoice-product .im-flow-footer{gap:10px}
 .invoice-product .im-flow-footer [data-total]{font-size:14px}
 .invoice-product .im-flow-footer button{padding:10px 14px;white-space:nowrap}
 .invoice-product .im-flow-review{padding:18px;display:grid}
 .invoice-product .im-flow-review>div:last-child{text-align:left}
}

/* Issued and settled invoices keep one next task above optional detail. */
body dialog.invoice-product:has(.im-detail-hero){max-width:1020px;font-size:15px;padding:26px 32px}
.invoice-product .im-invoice-archive,.invoice-product .im-payment-options{margin-top:18px;border:1px solid var(--im-line);border-radius:10px;background:var(--im-panel)}
.invoice-product :is(.im-invoice-archive,.im-payment-options)>summary{padding:15px 18px;font-size:14px;font-weight:600;cursor:pointer}
.invoice-product .im-invoice-archive>:not(summary){margin-left:18px;margin-right:18px}
.invoice-product .im-payment-options>button{margin:8px 18px}
.invoice-product .im-payment-options>.im-payment-panel{border:0;border-top:1px solid var(--im-line);border-radius:0;margin:0;padding:18px}
.invoice-product .im-detail-meta{font-size:13px;gap:5px 14px;margin:10px 0 18px}
.invoice-product .im-detail-header h1{font-size:26px}
.invoice-product .im-detail-header button{font-size:13px;min-height:36px;padding:8px 12px}
.invoice-product .im-detail-hero{padding:20px 24px;gap:14px 24px}
.invoice-product .im-detail-hero h2{font-size:22px}
.invoice-product .im-detail-balance>strong{font-size:32px}
.invoice-product .im-detail-actions button{font-size:15px}
.invoice-product .im-flow-header h1:focus{outline:none}
body dialog.invoice-product:has(.im-flow){min-height:0;height:fit-content}
@media(max-width:700px){body dialog.invoice-product:has(.im-detail-hero){padding:20px 16px}.invoice-product .im-detail-header h1{font-size:22px}.invoice-product .im-detail-hero{padding:18px}.invoice-product .im-detail-balance{grid-row:auto}}

body dialog.invoice-product .im-agency-start{display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent;border:0;width:100%;padding:0;text-align:left}
.invoice-product .im-agency-start strong{display:block;font-size:20px;font-weight:650}
.invoice-product .im-agency-start small{display:block;margin-top:5px;font-size:13px}
.invoice-product .im-agency-start>span:last-child{font-size:14px;font-weight:650;color:var(--im-accent)}
.invoice-product .im-agency-contact{display:flex;justify-content:space-between;gap:20px;text-align:left;padding:20px}
.invoice-product .im-agency-contact small{display:block;font-size:13px}
.invoice-product .im-select-all{margin:8px 18px}
body dialog.invoice-product:has(.im-detail-hero){height:fit-content;min-height:0;max-height:calc(100dvh - 32px)}
@media(max-width:700px){.invoice-product .im-agency-start{flex-wrap:wrap;gap:10px}.invoice-product .im-agency-start strong{font-size:18px}.invoice-product .im-agency-contact{flex-direction:column;gap:8px}}

/* Billing contact and editing stay visible at the point of attendee selection. */
body dialog.invoice-product:has(.im-flow-selection){width:min(1100px,calc(100vw - 40px))}
.invoice-product .im-selection-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}
.invoice-product .im-bill-to{padding:20px;background:var(--im-panel);border:1px solid var(--im-line);border-radius:10px;overflow-wrap:anywhere}
.invoice-product .im-bill-to-label{margin:0 0 12px;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:700}
.invoice-product .im-bill-to>strong{font-size:15px;line-height:1.4;display:block}
.invoice-product .im-bill-to>p:not(.im-bill-to-label){font-size:14px;line-height:1.6;margin:14px 0;color:var(--im-text)}
.invoice-product .im-bill-to-email{display:block;font-size:13px}
.invoice-product .im-bill-to address{font-style:normal;font-size:12px;line-height:1.6;color:var(--im-muted)}
.invoice-product .im-bill-to button{font-size:13px;padding:8px 12px;min-height:36px;margin:18px 0 0;width:100%}
body dialog.invoice-product[data-theme] button.im-inline-edit{display:inline-block;border:0;border-radius:3px;background:transparent;color:var(--im-accent);min-height:32px;padding:4px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px;box-shadow:none}
.invoice-product .im-person-name>.im-inline-edit{margin-right:12px}
.invoice-product .im-member-price>.im-inline-edit{display:block;margin-left:auto}
.invoice-product .im-flow-card-heading>span{padding-right:0}
.invoice-product .im-selection-tools{display:flex;justify-content:flex-end;gap:24px;padding-top:8px}
.invoice-product .im-flow-selection .im-flow-optional{margin:8px 0}
.invoice-product .im-flow-selection .im-flow-footer{position:sticky;bottom:-1px;background:var(--im-bg);padding:16px 0 6px;z-index:3}
@media(max-width:700px){
 body dialog.invoice-product:has(.im-flow-selection){width:100vw}
 .invoice-product .im-selection-layout{grid-template-columns:1fr;gap:14px}
 .invoice-product .im-bill-to{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
 .invoice-product .im-bill-to-label{grid-column:1/-1;margin:0 0 4px}
 .invoice-product .im-bill-to>p:not(.im-bill-to-label){margin:4px 0;grid-column:1/-1}
 .invoice-product .im-bill-to address{grid-column:1}
 .invoice-product .im-bill-to button{grid-column:2;margin:0;width:auto;align-self:end;font-size:12px;padding:8px}
 .invoice-product .im-selection-tools{justify-content:space-between;gap:12px;flex-wrap:wrap}
 .invoice-product .im-flow-person>span.im-member-price{flex:0 0 85px}
}

/* The agency is the primary task; the count must be readable while scanning. */
body dialog.invoice-product[data-theme] .im-agency-group>header{padding:0;background:#203b5b;color:#fff;border:0;border-radius:10px 10px 0 0}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-start,
body dialog.invoice-product[data-theme] .im-agency-static{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:28px;align-items:center;width:100%;padding:20px 24px;margin:0;border:0;border-radius:10px 10px 0 0;background:#203b5b;color:#fff;text-align:left}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-start:hover{background:#2d5077;color:#fff;box-shadow:none}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-start:focus-visible{outline:3px solid #e5bd66;outline-offset:3px}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-name{font-size:21px;line-height:1.35;font-weight:650;color:#fff}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-name small{display:block;margin-top:5px;font-size:12px;font-weight:400;color:#d4e1ef}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-count{display:flex;align-items:center;gap:11px;padding:8px 14px;min-width:150px;border:1px solid #7d97b3;border-radius:7px;background:#f4f8fd;color:#203b5b}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-count strong{font-size:32px;line-height:1;font-weight:750;color:#203b5b}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-count small{font-size:12px;line-height:1.3;max-width:72px;color:#203b5b;margin:0}
body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-action{font-size:14px;font-weight:650;color:#fff}
body dialog.invoice-product[data-theme] .im-agency-static{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:700px){
 body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-start,body dialog.invoice-product[data-theme] .im-agency-static{grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:14px}
 body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-name{font-size:17px}
 body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-count{min-width:0;display:grid;gap:4px;padding:10px;text-align:center}
 body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-count strong{font-size:28px}
 body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-count small{font-size:10px;max-width:68px}
 body dialog.invoice-product[data-theme] .im-agency-group>header .im-agency-action{grid-column:1/-1;font-size:13px}
}

.invoice-product .im-header h1[tabindex="-1"]:focus{outline:none}

/* The contextual help header remains readable above all studio themes. */
body .lawaxis-help>header strong,
body dialog.invoice-manager[data-theme] .lawaxis-help>header strong{color:#fff}

/* Saved work stays visible before staff add more people to an agency invoice. */
body dialog.invoice-product[data-theme] .im-saved-draft-status{display:grid;gap:5px;padding:12px 16px;margin:14px 0 0;background:#edf4fb;border-left:4px solid #345d86;border-radius:5px;font-size:14px;color:#203b5b}
body dialog.invoice-product[data-theme] .im-member-draft-state,body dialog.invoice-product[data-theme] .im-member-new-state{display:table;margin:5px 0;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:650;background:#e5eef9;color:#24466b}
body dialog.invoice-product[data-theme] .im-member-new-state{background:#f4f5f7;color:#4b586c}

/* Explicit billing and payment choices; the row body has no billing action. */
.invoice-product div.im-person-row{cursor:default}
.invoice-product button.im-row-action{padding:10px 14px;border:1px solid var(--im-line);border-radius:7px;background:var(--im-panel);color:var(--im-accent);font:inherit;font-weight:650}
.invoice-product button.im-row-action:focus-visible{outline:3px solid var(--im-accent);outline-offset:3px}
.invoice-product section.im-payment-options>h2,.invoice-product section.im-payment-options>p{margin:16px 18px}
.invoice-product section.im-payment-options>.im-payment-email-review{padding:18px;border-top:1px solid var(--im-line)}
.invoice-product .im-payment-email-review p{margin:0 0 12px}
.im-payment-review{max-width:700px;padding:24px}
.im-payment-review-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:24px 0 8px}
.lawaxis-mail .im-card-link-review{padding:14px 18px;margin:0;background:#eaf2ff;color:#173354;border-bottom:1px solid #a9bfdc;font-weight:650}
