/* PatronNow workspace shell (MVP-4). Loaded after tabler, custom.css and cn-app.css by
   layouts/patronnow/head.php: cobalt overrides and the few PatronNow page rules. The shared
   shell partials and their CricketNow styles are unchanged; rules here are scoped to the
   organisation context or to PatronNow's own page classes. */
:root {
    --tblr-primary: #2856B6;
    --tblr-primary-rgb: 40, 86, 182;
    --tblr-link-color: #2856B6;
    --tblr-link-color-rgb: 40, 86, 182;
    --pn-cobalt: #2856B6;
    --pn-cobalt-hover: #204592;
}
/* UI-1 tokens (Louis, 17 October 2026). Fonts: Manrope body and Bricolage Grotesque headings on
   every PatronNow page, from the self-hosted cn-fonts.css. Set once here, on :root and on body,
   because custom.css (which the shared shell needs) sets a stale system font stack on :root and cn-app.css
   re-sets the primary colour on body; this sheet loads after both and wins. */
:root, body {
    --tblr-font-sans-serif: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --tblr-body-font-family: var(--tblr-font-sans-serif);
    --pn-font-heading: 'Bricolage Grotesque', system-ui, sans-serif;
    --tblr-primary: #2856B6;
    --tblr-primary-rgb: 40, 86, 182;
    --tblr-link-color: #2856B6;
    --tblr-link-color-rgb: 40, 86, 182;
    /* The badge palette, as Tabler light badges (partials/patronnow/badge.php holds the one map):
       blue published and accepted; green paid, delivered and verified; yellow outstanding, not
       yet delivered and new; grey draft, archived, retired, seen and cancelled; red overpaid and
       an invoice's cancellation. */
    --pn-badge-blue: var(--tblr-blue);
    --pn-badge-green: var(--tblr-green);
    --pn-badge-yellow: var(--tblr-yellow);
    --pn-badge-grey: var(--tblr-secondary);
    --pn-badge-red: var(--tblr-red);
    /* Forms and prose keep a readable measure; lists and detail pages use the container. */
    --pn-measure: 52rem;
}
body { font-family: var(--tblr-font-sans-serif); }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .page-title, .card-title, .empty-title { font-family: var(--pn-font-heading); }
a { color: var(--pn-cobalt); }
:focus-visible { outline: 3px solid var(--pn-cobalt); outline-offset: 3px; }

/* COLOUR-1: muted blue navigation, with a white brand row and top bar. */
.pn-workspace { background: #f5f6f8; color: #252c38; }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] {
    --pn-nav-bg: #355b88;
    --pn-nav-hover: #406693;
    --pn-nav-active: #496f9b;
    --pn-nav-text: #e5edf7;
    --tblr-navbar-bg: var(--pn-nav-bg);
    background: var(--pn-nav-bg); border-right: 1px solid #e4e7ec; box-shadow: none;
}
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .navbar-collapse { background: var(--pn-nav-bg); }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] :is(.cn-shell-brand, .cn-nav-drawer-head) { background: #fff; }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .cn-shell-brand { min-height: var(--cn-topbar-h, 4rem); }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .cn-brand-full { width: 9.5rem; height: auto; filter: none; }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .cn-brand-mark { width: 2rem; height: auto; filter: none; }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .navbar-nav .nav-link { color: var(--pn-nav-text); }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .navbar-nav .nav-link-icon { color: inherit; opacity: 1; }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .navbar-nav .nav-link:hover { color: #fff; background: var(--pn-nav-hover); }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .navbar-nav .nav-link.active { background: var(--pn-nav-active); color: #fff; box-shadow: inset 3px 0 #b9d5fa; font-weight: 600; }
/* The linked parent has a separate submenu disclosure; text-primary is a Tabler utility. */
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .navbar-nav .nav-link.text-primary { color: #fff !important; }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .cn-nav-section .subheader { color: var(--pn-nav-text); }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .cn-nav-section-rule { border-color: #ffffff33; }
.cn-shell-sidebar[data-shell-sidebar="organisation"] [data-shell-nav-toggle] { color: var(--pn-nav-text); --tblr-btn-hover-bg: var(--pn-nav-hover); --tblr-btn-active-bg: var(--pn-nav-active); --tblr-btn-hover-color: #fff; --tblr-btn-active-color: #fff; }
.cn-shell-sidebar[data-shell-sidebar="organisation"] #club-nav-toggle { color: #687386; --tblr-btn-hover-bg: #eaf0fc; }
.cn-shell-sidebar[data-shell-sidebar="organisation"] :focus-visible { outline: 3px solid #c5ddff; outline-offset: -3px; }
.cn-shell-sidebar[data-shell-sidebar="organisation"] :is(.cn-shell-brand, .cn-nav-drawer-head) :focus-visible { outline-color: var(--pn-cobalt); }
/* Quiet Tabler dropdown, present only when both workspace views are enabled. */
.cn-shell-sidebar[data-shell-sidebar="organisation"] .cn-shell-action { position: relative; z-index: 1050; }
.cn-shell-sidebar[data-shell-sidebar="organisation"] .pn-workspace-switch .btn {
    --tblr-btn-color: var(--pn-nav-text); --tblr-btn-bg: #ffffff0d; --tblr-btn-border-color: #ffffff26;
    --tblr-btn-hover-color: #fff; --tblr-btn-hover-bg: var(--pn-nav-hover); --tblr-btn-hover-border-color: #ffffff66;
    --tblr-btn-active-color: #fff; --tblr-btn-active-bg: var(--pn-nav-active); --tblr-btn-active-border-color: #ffffff66;
    justify-content: flex-start; min-height: 2rem; box-shadow: none;
}
.cn-shell-sidebar[data-shell-sidebar="organisation"] .pn-workspace-switch .dropdown-toggle::after { margin-left: auto; }
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .pn-workspace-switch .dropdown-menu {
    position: absolute; inset: 100% 0 auto; margin-top: .25rem; padding: .25rem;
    background: var(--tblr-bg-surface, #fff); border: 1px solid var(--tblr-border-color, #e4e7ec);
    border-radius: var(--tblr-border-radius, .375rem); box-shadow: 0 .25rem 1rem #18243326;
}
.navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .pn-workspace-switch .dropdown-item { padding: .5rem .75rem; color: var(--tblr-body-color, #182433); border-radius: .25rem; }
.cn-shell-sidebar[data-shell-sidebar="organisation"] .pn-workspace-switch .dropdown-item.active { color: var(--pn-cobalt); background: #eaf0fc; }
@media (max-width: 991.98px) {
    .navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .navbar-collapse { padding-top: 0; }
    .navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .cn-nav-drawer-head { width: calc(100% + 1rem); margin: 0 -.5rem .75rem; padding: 1rem .75rem; min-height: 4rem; }
}
[data-shell-topbar="organisation"] { background: #fff; border-color: #e4e7ec; }
[data-shell-topbar="organisation"] .cn-topbar-tile { background: #eaf0fc; color: var(--pn-cobalt); }
[data-shell-topbar="organisation"] .cn-topbar-search .form-control { min-height: 2.5rem; background: #f8f9fb; }
/* UI-7 topbar: the bar is as tall as the sidebar's brand row, its tile starts on the page
   gutter, and Tabler's scrollbar shift (html margin-left: 100vw - 100%) is replaced by a
   stable gutter, because the fixed sidebar ignores that margin and left a strip beside it. */
.pn-workspace { --cn-topbar-h: 4rem; }
@media (min-width: 992px) {
    :root:has(> body.pn-workspace) { margin-left: 0; scrollbar-gutter: stable; }
    [data-shell-topbar="organisation"] > .cn-topbar-row { padding-inline: 2rem; }
}
/* Long organisation names wrap in the drawer; the expanded and rail sidebars keep the
   shell's ellipsis, with the full name in each row's title attribute. */
@media (max-width: 991.98px) {
    .navbar-vertical.cn-shell-sidebar[data-shell-sidebar="organisation"] .navbar-nav .nav-link-title { white-space: normal; overflow-wrap: anywhere; }
}
.cn-topbar .cn-topbar-name { overflow-wrap: anywhere; }

/* UI-1 page chrome (layouts/patronnow/app.php, partials/patronnow/page-header.php). */
.pn-workspace .pn-page-header { margin-top: 0; margin-bottom: 0; padding-top: 1.25rem; padding-bottom: 0; }
.pn-page-header .breadcrumb { margin-bottom: .5rem; font-size: .875rem; text-transform: none; letter-spacing: normal; font-family: var(--tblr-font-sans-serif); }
.pn-page-header .breadcrumb-item.active { color: var(--tblr-secondary); }
.pn-page-header .page-pretitle { text-transform: none; letter-spacing: normal; font-family: var(--tblr-font-sans-serif); font-size: .8125rem; overflow-wrap: anywhere; }
.pn-page-header .page-title { overflow-wrap: anywhere; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.pn-page-header .page-title .badge { font-family: var(--tblr-font-sans-serif); font-size: .75rem; }
.pn-page-actions .btn-list { justify-content: flex-start; }
@media (min-width: 768px) { .pn-page-actions .btn-list { justify-content: flex-end; } }
/* Shared peer-view navigation: compact Tabler pills, consistent across lists. */
.pn-tabs { flex-wrap: nowrap; gap: .25rem; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; border: 0; }
.pn-tabs .nav-link { white-space: nowrap; font-weight: 500; color: var(--tblr-secondary); border: 0; border-radius: var(--tblr-border-radius, .375rem); padding: .5rem .75rem; }
.pn-tabs .nav-link:hover { color: var(--tblr-body-color); background: #f0f3f8; }
.pn-tabs .nav-link.active { color: var(--pn-cobalt); background: #eaf0f9; }
.pn-section-tabs { margin-bottom: -1px; }
.pn-tabs .nav-link:focus-visible { outline-offset: -3px; }
/* Flashes and the page's one notice. */
.alert[data-pn-flash] { position: relative; padding-right: 3rem; }
.alert[data-pn-flash] .btn-close { position: absolute; top: .875rem; right: .875rem; }
.alert .alert-icon { flex: 0 0 auto; font-size: 1.25rem; line-height: 1.25; }
.pn-notice { overflow-wrap: anywhere; font-size: .8125rem; line-height: 1.6; }
.pn-workspace .page-body { margin-top: 1rem; }
.pn-workspace .card { background: #fff; border-color: #e4e7ec; box-shadow: 0 1px 2px #18243a04; }
/* Quiet table surfaces across workspace lists; colour supports the labelled values. */
.pn-workspace .pn-page .table {
    --tblr-table-border-color: #e8edf4;
    --tblr-table-hover-bg: #f8faff;
}
.pn-workspace .pn-page .table thead th {
    background: #f7faff;
    color: #476080;
    border-bottom-color: #e1e9f4;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 600;
}
.pn-workspace .pn-page :is(.pn-funding-target, .pn-funding-agreed) { color: var(--pn-cobalt); }
.pn-workspace .pn-page .pn-funding-paid { color: #16714b; }
.pn-workspace .pn-page .pn-funding-unknown { color: #8a570e; }
.pn-funding-metric { height: 100%; padding: 1rem; border: 1px solid #e5ebf4; border-radius: .75rem; background: #fafcff; }
.pn-funding-metric .subheader { text-transform: none; letter-spacing: normal; }
.pn-funding-metric-paid { border-color: #dcece3; background: #f7fcf9; }
.pn-funding-progress { height: .375rem; background: #eaf0fb; }
.pn-plan-progress { width: 7rem; max-width: 100%; margin-left: auto; }
@media (max-width: 767.98px) { .pn-plan-progress { margin-left: 0; } }

/* Badges, empty states and stat tiles (partials/patronnow). */
.badge[data-pn-badge] { font-weight: 600; white-space: normal; text-align: left; }
.pn-empty { padding: 2rem 1rem; }
.pn-empty .empty-img img { width: 3.5rem; height: 3.5rem; }
/* EMPTY-1 trial: a white card with the page's own icon, muted, instead of the N mark. */
.pn-empty-card .pn-empty { padding: 3rem 1.5rem; }
.pn-empty-card .empty-title { margin-bottom: .25rem; }
.pn-empty-card .empty-subtitle { max-width: 28rem; margin-left: auto; margin-right: auto; }
.pn-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; margin-bottom: 1rem; border-radius: 50%; background: var(--tblr-bg-surface-secondary, #f4f6fa); color: var(--tblr-secondary, #6c7a91); }
.pn-empty-icon .ti { font-size: 1.75rem; }
.pn-empty-compact { padding: .75rem 0; align-items: flex-start; text-align: left; }
.pn-empty-compact .empty-img { display: none; }
.pn-empty-compact .empty-title { font-size: 1rem; font-family: var(--tblr-font-sans-serif); font-weight: 500; color: var(--tblr-secondary); margin: 0; }
.pn-stat-tile .pn-stat-number { text-decoration: none; }
.pn-stat-zero .pn-stat-number { color: var(--tblr-secondary); }
.pn-datagrid { margin: 1rem 0 1.5rem; }
.pn-datagrid .datagrid-content { overflow-wrap: anywhere; }
/* Focus is always visible on the chrome's controls. */
.pn-page-header :is(a, button):focus-visible, .pn-page :is(a, button, input, select, textarea, summary):focus-visible, .alert .btn-close:focus-visible { outline: 3px solid var(--pn-cobalt); outline-offset: 2px; }

/* PatronNow pages inside the shell. */
.pn-page { overflow-wrap: anywhere; }
.pn-prose, .pn-page form, .pn-page > p { max-width: var(--pn-measure); }
.pn-page .organisation-list { list-style: none; padding: 0; }
.pn-page .organisation-list li { border-top: 1px solid var(--tblr-border-color); padding: 1rem 0; }
.pn-page .organisation-list a { font-weight: 600; }
.pn-page .organisation-title { overflow-wrap: anywhere; }
.pn-page .sponsor-text, .pn-page .offer-text, .pn-page .benefit-text { white-space: pre-wrap; }
.pn-page .sponsor-fields, .pn-page .offer-fields, .pn-page .benefit-fields,
.pn-page .sponsor-fields :is(input, textarea), .pn-page .offer-fields :is(input, textarea, select), .pn-page .benefit-fields :is(input, textarea) { min-width: 0; overflow-wrap: anywhere; }
.pn-page .sponsor-fields textarea { min-height: 7rem; }
.pn-page .offer-fields textarea, .pn-page .benefit-fields textarea { min-height: 8rem; }
.pn-page .organisation-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }


/* MVP-6 public storefront (layouts/patronnow/public.php): the brand, the page, the footer. */
body.pn-public { background: #f8fafc; color: #1e293b; margin: 0; }
.pn-public-column { max-width: 48rem; margin: 0 auto; padding-left: 1rem; padding-right: 1rem; overflow-wrap: anywhere; }
.pn-public-header { background: #fff; border-bottom: 1px solid var(--tblr-border-color); padding: .75rem 0; }
.pn-public-header img { width: 9.5rem; height: auto; display: block; }
.pn-public-main { padding-top: 2rem; padding-bottom: 2rem; }
.pn-public-main:focus { outline: none; }
.pn-public-footer { padding-top: 1rem; padding-bottom: 2rem; border-top: 1px solid var(--tblr-border-color); }
.pn-plain-text { white-space: pre-wrap; }
.pn-public-list { list-style: none; padding: 0; margin: 0; }
.pn-public-list li { border-top: 1px solid var(--tblr-border-color); padding: 1rem 0; }
.pn-enquiry-fields :is(input, textarea) { min-width: 0; max-width: 100%; }
.pn-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pn-public :is(input, textarea, button, a):focus-visible { outline: 3px solid var(--pn-cobalt); outline-offset: 2px; }
.pn-public-list h3 a { color: var(--pn-cobalt); text-decoration: underline; text-underline-offset: .2em; }

/* MVP-7 public invoice figures. */
.pn-invoice-figures { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1.5rem; margin: 1.5rem 0; }
.pn-invoice-figures dt { font-weight: 600; }
.pn-invoice-figures dd { margin: 0; }

/* MVP-8 home overview, delivery evidence and the public report. */
.pn-page .pn-home-actions { max-width: 24rem; }
.pn-page .pn-delivery { border-left: 3px solid var(--tblr-border-color); padding-left: .75rem; margin-top: .5rem; }
.pn-page .pn-delivery[data-delivery-state="delivered"] { border-left-color: var(--pn-cobalt); }
.pn-report-lines { list-style: none; padding: 0; margin: 0; }
.pn-report-lines li { border-top: 1px solid var(--tblr-border-color); padding: 1rem 0; }

/* UI-1 print base: a page prints as its title and content, without the shell or controls. */
@media print {
    .cn-shell-sidebar, .navbar-vertical, [data-shell-topbar], .cn-topbar, .cn-skip-link, .pn-tabs-nav, .pn-page-actions, .alert .btn-close, .footer { display: none !important; }
    .page-wrapper { margin: 0 !important; padding: 0 !important; }
    .pn-page-header .breadcrumb { display: none; }
    .pn-page form, .pn-page details { display: none !important; }
    a { color: inherit; text-decoration: none; }
}

/* Overview and records: white cards, shared data at md, labelled mobile rows. */
.pn-min-width-zero, .pn-workspace .row > *, .pn-page-header .col { min-width: 0; }
.pn-org-initials { background: #eaf0fc; color: var(--pn-cobalt); flex-shrink: 0; }
.pn-records { overflow: hidden; }
.pn-record-table { width: 100%; table-layout: fixed; margin-bottom: 0; }
.pn-record-table th { white-space: normal; font-size: .6875rem; letter-spacing: .025em; color: #687386; }
.pn-record-table td { vertical-align: middle; padding-block: 1rem; overflow-wrap: anywhere; }
.pn-record-table th:first-child { width: 22%; }
.pn-record-table th:last-child { width: 5.25rem; }
.pn-record-table td, .pn-record-table th { padding-inline: .75rem; }
.pn-record-table th:first-child, .pn-record-table td:first-child { padding-left: 1.25rem; }
.pn-record-action { text-align: right; }
.pn-money { font-variant-numeric: tabular-nums; }
.pn-record-field { display: grid; grid-template-columns: minmax(5.5rem, 36%) minmax(0, 1fr); gap: .75rem; padding-block: .25rem; font-size: .8125rem; }
.pn-record-stack { padding: 1rem; }
.pn-workspace .list-group { margin-bottom: 0; }
.pn-stat-tile .subheader { letter-spacing: .02em; font-size: .6875rem; }
.pn-stat-zero .avatar { background: #f1f3f6 !important; color: #7c8797 !important; }
.pn-workspace .pn-stat-tile { height: 100%; }
.pn-search-form .form-control { min-width: 0; }
@media (min-width: 768px) {
    .pn-search-page [data-shell-topbar="organisation"] .cn-topbar-search { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .pn-record-table { font-size: .75rem; }
    .pn-record-table th:first-child { width: 19%; }
    .pn-record-table th:last-child { width: 4.5rem; }
    .pn-record-table td, .pn-record-table th { padding-inline: .5rem; }
}

/* Give dense financial columns deliberate proportions; keep whole status words readable. */
.pn-records .pn-record-table th { overflow-wrap: normal; white-space: normal; }
.pn-record-table .badge { overflow-wrap: normal; word-break: normal; line-height: 1.4; }
/* Invoice identity and sponsorship have separate columns. */
.pn-money-table { font-size: .8125rem; }
.pn-money-table th:first-child { width: 9%; }
.pn-money-table th:nth-child(2), .pn-money-table th:nth-child(3) { width: 14%; }
.pn-money-table th:nth-child(4), .pn-money-table th:nth-child(5), .pn-money-table th:nth-child(6) { width: 10%; }
.pn-money-table th:nth-child(7) { width: 11%; }
.pn-money-table th:nth-child(8) { width: 14%; }
.pn-money-table th:last-child { width: 8%; }
.pn-money-table .badge { white-space: normal; text-align: left; }
.pn-money-table .pn-record-action .btn { padding-inline: .4rem; }
.pn-agreements-table th:first-child { width: 20%; }
.pn-agreements-table th:nth-child(2) { width: 14%; }
.pn-agreements-table th:nth-child(3) { width: 13%; }
.pn-agreements-table th:nth-child(4), .pn-agreements-table th:nth-child(5) { width: 17%; }
.pn-agreements-table th:nth-child(6) { width: 11%; }
.pn-agreements-table th:last-child { width: 8%; }
.pn-agreements-table .pn-record-action .btn { padding-inline: .5rem; }
.cn-shell-sidebar[data-shell-sidebar="organisation"] .cn-shell-action .btn:focus-visible { outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }

/* UI-3 private details and forms. These classes do not affect the shell or record lists. */
.pn-editor { max-width: var(--pn-measure); }
.pn-detail-stack > * + * { margin-top: 1.25rem; }
.pn-detail .card-header, .pn-form-card .card-header { min-height: 0; padding: 1rem 1.25rem; }
.pn-detail .card-body, .pn-form-card .card-body { padding: 1.25rem; }
.pn-detail .card-footer, .pn-form-card .card-footer { padding: 1rem 1.25rem; background: #fafbfd; }
.pn-detail form, .pn-form-card > form { max-width: none; }
.pn-detail .pn-datagrid { margin: 0; }
.pn-detail .datagrid { gap: 1.25rem; }
.pn-detail .datagrid-title { color: #687386; }
.pn-detail .datagrid-content { min-width: 0; }
.pn-detail .btn, .pn-form-card .btn { white-space: normal; }
.pn-page-actions .btn { white-space: normal; }
.pn-fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.pn-fieldset + .pn-fieldset { margin-top: 1.25rem; }
.pn-fieldset + .pn-fieldset > .pn-fieldset-title { width: 100%; border-top: 1px solid var(--tblr-border-color); padding-top: 1.25rem; }
.pn-fieldset-title { float: none; width: auto; margin: 0 0 1rem; font-size: 1rem; font-weight: 600; font-family: var(--pn-font-heading); }
.pn-fieldset .form-hint, .pn-form-card .form-text { line-height: 1.6; }
.pn-fieldset > .row > :last-child { margin-bottom: 0 !important; }
.pn-fieldset:last-child { margin-bottom: 0; }
.pn-message { padding: 0 0 0 1rem; border-left: 3px solid #dce6fa; font-size: 1rem; line-height: 1.8; }
.pn-detail .pn-benefit-lines { margin: -1.25rem; }
.pn-benefit-lines > .list-group-item { padding: 1.25rem; background: transparent; }
.pn-detail .pn-delivery { margin-top: 1rem; padding-left: 1rem; }
.pn-inline-editor > summary { color: var(--pn-cobalt); font-weight: 600; cursor: pointer; padding-block: .5rem; }
.pn-inline-editor[open] > summary { margin-bottom: .5rem; }
.pn-inline-editor form { padding: 1rem; background: #f8f9fb; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); }
/* The Users card keeps Tabler's card table: a quiet header, room between the avatar and the name,
   and on a phone a single row (person, then the date or status) rather than stacked column labels. */
/* Organisation settings (UI-7): Tabler's settings layout, one card with the section menu on the
   left and the section on the right; under 992px the menu is one row of tabs above the section. */
.pn-org-settings .nav-vertical.nav-pills { margin: 0; }
.pn-org-settings .nav-pills .nav-link { display: flex; align-items: center; gap: .5rem; }
.pn-org-settings .nav-link .icon { margin-right: 0; }
.pn-org-settings .nav-link .badge { font-weight: 600; }
.pn-org-settings .nav-link.active { background: #eaf0fc; color: var(--pn-cobalt); font-weight: 600; }
.pn-org-settings .card-header { align-items: flex-start; gap: .5rem 1rem; }
.pn-org-settings .card-header .card-subtitle { margin-top: .25rem; }
.pn-org-settings .card-footer { background: transparent; }
.pn-org-settings .pn-settings-close { border-top: 1px solid var(--tblr-border-color); margin-top: .75rem; padding-top: .75rem; }
.pn-org-settings-menu { border-bottom: 1px solid var(--tblr-border-color); }
@media (min-width: 992px) {
    .pn-org-settings-menu { border-bottom: 0; border-right: 1px solid var(--tblr-border-color); width: 15rem; }
    .pn-org-settings-body { min-width: 0; }
}
@media (max-width: 991.98px) {
    .pn-org-settings-menu > .card-body { padding: .5rem; }
    .pn-org-settings .pn-settings-close { flex-basis: 100%; margin-top: .25rem; padding-top: .25rem; }
    /* FIX-8 (K6): the tabs wrap rather than scroll, so every label, the active one included, stays visible. */
    .pn-org-settings .nav-vertical.nav-pills { flex-direction: row; flex-wrap: wrap; gap: .125rem; }
    .pn-org-settings .nav-vertical.nav-pills .nav-link { white-space: nowrap; padding: .5rem .625rem; }
    /* The menu is a row of tabs: the "Not verified" badge becomes a yellow dot, its words kept for screen readers. */
    .pn-org-settings .pn-nav-flag { position: relative; display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--tblr-yellow); align-self: flex-start; }
    .pn-org-settings .pn-nav-flag .badge { position: absolute; width: 1px; height: 1px; min-width: 0; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (max-width: 575.98px) {
    .pn-org-settings .nav-vertical.nav-pills .nav-link { padding: .5rem; font-size: .875rem; gap: .375rem; }
}
/* The account menu signs out with a button, so it inherits the menu's type rather than a native button face. */
#shell-topbar-account > form { margin: 0; }
#shell-topbar-account > form > .dropdown-item { font: inherit; color: inherit; text-align: left; cursor: pointer; }
/* Team uses Tabler's responsive-with-actions table; compact-screen stacking comes from table-mobile-xl. */
.pn-users-card .table > tbody > tr > td { padding-top: .625rem; padding-bottom: .625rem; }
.pn-users-card .card-footer { background: var(--tblr-card-bg); border-top: 1px solid var(--tblr-border-color); }
.pn-users-table .avatar { flex-shrink: 0; }
.pn-users-table td[data-label="User"] { min-width: 0; overflow-wrap: anywhere; }
.pn-users-table td[data-label="Status"] .badge { white-space: normal; text-align: left; }
#invite-user .modal-footer { background: var(--tblr-card-bg); border-top: 1px solid var(--tblr-border-color); }
@media (max-width: 1199.98px) {
    .pn-users-table tr { padding: .5rem; }
    .pn-users-table tr:last-child { border-bottom: 0; }
    .pn-users-table td { width: auto !important; text-align: left !important; padding-top: .375rem !important; padding-bottom: .375rem !important; }
    .pn-users-table td:empty, .pn-users-table td[aria-label="Not applicable"] { display: none; }
    .pn-users-table td[data-label="User"]:before, .pn-users-table td[data-label="Actions"]:before { display: none; }
    .pn-users-table td[data-label="Actions"] .dropdown-toggle { width: 100%; }
}
.pn-inline-footer { border-top: 1px solid var(--tblr-border-color); padding-top: 1rem; margin-top: 1rem; }
.pn-detail .pn-caution { border-color: #e5c8c8; }
.pn-detail .pn-caution .card-header { background: #fdf9f9; }
.pn-figure { font-family: var(--pn-font-heading); font-size: 1.5rem; font-weight: 600; }
.pn-receipt-table { width: 100%; table-layout: fixed; margin-bottom: 0; }
.pn-receipt-table th { white-space: normal; color: #687386; }
.pn-receipt-table td { overflow-wrap: anywhere; padding: 1rem 1.25rem; }
.pn-receipt-table .pn-receipt-detail { padding-top: 0; border-top: 0; }
.pn-receipt-table tbody + tbody { border-top: 1px solid var(--tblr-border-color); }
.pn-receipt-table .pn-money { font-weight: 600; }
#organisation-details { scroll-margin-top: 1.25rem; }
@media (max-width: 767.98px) {
    .pn-receipt-table, .pn-receipt-table tbody, .pn-receipt-table tr, .pn-receipt-table td { display: block; width: 100%; }
    .pn-receipt-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .pn-receipt-table tbody { padding: 1rem; }
    .pn-receipt-table td { border: 0; padding: .25rem 0; }
    .pn-receipt-table td[data-label] { display: grid; grid-template-columns: minmax(5rem, 34%) minmax(0, 1fr); gap: .75rem; }
    .pn-receipt-table td[data-label]::before { content: attr(data-label); color: #687386; font-weight: 400; font-size: .8125rem; }
    .pn-receipt-table .pn-receipt-detail { padding-top: .75rem; }
    .pn-detail .card-body, .pn-form-card .card-body { padding: 1rem; }
    .pn-detail .card-header, .pn-detail .card-footer, .pn-form-card .card-header, .pn-form-card .card-footer { padding: 1rem; }
    .pn-detail .pn-benefit-lines { margin: -1rem; }
    .pn-benefit-lines > .list-group-item { padding: 1rem; }
}
.pn-detail [data-agreement-details] > .datagrid-item:nth-child(4),
.pn-detail [data-agreement-details] > .datagrid-item:nth-child(5) { grid-column: 1 / -1; }

.pn-detail [data-invoice-totals] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pn-detail [data-invoice-balance] { font-weight: 600; }
@media (max-width: 767.98px) { .pn-detail [data-invoice-totals] { grid-template-columns: 1fr; } }

/* UI-5: the live account-security cards and reflow of the manual setup key. */
.pn-settings .pn-setup-secret { white-space: normal; overflow-wrap: anywhere; }
.pn-settings .alert > .d-flex > :last-child { min-width: 0; }
.pn-settings .pn-backup-codes { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .5rem; padding: 0; margin: 0; list-style: none; }
.pn-settings .pn-backup-codes li { padding: .625rem .75rem; background: #f8f9fb; border: 1px solid #e4e7ec; border-radius: .375rem; overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
    .pn-settings .card-footer .btn { width: 100%; margin-left: 0 !important; }
}
/* Measured Tabler light-badge foregrounds fell below 4.5:1. Keep their existing
   backgrounds, palette and state words; darken only text on PatronNow screens.
   Screen-only rules leave the accepted black-and-white document print rules intact. */
@media screen {
    .pn-workspace .badge.bg-blue-lt, .pn-public .badge.bg-blue-lt,
    .pn-workspace .cn-nav-tag.bg-azure-lt { color: #204592 !important; }
    .pn-workspace .badge.bg-green-lt, .pn-public .badge.bg-green-lt { color: #176b30 !important; }
    .pn-workspace .badge.bg-yellow-lt, .pn-public .badge.bg-yellow-lt { color: #805300 !important; }
    .pn-workspace .badge.bg-red-lt, .pn-public .badge.bg-red-lt { color: #a52222 !important; }
}

/* WORKSPACE-1: organisation-only light Workspace, using the existing shell and drawer. */
.pn-organisation-workspace { background: #f5f6f9; color: #202a3c; }
.pn-organisation-workspace .cn-shell-sidebar .nav-link.active { border-radius: .4rem; }
.pn-organisation-workspace .pn-page-title { font-size: 1.75rem; letter-spacing: -.04rem; }
.pn-setup-prompt { padding: 1rem; border-radius: .6rem; background: #edf2fc; border: 1px solid #e0e8f9; }
.pn-setup-prompt summary { cursor: pointer; color: #2856b6; }
.pn-overview-stat { color: inherit; text-decoration: none; height: 100%; }
.pn-overview-stat:hover { border-color: #2856b6; color: inherit; }
.pn-overview-number { display: block; margin: .6rem 0 .25rem; font-size: clamp(1.4rem, 2.2vw, 2rem); letter-spacing: -.04rem; overflow-wrap: anywhere; }
.pn-overview-row { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; color: inherit; }
.pn-row-content { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.pn-proposed-day { flex: 0 0 3rem; border: 1px solid #e7eaf0; background: #f5f6f9; border-radius: .5rem; text-align: center; font-size: .7rem; text-transform: uppercase; padding: .3rem; }
.pn-proposed-day strong { display: block; font-size: 1.35rem; line-height: 1.2; }
.pn-invoice-preview { flex-wrap: wrap; }
.pn-invoice-preview .pn-row-content { flex-basis: 30%; }
.pn-publication-status { padding: .5rem 0; }
.pn-help-copy { max-width: 54rem; }
.pn-help-steps li { margin-bottom: 1rem; }
/* Team shares the existing Settings panel and mobile navigation. */
.pn-org-settings-body { min-width: 0; }
.pn-org-settings [data-team-header] > div { min-width: 0; }
.pn-org-settings [data-team-actions] { flex-shrink: 0; max-width: 100%; }
/* Without modal enhancement, the invite anchor exposes the real form in normal flow. */
#invite-user:not(.pn-modal-enhanced):is(:target, [data-pn-open-modal]) { display: block; position: static; opacity: 1; overflow: visible; }
#invite-user:not(.pn-modal-enhanced) .modal-dialog { transform: none; margin: 1rem auto; }
#invite-user:not(.pn-modal-enhanced) [data-bs-dismiss] { display: none; }
#invite-user.pn-modal-enhanced .pn-invite-fallback { display: none; }
@media (max-width: 767.98px) {
    .pn-overview-row { padding: 1rem; gap: .75rem; }
    .pn-invoice-preview .pn-row-content { flex-basis: 100%; }
    .pn-overview-number { font-size: 1.75rem; }
}
.pn-organisation-workspace .text-warning { color: #93600c !important; }

/* BRAND-1: the same small, uncropped logo in settings and both public pages. */
.pn-organisation-logo { display: inline-flex; width: 72px; height: 72px; flex: 0 0 72px; align-items: center; justify-content: center; border: 1px solid var(--tblr-border-color, #dce1e7); border-radius: .5rem; background: #f4f6fa; color: #596579; font-weight: 600; margin-bottom: .5rem; }
.pn-organisation-logo img { width: 72px; height: 72px; object-fit: contain; border-radius: .5rem; }
.pn-organisation-logo [hidden] { display: none !important; }
.pn-logo-heading, .pn-benefit-preview, .pn-offer-grid .card-title { overflow-wrap: anywhere; min-width: 0; }
.pn-benefit-preview { padding-left: 1.25rem; }
.pn-org-settings input[type=file] { min-width: 0; max-width: 100%; }

/* WORKSPACE-2: one compact identity in the header, independent of sidebar state. */
.pn-organisation-workspace .cn-shell-sidebar .navbar-nav { margin-top: .5rem; }
.pn-organisation-switcher { flex: 0 1 22rem; min-width: 0; max-width: 22rem; }
.pn-switcher-button { width: 100%; min-height: 44px; padding: .25rem; border: 0; border-radius: .5rem; background: transparent; font: inherit; text-align: left; gap: .5rem; }
.pn-switcher-button:hover { background: #f4f6fa; }
.pn-switcher-button:focus-visible { outline: 2px solid #2856b6; outline-offset: 2px; }
.pn-switcher-button .cn-topbar-name { font-size: .9375rem; font-weight: 500; }
.pn-switcher-button > .ti { flex: none; color: #657186; margin-left: auto; }
.pn-organisation-logo.pn-organisation-logo-compact { width: 32px; height: 32px; flex-basis: 32px; margin: 0; border: 0; font-size: .8125rem; }
.pn-organisation-logo-compact img { width: 32px; height: 32px; }
.cn-topbar .pn-organisation-menu { left: 0; right: auto; width: 22rem; min-width: 0; max-width: calc(100vw - 5rem); max-height: min(70vh, 30rem); overflow-y: auto; }
.pn-organisation-menu .dropdown-item { white-space: normal; overflow-wrap: anywhere; min-height: 44px; }
.pn-organisation-menu [aria-current] { font-weight: 600; background: #edf2fc; }
.pn-organisation-workspace .cn-topbar-search { min-width: 10rem; }
@media (max-width: 767.98px) {
    .pn-organisation-workspace .cn-topbar-row { gap: .375rem; }
    .pn-organisation-switcher { flex: 1 1 auto; }
    .pn-switcher-button .cn-topbar-name { font-size: .875rem; }
}

/* ASSET-1 uses the accepted light workspace, Inter and existing card/form controls. */
.pn-assets .pn-asset-form { max-width: none; }
.pn-assets .pn-asset-fields { display: grid; grid-template-columns: minmax(8rem, 25%) minmax(0, 1fr); gap: .75rem 1.25rem; margin: 0; }
.pn-assets .pn-asset-fields dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.pn-assets .pn-asset-options { border-top: 1px solid var(--tblr-border-color); padding-top: .75rem; }
.pn-assets .pn-asset-options > summary { min-height: 44px; display: list-item; padding-block: .5rem; cursor: pointer; font-weight: 500; }
.pn-assets .pn-asset-list .badge { flex-shrink: 0; }
.pn-assets .page-wrapper :is(.btn, .form-control, .form-select) { min-height: 44px; }
.pn-assets :is(.card-header, .list-group-item) { overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
    .pn-assets .pn-asset-fields { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
    .pn-assets .pn-asset-fields dd { margin-bottom: .75rem; }
    .pn-assets .pn-asset-list > li { flex-wrap: wrap; }
    .pn-assets .pn-asset-list > li > .flex-fill { flex-basis: calc(100% - 4rem); }
}
/* Long asset names also appear in the breadcrumb, whose inherited flex item must shrink. */
.pn-assets .breadcrumb-item { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }

/* ASSET-2: fixed frames contain portrait/landscape images; initials survive missing files/no JS. */
.pn-assets .pn-asset-picture { display: inline-flex; position: relative; width: 64px; height: 64px; flex: 0 0 64px; align-items: center; justify-content: center; background: #f1f5f9; border: 1px solid var(--tblr-border-color); border-radius: .5rem; overflow: hidden; vertical-align: top; }
.pn-assets .pn-asset-picture-large { width: min(320px, 100%); height: 240px; margin-bottom: 1rem; }
.pn-assets .pn-asset-picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; }
.pn-assets .pn-asset-picture.is-loaded img { opacity: 1; }
.pn-assets .pn-asset-picture.is-loaded .pn-asset-picture-fallback { visibility: hidden; }
/* ASSET-POLISH-1: compact real radio choices and bounded private imagery. */
.pn-assets .pn-asset-types { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; }
.pn-assets .pn-asset-type { display:flex; align-items:center; gap:.5rem; padding:.75rem; border:1px solid var(--tblr-border-color); border-radius:.5rem; cursor:pointer; min-height:48px; }
.pn-assets .pn-asset-type:has(:checked) { border-color:var(--tblr-primary); background:var(--tblr-primary-lt,#e9effc); }
.pn-assets .pn-asset-type:focus-within { outline:2px solid var(--tblr-primary); outline-offset:2px; }
.pn-assets .pn-asset-type input { flex-shrink:0; accent-color:var(--tblr-primary); }
.pn-assets .pn-asset-picture-large { display:flex; width:100%; height:auto; min-height:64px; max-height:420px; margin-bottom:1rem; }
.pn-assets .pn-asset-picture-large img { position:relative; inset:auto; max-height:420px; height:auto; width:100%; object-fit:contain; }
.pn-assets .pn-asset-picture-large .pn-asset-picture-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.pn-assets .pn-asset-upload-preview { max-width:100%; max-height:200px; margin-block:.75rem; }
.pn-assets .pn-asset-image-invite { display:block; border:1px dashed var(--tblr-border-color); border-radius:.5rem; padding:.75rem; text-decoration:none; }
.pn-assets .pn-asset-type > .ti { flex-shrink:0; font-size:1.1rem; }
@media(max-width:991.98px) { .pn-assets .pn-asset-types { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.pn-assets .pn-asset-picture-large:not(.is-loaded) { width:64px; height:64px; }
.pn-assets .pn-asset-picture-large:not(.is-loaded) img { position:absolute; }

/* Asset library: compact desktop rows, Tabler's labelled stacked rows on mobile. */
.pn-assets .pn-assets-table { margin-bottom: 0; }
.pn-assets .pn-assets-table td { padding-block: .625rem; overflow-wrap: anywhere; }
.pn-assets .pn-assets-table .pn-asset-picture { width: 32px; height: 32px; flex-basis: 32px; font-size: .75rem; }
.pn-assets .pn-asset-facts dd { overflow-wrap: anywhere; }
.pn-assets .pn-asset-detail-image .pn-asset-picture-large { max-height: 180px; margin-bottom: 0; }
.pn-assets .pn-asset-detail-image img { max-height: 180px; }
/* Assets list toolbar: search stays visible; advanced filters use the shared collapse. */
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-toolbar-main { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-search { display: flex; flex: 1 1 15rem; min-width: 0; gap: .5rem; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-search .form-control { min-width: 0; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-search .btn { flex-shrink: 0; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-toolbar-results { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-left: auto; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-filter-summary { overflow-wrap: anywhere; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors) #asset-filters > .row { padding-top: .5rem; }
@media (max-width: 575.98px) {
    :is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-search { flex-basis: 100%; }
    :is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-toolbar-results { flex-basis: 100%; justify-content: space-between; margin-left: 0; }
}
/* ASSET-VIEW-1: the same authorised page of assets, as a table or image-led cards. */
:is(.pn-assets, .pn-opportunities, .pn-sponsors) [data-asset-library] [hidden] { display: none !important; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-view-switch { display: inline-flex; gap: .25rem; padding: .25rem; background: #fff; border: 1px solid #dce3ec; border-radius: .5rem; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-view-switch .btn { color: #526177; border: 0; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-view-switch .btn, :is(.pn-assets, .pn-opportunities, .pn-sponsors) .btn[data-asset-preview] { display: inline-flex; align-items: center; justify-content: center; gap: .375rem; }
:is(.pn-assets, .pn-opportunities, .pn-sponsors, .pn-enquiries) .pn-asset-view-switch :is([aria-pressed="true"], [aria-current="page"]) { color: #2856b6; background: #eaf1fc; }
.pn-assets .pn-asset-library-table .pn-asset-picture { width: 56px; height: 56px; flex-basis: 56px; }
.pn-assets .pn-asset-thumbnail-link { flex-shrink: 0; }
.pn-assets .pn-asset-library-table .pn-asset-picture img { object-fit: cover; }
.pn-assets .pn-asset-picture-fallback .ti { font-size: 1.35rem; color: #627c9b; }
.pn-assets .pn-asset-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.pn-assets .pn-asset-library-card { min-width: 0; overflow: hidden; }
.pn-assets .pn-asset-library-card .card-body { padding: 1rem; }
.pn-assets .pn-asset-library-card .card-footer { padding: .75rem 1rem; background: #fff; }
.pn-assets .pn-asset-card-image { display: block; }
.pn-assets .pn-asset-card-image .pn-asset-picture { display: flex; width: 100%; height: 180px; border: 0; border-radius: 0; }
.pn-assets .pn-asset-card-image img { object-fit: cover; }
.pn-assets .pn-asset-card-image .ti { font-size: 2rem; }
.pn-assets .pn-asset-preview-dialog { width: min(660px, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 3rem); padding: 0; border: 1px solid #dce3ec; border-radius: .75rem; background: #fff; color: #202a3c; box-shadow: 0 18px 60px #10233840; overflow: hidden; }
.pn-assets .pn-asset-preview-dialog[open] { display: flex; flex-direction: column; }
.pn-assets .pn-asset-preview-dialog::backdrop { background: #142b4966; }
.pn-assets .pn-asset-preview-heading, .pn-assets .pn-asset-preview-footer { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; }
.pn-assets .pn-asset-preview-heading { border-bottom: 1px solid #e3e9f1; }
.pn-assets .pn-asset-preview-heading .btn-close { width: 32px; height: 32px; padding: 0; flex-shrink: 0; }
.pn-assets .pn-asset-preview-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.pn-assets .pn-asset-preview-image .pn-asset-picture { display: flex; width: 100%; height: 230px; border: 0; border-radius: 0; }
.pn-assets .pn-asset-preview-image .ti { font-size: 2.5rem; }
.pn-assets .pn-asset-preview-image .pn-asset-picture:not(:has(img)) { height: 100px; }
.pn-assets .pn-asset-preview-image img { object-fit: contain; }
.pn-assets .pn-asset-preview-body { padding: 1.25rem; }
.pn-assets .pn-asset-preview-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0; }
.pn-assets .pn-asset-preview-facts dt { font-size: .75rem; font-weight: 400; color: #647187; margin-bottom: .25rem; }
.pn-assets .pn-asset-preview-facts dd { margin: 0; overflow-wrap: anywhere; }
.pn-assets .pn-asset-preview-opportunities { border-top: 1px solid #e3e9f1; padding-top: 1rem; }
.pn-assets .pn-asset-preview-offer { padding: .75rem; background: #f7faff; border-radius: .5rem; margin-bottom: .5rem; }
.pn-assets .pn-asset-preview-footer { border-top: 1px solid #e3e9f1; }
@media (max-width: 575.98px) {
    .pn-assets .pn-asset-preview-dialog { width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; }
    .pn-assets .pn-asset-preview-heading, .pn-assets .pn-asset-preview-footer { padding: .75rem 1rem; }
    .pn-assets .pn-asset-preview-heading .btn-close { width: 44px; height: 44px; }
    .pn-assets .pn-asset-preview-scroll { flex: 1; }
    .pn-assets .pn-asset-preview-image .pn-asset-picture { height: 190px; }
    .pn-assets .pn-asset-preview-body { padding: 1rem; }
    .pn-assets .pn-asset-preview-footer { padding-bottom: max(.75rem, env(safe-area-inset-bottom)); flex-wrap: wrap; }
    .pn-assets .pn-asset-row-action .btn span { display: none; }
}
@media (min-width: 768px) {
    .pn-assets .pn-assets-table .btn, .pn-assets .card-header .btn { min-height: 32px; }
}
@media (max-width: 767.98px) {
    .pn-assets .pn-assets-table tr { padding: .5rem; }
    .pn-assets .pn-assets-table td { width: auto !important; text-align: left !important; padding-block: .375rem !important; }
    .pn-assets .pn-assets-table td[data-label="Name"]:before { display: none; }
    .pn-assets .pn-assets-table td[data-label]:not([data-label="Name"]) { display: flex; align-items: baseline; gap: .75rem; }
    .pn-assets .pn-assets-table td[data-label]:not([data-label="Name"]):before { flex: 0 0 7rem; margin: 0; }
    .pn-assets .pn-assets-table tr:last-child { border-bottom: 0; }
}

/* OPP5-3: one optional approved landscape image, identical across sponsor surfaces. */
.pn-opportunity-image { margin: 0 0 1rem; }
.pn-opportunity-image img { display:block; width:100%; height:auto; max-height:400px; aspect-ratio:16/9; object-fit:contain; background:#f4f6fa; border-radius:.5rem; }
.pn-offer-grid .pn-opportunity-image img { max-height:180px; }
.pn-opportunity-image figcaption { padding-top:.35rem; overflow-wrap:anywhere; }
/* FIX-7 (C10): an unseen enquiry is emphasised in its row; the follow-up state is the one badge. */
.pn-records tr[data-enquiry-state="new"] > td:first-child { box-shadow: inset 3px 0 0 #2856B6; }
.pn-records [data-enquiry-state="new"] a.fw-semibold { font-weight: 700; color: #1d2433; }
.pn-records .pn-record-stack[data-enquiry-state="new"] { box-shadow: inset 3px 0 0 #2856B6; }
/* FIX-7 (C13): the folded business-connection offer under an invoice. */
.pn-connection-offer > summary.card-header { display: list-item; cursor: pointer; }
.pn-connection-offer:not([open]) > summary.card-header { border-bottom: 0; }
.pn-connection-offer > summary .card-title { display: inline; }

/* DASHBOARD-1: compact, actionable receiving overview; existing financial definitions. */
.pn-dashboard .card { box-shadow: none; }
.pn-dashboard .card-footer { background: #fff; }
.pn-dashboard .card-header { gap: .75rem; align-items: center; padding: 1rem 1.25rem; }
.pn-dashboard .card-header > div { min-width: 0; }
.pn-dashboard .card-header > a { flex-shrink: 0; }
.pn-dashboard .card-title { margin-bottom: .2rem; }
/* OVERVIEW-1: Get set up opens as a strip; its steps expand on request. */
.pn-setup-summary { flex: 1 1 16rem; max-width: 28rem; }
.pn-setup-steps > summary { display: flex; align-items: center; gap: .35rem; cursor: pointer; list-style: none; color: var(--tblr-primary, #2856B6); font-weight: 500; }
.pn-setup-steps > summary::-webkit-details-marker { display: none; }
.pn-setup-steps > summary .ti { transition: transform .15s ease; }
.pn-setup-steps[open] > summary { border-bottom: 1px solid var(--tblr-border-color, #dce1e7); }
.pn-setup-steps[open] > summary .ti { transform: rotate(180deg); }
.pn-setup-steps:not([open]) .pn-setup-hide, .pn-setup-steps[open] .pn-setup-show { display: none; }
.pn-dashboard-shortcuts { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.pn-dashboard-shortcuts a { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem 0; font-size: .875rem; }
.pn-dashboard-icon { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; flex: 0 0 2rem; border-radius: .5rem; background: #edf3ff; color: #2856b6; font-size: 1.15rem; }
.pn-dashboard-icon-amber { background: #fff5df; color: #805300; }
.pn-dashboard-icon-green { background: #eaf6ef; color: #176b30; }
.pn-dashboard-stat-label { display: flex; align-items: center; gap: .6rem; font-size: .85rem; color: #52627a; }
.pn-dashboard .pn-overview-stat .card-body { padding: 1rem 1.1rem; }
.pn-dashboard .pn-overview-number { font-size: clamp(1.5rem, 2.2vw, 1.85rem); margin: .65rem 0 .2rem; line-height: 1.2; }
.pn-dashboard .pn-overview-stat:focus-visible, .pn-dashboard .pn-overview-row:focus-visible { outline: 2px solid #2856b6; outline-offset: 2px; }
.pn-dashboard-currencies { overflow-wrap: anywhere; margin-bottom: .5rem; }
.pn-dashboard-group-title { margin: 0; padding: .85rem 1.25rem .4rem; font-size: .75rem; font-weight: 600; color: #52627a; }
.pn-dashboard .pn-overview-row { padding: .85rem 1.25rem; gap: .75rem; }
.pn-dashboard-work-icon { align-self: flex-start; padding-top: .1rem; color: #64748b; font-size: 1.15rem; }
.pn-dashboard .pn-row-content strong { font-weight: 600; }
.pn-dashboard-clear { display: flex; align-items: flex-start; gap: .75rem; padding: 1.25rem; }
.pn-dashboard-clear strong { font-size: .9rem; font-weight: 600; }
.pn-dashboard-later { border-top: 1px solid var(--tblr-border-color, #e6eaf0); }
.pn-dashboard-later > summary { cursor: pointer; padding: .9rem 1.25rem; color: #2856b6; font-size: .875rem; }
.pn-dashboard-plan { padding: 1.25rem; overflow-wrap: anywhere; }
.pn-dashboard-plan + .pn-dashboard-plan { border-top: 1px solid var(--tblr-border-color, #e6eaf0); }
.pn-dashboard-plan-total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .25rem .75rem; margin: 1rem 0 .5rem; }
.pn-dashboard-plan-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 1rem 0 0; }
.pn-dashboard-plan-facts dt { font-size: .75rem; color: #52627a; font-weight: 400; }
.pn-dashboard-plan-facts dd { font-size: 1rem; font-weight: 600; margin: .2rem 0 0; }
.pn-dashboard-enquiries td { max-width: 22rem; overflow-wrap: anywhere; white-space: normal; }
.pn-dashboard-enquiries .badge { white-space: normal; text-align: left; }
.pn-dashboard .pn-setup-prompt { background: #fff; border-color: var(--tblr-border-color, #e6eaf0); }
@media (max-width: 767.98px) {
    .pn-dashboard .card-header, .pn-dashboard-plan { padding: 1rem; }
    .pn-dashboard-stat-label { align-items: flex-start; flex-direction: column; gap: .4rem; min-height: 3.5rem; }
    .pn-dashboard .pn-overview-stat .card-body { padding: .85rem; }
    .pn-dashboard .pn-overview-number { font-size: 1.5rem; }
    .pn-dashboard .pn-overview-row { padding: .85rem 1rem; }
    .pn-dashboard-enquiries td { max-width: none; }
    .pn-dashboard-enquiries td:before { color: #52627a; font-size: .75rem; }
    .pn-dashboard-shortcuts { gap: .25rem 1rem; }
}

/* NAV-FINAL-1: one compact filter rhythm across record collections. */
.pn-list-toolbar-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.pn-list-search { display:flex; gap:.5rem; flex:1 1 15rem; min-width:0; }
.pn-list-search input { min-width:0; }
.pn-list-select { min-width:0; }
.pn-list-select select { max-width:100%; }
/* TOOLBAR-1: the shared toolbar keeps its summary on the row, right-aligned, as the Opportunities toolbar does. */
.pn-list-toolbar-results { margin: 0 0 0 auto; }
@media (max-width:575.98px) { .pn-list-search, .pn-list-toolbar-results { flex-basis:100%; } .pn-list-toolbar-results { margin-left:0; } }
/* TOOLBAR-1: Enquiries' follow-up quick filters, in the toolbar's quiet style. */
.pn-quick-filters { display: flex; flex-wrap: wrap; gap: .25rem; }
.pn-quick-filters .btn { color: #526177; border-color: transparent; background: transparent; }
.pn-quick-filters .btn:hover { background: #f0f3f8; }
.pn-quick-filters .btn[aria-current="page"] { color: #2856b6; background: #eaf1fc; }
.pn-quick-filters .badge { background: #e6ebf2; color: inherit; }

/* A single contextual return above workspace headings, including long record names. */
.pn-page-back { max-width:100%; text-decoration:none; }
.pn-page-back span { min-width:0; overflow-wrap:anywhere; }
.pn-page-back i { flex-shrink:0; }

/* Invoice detail: compact account summary followed by the issued document. */
.pn-invoice-page { max-width: 1120px; }
.pn-invoice-page > * + * { margin-top: 1rem; }
.pn-invoice-page .pn-invoice-summary .card-body { padding: 1rem 1.25rem; }
.pn-invoice-page .pn-invoice-summary .pn-figure { font-size: 1.25rem; }
.pn-invoice-lines tfoot tr:last-child > * { border-bottom: 0; }
.pn-invoice-dates { display: flex; flex-wrap: wrap; gap: .75rem 2rem; font-size: .8125rem; }
.pn-invoice-dates dt { color: #687386; font-weight: 400; }
.pn-invoice-dates dd { margin: .25rem 0 0; }
.pn-invoice-parties > section { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
.pn-invoice-parties > section > h3 { grid-column: 1; grid-row: 1; }
.pn-invoice-parties [data-invoice-issuer] { grid-column: 1; grid-row: 2; overflow-wrap: anywhere; }
.pn-invoice-parties [data-invoice-recipient] { grid-column: 2; grid-row: 1 / span 2; margin-top: 0 !important; overflow-wrap: anywhere; }
.pn-invoice-parties [data-invoice-recipient] h3 { font-size: .625rem; text-transform: uppercase; letter-spacing: .04em; color: #687386; margin-bottom: .5rem; }
.pn-invoice-lines { table-layout: fixed; margin-bottom: 0; }
.pn-invoice-lines th:last-child, .pn-invoice-lines td:last-child { width: 30%; }
.pn-invoice-lines td { overflow-wrap: anywhere; padding-block: 1rem; }
.pn-invoice-lines tfoot { border-top: 1px solid var(--tblr-border-color); }
.pn-invoice-lines tfoot th, .pn-invoice-lines tfoot td { padding-block: .75rem; }
.pn-invoice-page summary.card-header { display: list-item; list-style-position: inside; cursor: pointer; }
@media (max-width: 575.98px) {
    .pn-invoice-parties > section { display: block; }
    .pn-invoice-parties [data-invoice-recipient] { margin-top: 1rem !important; }
    .pn-invoice-page [data-invoice-totals] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .pn-invoice-page [data-invoice-totals] > :last-child { grid-column: 1 / -1; }
    .pn-invoice-page .pn-invoice-summary .card-body { padding: 1rem; }
}
@media print {
    .pn-invoice-page > section:not(.pn-invoice-summary):not(.pn-invoice-document):not([data-invoice-payment-instructions]),
    .pn-invoice-page > details { display: none !important; }
    .pn-invoice-workspace,
    .pn-invoice-workspace .page-wrapper { background: #fff !important; color: #000; }
    .pn-invoice-workspace .pn-page-back,
    .pn-invoice-workspace [data-pn-flash] { display: none !important; }
    .pn-invoice-workspace .page-header { margin-top: 0; }
    .pn-invoice-page { max-width: none; }
    .pn-invoice-page .card { box-shadow: none; border-color: #ccc; border-radius: 0; background: #fff; }
    .pn-invoice-page [data-invoice-totals] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
    .pn-invoice-page [data-invoice-totals] > :last-child { grid-column: auto; }
    .pn-invoice-page .pn-invoice-summary .card-body { padding: .75rem 1rem; }
    .pn-invoice-page .card-header,
    .pn-invoice-page .card-body { padding: .75rem 1rem; }
    .pn-invoice-page .pn-invoice-lines th,
    .pn-invoice-page .pn-invoice-lines td { padding: .5rem 1rem; }
    .pn-invoice-page .pn-invoice-parties > section { display: grid; grid-template-columns: 1fr 1fr; }
    .pn-invoice-page .pn-invoice-parties [data-invoice-recipient] { margin-top: 0 !important; }
    .pn-invoice-summary, .pn-invoice-document { break-inside: avoid; }
}

/* Enquiry views share filters and the existing follow-up state machine. */
.pn-enquiry-board { display: grid; grid-template-columns: repeat(5,minmax(220px,1fr)); gap: 1rem; overflow-x: auto; padding-bottom: .75rem; align-items: start; }
.pn-enquiry-board-filtered { grid-template-columns: minmax(220px, 400px); }
.pn-enquiry-column { background: #f0f3f8; border-radius: var(--tblr-border-radius); padding: .75rem; min-width: 0; }
.pn-enquiry-column .card { box-shadow: none; }
.pn-enquiry-column .card-body { overflow-wrap: anywhere; }
.pn-enquiries .pn-record-table td { padding-block: .75rem; }
@media (max-width: 767.98px) {
    .pn-enquiry-board { grid-template-columns: 1fr; overflow: visible; }
}

/* Shared presentation: head resolution prevents an initial table flash, with a plain
   Table fallback when JavaScript is absent. hidden always removes inactive controls. */
[data-list-presentation] [hidden] { display: none !important; }
html[data-pn-list-view="cards"] [data-list-panel="table"],
html[data-pn-list-view="table"] [data-list-panel="cards"] { display: none !important; }
html[data-pn-list-view="cards"] [data-list-panel="cards"] { display: grid !important; }
[data-list-view]:focus-visible { outline: 3px solid #2856b6; outline-offset: 2px; }
.pn-opportunities .pn-opportunity-table { margin-bottom: 0; }
.pn-opportunities .pn-opportunity-table td { padding-block: .625rem; overflow-wrap: anywhere; }
.pn-opportunities .pn-opportunity-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.pn-opportunities .pn-opportunity-card { min-width: 0; overflow: hidden; }
.pn-opportunities .pn-opportunity-card .card-body { padding: 1rem; }
.pn-opportunities .pn-opportunity-picture { position: relative; display: flex; align-items: center; justify-content: center; height: 150px; background: #f1f5f9; border-bottom: 1px solid var(--tblr-border-color); }
.pn-opportunities .pn-opportunity-picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.pn-opportunities .pn-opportunity-picture.is-loaded img { opacity: 1; }
.pn-opportunities .pn-opportunity-picture.is-loaded .pn-asset-picture-fallback { visibility: hidden; }
.pn-opportunities .pn-asset-picture-fallback { color: #627c9b; font-size: 2rem; }
.pn-opportunities .pn-opportunity-thumbnail { width: 56px; height: 56px; flex: 0 0 56px; border: 1px solid var(--tblr-border-color); border-radius: .5rem; overflow: hidden; }
.pn-opportunities .pn-opportunity-thumbnail .pn-asset-picture-fallback { font-size: 1.35rem; }
@media (min-width: 768px) {
    .pn-opportunities .pn-opportunity-table { table-layout: fixed; }
    .pn-opportunities .pn-opportunity-table th:nth-child(1) { width: 36%; }
    .pn-opportunities .pn-opportunity-table th:nth-child(2) { width: 20%; }
    .pn-opportunities .pn-opportunity-table th:nth-child(3) { width: 14%; }
    .pn-opportunities .pn-opportunity-table th:nth-child(4) { width: 10%; }
    .pn-opportunities .pn-opportunity-table th:nth-child(5) { width: 10%; }
}

html:not([data-pn-list-view]) .pn-opportunities #opportunity-filters.collapse { display: block; }
html:not([data-pn-list-view]) .pn-opportunities button[aria-controls="opportunity-filters"] { display: none; }

/* Sponsors share list controls, with compact contact cards rather than cover images. */
.pn-sponsors .pn-sponsor-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.pn-sponsors .pn-sponsor-card { min-width: 0; }
.pn-sponsors .pn-sponsor-avatar { flex: 0 0 40px; width: 40px; height: 40px; }
.pn-sponsors .pn-sponsor-table td { padding-block: .625rem; overflow-wrap: anywhere; }
.pn-sponsors .pn-sponsor-card dd { overflow-wrap: anywhere; }
.pn-sponsors .pn-sponsor-table .badge { overflow-wrap: normal; word-break: normal; }
@media (min-width: 768px) {
    .pn-sponsors .pn-sponsor-table { table-layout: fixed; }
    .pn-sponsors .pn-sponsor-table th, .pn-sponsors .pn-sponsor-table td { padding-inline: .625rem; }
    .pn-sponsors .pn-sponsor-table th:nth-child(1) { width: 26%; }
    .pn-sponsors .pn-sponsor-table th:nth-child(2) { width: 13%; }
    .pn-sponsors .pn-sponsor-table th:nth-child(3) { width: 21%; }
    .pn-sponsors .pn-sponsor-table th:nth-child(4) { width: 16%; }
    .pn-sponsors .pn-sponsor-table th:nth-child(5) { width: 14%; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .pn-sponsors .pn-sponsor-table { table-layout: auto; }
    .pn-sponsors .pn-sponsor-table th:nth-child(1) { width: 34%; }
    .pn-sponsors .pn-sponsor-table th:nth-child(3) { width: 13%; }
}
html:not([data-pn-list-view]) .pn-sponsors #sponsor-filters.collapse { display: block; }
html:not([data-pn-list-view]) .pn-sponsors button[aria-controls="sponsor-filters"] { display: none; }

/* Invoice email uses the existing Tabler confirmation pattern, with a no-JS form fallback. */
#invoice-email:not(.pn-modal-enhanced):is(:target, [data-pn-open-modal]) { display:block;position:static;opacity:1;overflow:visible; }
#invoice-email:not(.pn-modal-enhanced) .modal-dialog { transform:none;margin:1rem auto; }
#invoice-email:not(.pn-modal-enhanced) .btn-close { display:none; }
#invoice-email-history > summary { display:flex;align-items:center;gap:.5rem;min-height:0;padding:1rem;cursor:pointer;list-style:none; }
#invoice-email-history > summary::-webkit-details-marker { display:none; }
#invoice-email-history > summary::before { content:'▸'; }
#invoice-email-history[open] > summary::before { content:'▾'; }
#invoice-email-history > summary .card-title { font-size:1rem; }

/* Bounded CSV preview: email has its own column; corrections expand one record at a time. */
.pn-import-table { table-layout:fixed; }
.pn-import-table th { white-space:normal; }
.pn-import-table th:nth-child(1) { width:11%; }
.pn-import-table th:nth-child(2) { width:22%; }
.pn-import-table th:nth-child(3) { width:22%; }
.pn-import-table th:nth-child(4) { width:25%; }
.pn-import-table th:nth-child(5) { width:20%; }
.pn-import-table td { vertical-align:top;overflow-wrap:anywhere; }
.pn-import-table summary { cursor:pointer; }
.pn-import-edit { min-width:0; }
@media(max-width:991.98px) {
    .pn-import-table-wrap { overflow:visible; }
    .pn-import-table,.pn-import-table tbody { display:block; }
    .pn-import-table thead { display:none; }
    .pn-import-table tr { display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid var(--tblr-border-color);padding:.5rem; }
    .pn-import-table td { display:block;border:0;padding:.5rem; }
    .pn-import-table td:nth-child(n+3) { grid-column:1 / -1; }
    .pn-import-table td::before { content:attr(data-label);display:block;font-size:.75rem;color:var(--tblr-secondary);margin-bottom:.25rem; }
}

/* Benefit evidence: bounded thumbnails, readable captions and keyboard-native preview. */
.pn-evidence-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0;max-width:640px}
.pn-evidence-gallery img{width:100%;height:110px;object-fit:cover;border-radius:6px;border:1px solid var(--tblr-border-color,#ddd)}
.pn-evidence-gallery figcaption{margin-top:4px;overflow-wrap:anywhere}
.pn-evidence-dialog{border:0;border-radius:8px;padding:16px;width:min(92vw,900px);max-height:90vh;overflow:auto}
.pn-evidence-dialog::backdrop{background:rgba(0,0,0,.65)}
.pn-evidence-dialog img{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}
.pn-evidence-dialog img[hidden]{display:none}
.pn-evidence-dialog p{margin:12px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}

@media(max-width:575.98px){.pn-evidence-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* One-sponsorship report, within either existing shell. */
.pn-sponsorship-report{max-width:1080px;margin-inline:auto;overflow-wrap:anywhere}
.pn-report-logo{width:64px;height:64px;object-fit:contain;flex:none}
.pn-report-benefit+.pn-report-benefit{border-top:1px solid var(--tblr-border-color);margin-top:20px;padding-top:20px}
.pn-report-benefit .badge{align-self:flex-start;white-space:normal;text-align:left}
.pn-report-money{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:575.98px){.pn-report-money{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-report-logo{width:48px;height:48px}}

/* Renewals remain a compact worklist with stacked phone rows. */
.pn-renewal-table { table-layout: fixed; width: 100%; }
.pn-renewal-table td { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
 .pn-renewal-table thead { display: none; }
 .pn-renewal-table, .pn-renewal-table tbody, .pn-renewal-table tr, .pn-renewal-table td { display: block; width: 100%; }
 .pn-renewal-table tr { padding: .75rem; border-bottom: 1px solid var(--tblr-border-color); }
 .pn-renewal-table td { border: 0; padding: .25rem; }
}

/* Sponsor portfolio: compact columns on desktop, labelled rows below the sidebar breakpoint. */
.pn-sponsorship-table td { overflow-wrap: anywhere; }
.pn-sponsor-invoice-table td { overflow-wrap: anywhere; }
.pn-sponsor-invoice-table .badge { overflow-wrap: normal; word-break: normal; }
.pn-sponsor-invoice-table .btn { white-space: normal; overflow-wrap: normal; }
@media (min-width: 1200px) {
  .pn-sponsor-invoice-table { table-layout: fixed; }
  .pn-sponsor-invoice-table th:nth-child(1) { width: 12%; }
  .pn-sponsor-invoice-table th:nth-child(2) { width: 14%; }
  .pn-sponsor-invoice-table th:nth-child(3) { width: 17%; }
  .pn-sponsor-invoice-table th:nth-child(4) { width: 10%; }
  .pn-sponsor-invoice-table th:nth-child(5) { width: 12%; }
  .pn-sponsor-invoice-table th:nth-child(6) { width: 12%; }
  .pn-sponsor-invoice-table th:nth-child(7) { width: 13%; }
  .pn-sponsor-invoice-table th:nth-child(8) { width: 10%; }
  .pn-sponsor-invoice-table.table th,
  .pn-sponsor-invoice-table.table td { padding-left: .5rem; padding-right: .5rem; }
  .pn-sponsor-invoice-table.table td { padding-top: .75rem; padding-bottom: .75rem; }
}
@media (max-width: 1199.98px) {
  .pn-sponsor-invoice-table td { padding-top: .5rem; padding-bottom: .5rem; }
}
@media (min-width: 992px) {
  .pn-sponsorship-table { table-layout: fixed; }
  .pn-sponsorship-table th:nth-child(1) { width: 25%; }
  .pn-sponsorship-table th:nth-child(2) { width: 20%; }
  .pn-sponsorship-table th:nth-child(3) { width: 15%; }
  .pn-sponsorship-table th:nth-child(4) { width: 18%; }
  .pn-sponsorship-table th:nth-child(5) { width: 13%; }
  .pn-sponsorship-table th:nth-child(6) { width: 9%; }
  .pn-sponsorship-table td { padding-top: .75rem; padding-bottom: .75rem; }
}
@media (max-width: 991.98px) {
  .pn-sponsorship-table td { padding-top: .5rem; padding-bottom: .5rem; }
}
