/* r54 shared, screen-only theme. Status semantics and printable reports retain their colours. */
@media screen {
html[data-cpps-theme] {--cpps-nav:#102e43;--cpps-nav-active:#146c7a;--cpps-accent:#087f8c;--cpps-soft:#e6f4f5;--cpps-bg:#f3f7fb;--cpps-ink:#193649;--cpps-muted:#5c7285;--cpps-line:#dce6ee;--cpps-row:70px;--cpps-cell:8px;--cpps-font:14px;--cpps-panel:440px;--ink:var(--cpps-ink);--muted:var(--cpps-muted);--line:var(--cpps-line);--paper:var(--cpps-bg);--surface:var(--cpps-bg);--nav:var(--cpps-nav);--navy:var(--cpps-nav);--navy2:var(--cpps-nav-active);--accent:var(--cpps-accent);--blue:var(--cpps-accent);--blue-soft:var(--cpps-soft);--wash:var(--cpps-soft);--radius:14px}
html[data-cpps-theme=light] {--cpps-nav:#f9fbff;--cpps-nav-active:#e2eeff;--cpps-accent:#225ec4;--cpps-soft:#eaf1fe;--cpps-bg:#f5f8fd;--cpps-ink:#1b3454}
html[data-cpps-theme=gold] {--cpps-nav:#252e35;--cpps-nav-active:#4b4434;--cpps-accent:#876218;--cpps-soft:#f7f0df;--cpps-bg:#f7f6f2;--cpps-ink:#283740;--cpps-line:#e4e2db}
html[data-cpps-theme] {--cpps-nav-ink:#dae6ef;--cpps-nav-selected:#fff;--cpps-nav-muted:#acbfcd;--cpps-indicator:#39b9c1}
html[data-cpps-theme=light] {--cpps-nav-ink:#425d79;--cpps-nav-selected:#174d9b;--cpps-nav-muted:#425d79;--cpps-indicator:#225ec4}
html[data-cpps-theme=gold] {--cpps-indicator:#e2bb69}
html[data-cpps-theme=ocean] {--cpps-nav:#083953;--cpps-nav-active:#145874;--cpps-accent:#036b9a;--cpps-soft:#e3f3fa;--cpps-bg:#f1f7fb;--cpps-ink:#17374b;--cpps-line:#d5e6ef;--cpps-indicator:#65caff}
html[data-cpps-theme=emerald] {--cpps-nav:#123c32;--cpps-nav-active:#235c4b;--cpps-accent:#17664f;--cpps-soft:#e6f4ec;--cpps-bg:#f3f8f5;--cpps-ink:#193d30;--cpps-line:#d9e8df;--cpps-indicator:#5ddeac}
html[data-cpps-theme=purple] {--cpps-nav:#30214f;--cpps-nav-active:#503774;--cpps-accent:#6942a0;--cpps-soft:#efe9f8;--cpps-bg:#f7f5fb;--cpps-ink:#332647;--cpps-line:#e3dced;--cpps-indicator:#c5a1ff}
html[data-cpps-theme=burgundy] {--cpps-nav:#482733;--cpps-nav-active:#693d4b;--cpps-accent:#943957;--cpps-soft:#f9e9ef;--cpps-bg:#fbf5f7;--cpps-ink:#492c38;--cpps-line:#ecdde4;--cpps-indicator:#ffa8c4}
html[data-cpps-theme=sand] {--cpps-nav:#f7efe4;--cpps-nav-active:#e8d7be;--cpps-accent:#825720;--cpps-soft:#f6ecdc;--cpps-bg:#faf7f2;--cpps-ink:#40372b;--cpps-line:#e8dfd3;--cpps-nav-ink:#665139;--cpps-nav-selected:#684215;--cpps-nav-muted:#665139;--cpps-indicator:#825720}
html[data-cpps-theme=slate] {--cpps-nav:#263440;--cpps-nav-active:#435565;--cpps-accent:#486174;--cpps-soft:#eaf0f4;--cpps-bg:#f4f6f8;--cpps-ink:#283c4a;--cpps-line:#dce3e9;--cpps-indicator:#b5cede}
html[data-cpps-density=comfortable] {--cpps-row:88px;--cpps-cell:16px}
html[data-cpps-text=large] {--cpps-font:16px;--cpps-row:88px}
body[data-cpps-module] {background:var(--cpps-bg);color:var(--cpps-ink);font-family:"Segoe UI",system-ui,sans-serif;font-size:var(--cpps-font)}
html[data-cpps-text=large] body[data-cpps-module] :is(main,.main) :is(p,td,label,input,select,textarea,.btn){font-size:16px}
html[data-cpps-text=large] body[data-cpps-module] :is(main,.main) th {font-size:13px}
body[data-cpps-module] :is(.sidebar,body>aside){background:var(--cpps-nav);border-right:1px solid var(--cpps-line);box-shadow:none;color:var(--cpps-nav-ink)}
body[data-cpps-module] :is(.sidebar,body>aside) nav a {color:var(--cpps-nav-ink);border-radius:9px}
body[data-cpps-module] :is(.sidebar,body>aside) nav a:hover {background:var(--cpps-nav-active);color:var(--cpps-nav-selected);text-decoration:none}
body[data-cpps-module] :is(.sidebar,body>aside) nav a.active {background:var(--cpps-nav-active);color:var(--cpps-nav-selected);box-shadow:inset 3px 0 var(--cpps-indicator)}
body[data-cpps-module] :is(.nav-label,.nav-caption,.sidebar-footer,.sidebar-bottom,.side-foot,aside>.eyebrow,aside>small) {color:var(--cpps-nav-muted)}
body[data-cpps-module] .sidebar :is(.brand-module,.project-name,.project-subtitle,.brand>span) {color:var(--cpps-nav-muted)}
html:is([data-cpps-theme=light],[data-cpps-theme=sand]) body[data-cpps-module] .sidebar :is(.brand-module,.project-name,.project-subtitle,.brand>span) {color:var(--cpps-nav-ink)}
body[data-cpps-module] :is(.topbar,.workspace>header) {background:#fff;border-bottom:1px solid var(--cpps-line);height:auto;min-height:72px;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
body[data-cpps-module] :is(.panel,.card,.kpi,.metric,.module-card) {border-color:var(--cpps-line);border-radius:14px;box-shadow:0 4px 18px #16324a05}
body[data-cpps-module] :is(.btn.primary,button.primary,.button.primary,.module-tabs a.active) {background:var(--cpps-accent);border-color:var(--cpps-accent);color:#fff}
body[data-cpps-module=pricing] .btn:not(.secondary):not(.danger){background:var(--cpps-accent);border-color:var(--cpps-accent);color:#fff}
body[data-cpps-module] :is(input,select,textarea):focus-visible {outline:2px solid var(--cpps-accent);outline-offset:2px}
body[data-cpps-module] :is(button,a):focus-visible {outline:3px solid #4784d8;outline-offset:3px}
html:is([data-cpps-theme=light],[data-cpps-theme=sand]) body[data-cpps-module] :is(.sidebar,body>aside) :is(nav a,.hub-link,.hub-back,.nav-label,.nav-caption,.sidebar-footer,.sidebar-bottom,.side-foot,.eyebrow,small){color:var(--cpps-nav-ink)}
html:is([data-cpps-theme=light],[data-cpps-theme=sand]) body[data-cpps-module] :is(.sidebar,body>aside) nav a.active {color:var(--cpps-nav-selected);box-shadow:inset 3px 0 var(--cpps-indicator)}
body[data-cpps-module] .cpps-brand-plate {background:transparent!important;padding:0!important;border-radius:0!important;width:100%;height:auto;object-fit:contain;max-width:205px;box-shadow:none}
body[data-cpps-module] .topbar-logo.cpps-brand-plate {max-width:210px;padding:0!important;border-radius:0!important}
body[data-cpps-module=hub] .side-brand .hub-brand-lockup {background:transparent!important;border-radius:0!important;padding:0!important}
body[data-cpps-module] .cpps-appearance-button {display:inline-flex;align-items:center;gap:7px;flex-shrink:0;white-space:nowrap;background:var(--cpps-soft);color:var(--cpps-accent);border:1px solid var(--cpps-line);padding:9px 12px;border-radius:9px;font:600 13px "Segoe UI",sans-serif;cursor:pointer}
.cpps-appearance-button svg {width:19px;height:19px}
body[data-cpps-module] :is(.cpps-view-controls button,#cpps-appearance-dialog button,.cpps-preview-body button,.cpps-preview-body a.cpps-primary) {font:600 13px "Segoe UI",sans-serif;border-radius:8px;padding:9px 13px;cursor:pointer;border:1px solid var(--cpps-line);background:white;color:var(--cpps-ink)}
.cpps-view-controls {display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 0 18px;font-size:12px;color:var(--cpps-muted)}
.cpps-view-controls>div {display:inline-flex;background:#edf2f7;border:1px solid var(--cpps-line);padding:3px;border-radius:10px;gap:4px}
body[data-cpps-module] .cpps-view-controls button {border:0;background:transparent;min-width:70px}
body[data-cpps-module] .cpps-view-controls button[aria-pressed=true],body[data-cpps-module] .cpps-primary {background:var(--cpps-accent)!important;color:#fff!important;border-color:var(--cpps-accent)!important;text-decoration:none;display:inline-block}
.cpps-view-controls small {font-size:12px}
body[data-cpps-module] .r30-worklist {min-width:1060px}
body[data-cpps-module] .r30-worklist tbody tr {height:var(--cpps-row);background:#fff}
body[data-cpps-module] .r30-worklist tbody td {padding:var(--cpps-cell) 10px;font-size:var(--cpps-font)}
body[data-cpps-module] .r30-worklist td .sub {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:16px;height:16px}
body[data-cpps-module] .r30-worklist .r30-clip {display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:var(--cpps-font)}
body[data-cpps-module] .r30-worklist .r31-tag {max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
body[data-cpps-module] .r31-row-actions {flex-wrap:nowrap;white-space:nowrap}
body[data-cpps-module] .r30-worklist .r31-row-actions a {font-size:12px}
body[data-cpps-module] .r30-worklist tr[data-rfq-tone=awarded]>td {background:#e1f3e7}
body[data-cpps-module] .r30-worklist tr[data-rfq-tone=negotiation]>td {background:#fff3c8}
body[data-cpps-module] .rfq-overview .list-cell {height:calc(var(--cpps-row) - 18px);max-height:calc(var(--cpps-row) - 18px)}
body[data-cpps-module] :is(.rfq-overview,.r30-worklist) .deadline-text {color:#b42335!important;font-weight:700}
body[data-cpps-module] :is(.r31-green,.pricing-approved){background:#dcfce7;color:#166534}
body[data-cpps-module] :is(.r31-submitted,.pricing-submitted){background:#ccfbf1;color:#115e59}
body[data-cpps-module] .r31-purple {background:#fff1bd;color:#805a0b}
body[data-cpps-module] .r31-blue {background:#dcfce7;color:#166534}
body[data-cpps-module] .r31-yellow {background:#fff1bd;color:#805a0b}
body[data-cpps-module] .rfp-list>.group td,body[data-cpps-module] .rfp-list>tbody>.group>td {background:#fff}
body[data-cpps-module] .rfp-list>tbody>.group.po-received>td {background:#e1f3e7}
body[data-cpps-module] .rfp-list>tbody>.group.r54-negotiation>td {background:#fff3c8}
body[data-cpps-module] .rfp-list>tbody>.group>td {padding:var(--cpps-cell) 14px}
body[data-cpps-module] .rfp-heading {min-height:var(--cpps-row);align-items:center}
body[data-cpps-module] .cpps-row-selected>td {box-shadow:inset 0 2px var(--cpps-accent),inset 0 -2px var(--cpps-accent)}
/* Card view uses the original table controls and values, so sorting, filters and selection stay shared. */
html[data-cpps-view=cards] .cpps-view-list:not(.rfp-list) {display:block;min-width:0!important;table-layout:auto}
html[data-cpps-view=cards] .cpps-view-list:not(.rfp-list)>:is(colgroup,thead){display:none}
html[data-cpps-view=cards] .cpps-view-list:not(.rfp-list)>tbody {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px;padding:4px}
html[data-cpps-view=cards] .cpps-view-list:not(.rfp-list)>tbody>tr {display:flex;flex-direction:column;height:auto!important;min-width:0;border:1px solid var(--cpps-line);border-radius:12px;overflow:hidden;background:#fff}
html[data-cpps-view=cards] .cpps-view-list:not(.rfp-list)>tbody>tr>td {display:block;min-width:0;padding:var(--cpps-cell) 16px;border:0;text-align:left;overflow-wrap:anywhere}
html[data-cpps-view=cards] .cpps-view-list:not(.rfp-list)>tbody>tr>td::before {content:attr(data-card-label);display:block;font-size:10px;font-weight:700;color:var(--cpps-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
html[data-cpps-view=cards] .cpps-view-list:not(.rfp-list)>tbody>tr>td[colspan]::before {display:none}
html[data-cpps-view=cards] .cpps-view-list .list-cell {height:auto!important;max-height:none!important}
html[data-cpps-view=cards] .rfp-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:14px}
html[data-cpps-view=cards] .rfp-list>tbody {display:block;border:1px solid var(--cpps-line);border-radius:12px;overflow:hidden;background:white;min-width:0}
html[data-cpps-view=cards] .rfp-list>tbody>tr:not([hidden]),html[data-cpps-view=cards] .rfp-list>tbody>tr>td {display:block}
html[data-cpps-view=cards] .rfp-heading {flex-direction:column;align-items:stretch;gap:14px}
html[data-cpps-view=cards] .rfp-summary-outcome {justify-content:space-between;flex-wrap:wrap;padding-left:0}
html[data-cpps-view=cards] .rfp-summary-info {min-width:0}
html[data-cpps-view=cards] .rfp-value {text-align:left}
/* Preferences dialog and non-modal details region. */
#cpps-appearance-dialog {width:610px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);margin:auto;padding:26px;border:1px solid var(--cpps-line);border-radius:18px;background:#fff;color:var(--cpps-ink);box-shadow:0 24px 100px #102e4338;font:14px/1.5 "Segoe UI",sans-serif}
#cpps-appearance-dialog::backdrop {background:#102e4359;backdrop-filter:blur(3px)}
#cpps-appearance-dialog p {margin:15px 0;color:var(--cpps-muted)}
.cpps-panel-heading {display:flex;align-items:center;justify-content:space-between;gap:14px}
.cpps-panel-heading small {font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--cpps-accent)}
.cpps-panel-heading h2 {font-size:23px;line-height:1.3;margin:4px 0;overflow-wrap:anywhere}
body[data-cpps-module] .cpps-icon-button {border:1px solid var(--cpps-line);background:white;color:var(--cpps-ink);border-radius:8px;font-size:23px;padding:2px 10px;cursor:pointer;flex-shrink:0}
.cpps-themes {margin:20px 0;border:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cpps-themes legend {font-weight:600;margin-bottom:10px}
.cpps-theme-option {display:block;position:relative;border:2px solid var(--cpps-line);border-radius:11px;padding:10px;cursor:pointer;font-size:12px}
.cpps-theme-option:has(input:checked) {border-color:var(--cpps-accent);background:var(--cpps-soft)}
.cpps-theme-option input {width:16px;min-height:0;height:16px;position:absolute;top:13px;right:13px;accent-color:var(--cpps-accent)}
.cpps-swatch {display:block;height:28px;border-radius:7px;margin-bottom:10px;background:linear-gradient(90deg,#102e43 28%,#f3f7fb 28%,#f3f7fb 72%,#087f8c 72%)}
.cpps-swatch-light {background:linear-gradient(90deg,#dbe8ff 28%,#fff 28%,#fff 72%,#225ec4 72%)}
.cpps-swatch-gold {background:linear-gradient(90deg,#252e35 28%,#f7f6f2 28%,#f7f6f2 72%,#876218 72%)}
.cpps-swatch-ocean {background:linear-gradient(90deg,#083953 28%,#f1f7fb 28%,#f1f7fb 72%,#036b9a 72%)}
.cpps-swatch-emerald {background:linear-gradient(90deg,#123c32 28%,#f3f8f5 28%,#f3f8f5 72%,#17664f 72%)}
.cpps-swatch-purple {background:linear-gradient(90deg,#30214f 28%,#f7f5fb 28%,#f7f5fb 72%,#6942a0 72%)}
.cpps-swatch-burgundy {background:linear-gradient(90deg,#482733 28%,#fbf5f7 28%,#fbf5f7 72%,#943957 72%)}
.cpps-swatch-sand {background:linear-gradient(90deg,#f7efe4 28%,#faf7f2 28%,#faf7f2 72%,#825720 72%)}
.cpps-swatch-slate {background:linear-gradient(90deg,#263440 28%,#f4f6f8 28%,#f4f6f8 72%,#486174 72%)}
/* Nine choices remain readable on phones without shrinking the radio targets. */
@media(max-width:480px) {
#cpps-appearance-dialog .cpps-themes {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#cpps-appearance-dialog .cpps-theme-option {padding:10px;font-size:12px}
#cpps-appearance-dialog .cpps-theme-option input {width:18px;height:18px}
}
.cpps-settings-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cpps-setting {display:grid;gap:7px;font-size:13px;font-weight:600;color:var(--cpps-ink)}
.cpps-setting select {padding:10px;border:1px solid var(--cpps-line);border-radius:8px;width:100%;color:var(--cpps-ink);background:white;font:14px "Segoe UI",sans-serif}
.cpps-status-note {font-size:12px;border-top:1px solid var(--cpps-line);padding-top:14px}
.cpps-panel-actions {display:flex;justify-content:space-between;gap:10px;margin-top:20px}
#cpps-rfq-preview {position:fixed;right:20px;top:98px;bottom:20px;width:var(--cpps-panel);z-index:45;border:1px solid var(--cpps-line);border-radius:16px;box-shadow:0 8px 30px #102e431a;background:#fff;color:var(--cpps-ink);display:flex;flex-direction:column;font-size:14px}
#cpps-rfq-preview>.cpps-panel-heading {padding:20px;border-bottom:1px solid var(--cpps-line)}
.cpps-preview-body {overflow:auto;overscroll-behavior:contain;padding:20px;min-height:0}
.cpps-preview-body p {line-height:1.6;margin:0 0 16px;overflow-wrap:anywhere}
.cpps-preview-subject {font-size:15px;line-height:1.5;margin:14px 0;overflow-wrap:anywhere}
.cpps-preview-body .deadline-text {color:#b42335;font-weight:700}
.cpps-preview-body dl {display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px 14px;margin:20px 0}
.cpps-preview-body dt {font-size:12px;color:var(--cpps-muted)}
.cpps-preview-body dd {margin:0;font-size:13px;overflow-wrap:anywhere}
.cpps-preview-body details {border-top:1px solid var(--cpps-line);padding:14px 0}
.cpps-preview-body summary {font-weight:600;cursor:pointer}
.cpps-preview-body li {padding:7px 0;font-size:13px;overflow-wrap:anywhere}
.cpps-preview-body ul {padding-left:18px}
.cpps-preview-status {display:inline-block;padding:6px 10px;border-radius:7px;background:#eef2f6;font-size:12px;font-weight:700}
.cpps-preview-status[data-tone=awarded],.cpps-preview-status[data-tone=approved] {background:#dcfce7;color:#166534}
.cpps-preview-status[data-tone=submitted] {background:#ccfbf1;color:#115e59}
.cpps-preview-status[data-tone=negotiation],.cpps-preview-status[data-tone=pending] {background:#fff1bd;color:#805a0b}
@media(min-width:1240px) {
body.cpps-preview-open[data-cpps-module=pricing]>.shell,body.cpps-preview-open[data-cpps-module=torishima]>.workspace {margin-right:calc(var(--cpps-panel) + 30px)}
body.cpps-preview-open :is(main,#content){padding-left:22px;padding-right:22px}
body.cpps-preview-open .cpps-view-controls small{display:none}
html[data-cpps-view=table] body.cpps-preview-open #r29-worklist {min-width:0;width:100%;table-layout:fixed}
html[data-cpps-view=table] body.cpps-preview-open #r29-worklist colgroup {display:none}
html[data-cpps-view=table] body.cpps-preview-open #r29-worklist :is([data-card-label="Assigned to"],[data-card-label="Next action"]){display:none}
html[data-cpps-view=table] body.cpps-preview-open #r29-worklist [data-card-label="RFQ / Reference"]{width:24%}
html[data-cpps-view=table] body.cpps-preview-open #r29-worklist [data-card-label="Customer"]{width:12%}
html[data-cpps-view=table] body.cpps-preview-open #r29-worklist [data-card-label="Subject"]{width:24%}
html[data-cpps-view=table] body.cpps-preview-open #r29-worklist [data-card-label="Closing Date"]{width:16%}
html[data-cpps-view=table] body.cpps-preview-open #r29-worklist [data-card-label="Status"]{width:24%}
body.cpps-preview-open .rfp-summary-outcome {gap:10px;flex-wrap:wrap}
}
@media(max-width:1239px) {#cpps-rfq-preview{box-shadow:0 12px 80px #102e4360}}
@media(max-width:680px) {body[data-cpps-module] :is(.topbar,.workspace>header){gap:8px;padding:10px 12px} .cpps-appearance-button span{display:none}body[data-cpps-module] .cpps-appearance-button{padding:8px}.cpps-appearance-button:has(span)::after{content:'Theme';font-size:11px}#cpps-rfq-preview{inset:auto 8px 8px;width:auto;max-height:86dvh}.cpps-settings-grid{grid-template-columns:1fr}#cpps-appearance-dialog{padding:18px}.cpps-themes{gap:6px}.cpps-theme-option{padding:7px;font-size:10px}.cpps-view-controls small{display:none}.cpps-preview-body dl{grid-template-columns:100px minmax(0,1fr)} body[data-cpps-module] .cpps-brand-plate{max-width:150px}body[data-cpps-module] .topbar-logo.cpps-brand-plate{max-width:150px}}
@media(prefers-reduced-motion:reduce){#cpps-rfq-preview,*:has(>.cpps-appearance-button){scroll-behavior:auto}}
}
@media print { .cpps-appearance-button,.cpps-view-controls,#cpps-rfq-preview,#cpps-appearance-dialog{display:none!important} }
/* r56: the same list view and spacing across each app's main record lists.
   Keep the original nodes and actions. Inline display:none from filters still wins. */
@media screen {
body[data-cpps-module] .cpps-view-list:not(.rfp-list)>tbody>tr {height:var(--cpps-row)}
body[data-cpps-module] .cpps-view-list:not(.rfp-list)>tbody>tr>td {padding:var(--cpps-cell) 12px;font-size:var(--cpps-font)}
body[data-cpps-module=rtu] .panel>.cpps-view-controls {padding:12px 20px}
body[data-cpps-module] :is(.package-card,.contractor-card) {padding:calc(var(--cpps-cell) + 8px)}
html[data-cpps-view=cards] .cpps-view-list:not(.rfp-list)>tbody>tr>td {padding:var(--cpps-cell) 16px}
html[data-cpps-view=cards] body[data-cpps-module=villa] .cpps-view-list :is(.progress-cell,.financial-stack) {min-width:0;width:auto}
/* Hub modules become compact launch rows in List view. */
html[data-cpps-view=table] #module-grid {display:grid;grid-template-columns:1fr;gap:12px}
html[data-cpps-view=table] #module-grid>.module-card {display:grid;grid-template-columns:64px minmax(0,1fr) minmax(180px,.8fr);grid-template-areas:'icon title meta' 'icon subtitle meta';column-gap:20px;row-gap:4px;align-items:center;min-height:96px;padding:calc(var(--cpps-cell) + 8px) 24px}
html[data-cpps-view=table] #module-grid .module-top {grid-area:icon;margin:0}
html[data-cpps-view=table] #module-grid .module-icon {width:60px;height:60px;margin:0}
html[data-cpps-view=table] #module-grid .module-icon-img {width:60px;height:60px}
html[data-cpps-view=table] #module-grid .module-arrow {display:none}
html[data-cpps-view=table] #module-grid h3 {grid-area:title;margin:0;font-size:18px}
html[data-cpps-view=table] #module-grid p {grid-area:subtitle;margin:0;font-size:13px}
html[data-cpps-view=table] #module-grid .module-meta {grid-area:meta;margin:0;padding:0;border:0;text-align:right}
/* Villa lists retain package and contractor filtering, categories and Open/Edit actions. */
html[data-cpps-view=table] body[data-cpps-module=villa] :is(.package-grid,.contractor-grid) {grid-template-columns:1fr;gap:12px}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card {display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(110px,.6fr) minmax(280px,1.8fr) auto;gap:18px;align-items:center;min-height:var(--cpps-row)}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card-head {display:block;margin:0}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card-head h3 {margin:4px 0 8px!important;font-size:var(--cpps-font)}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card .meta {margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card .metric {min-width:0}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card .metric strong {overflow-wrap:anywhere}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card .footer {border:0;padding:0;margin:0;display:grid;gap:10px}
html[data-cpps-view=table] body[data-cpps-module=villa] .contractor-card {display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) auto;gap:12px 20px;align-items:center}
html[data-cpps-view=table] body[data-cpps-module=villa] .contractor-head {grid-column:1;margin:0}
html[data-cpps-view=table] body[data-cpps-module=villa] .contractor-contact {grid-column:2;grid-row:1/3;margin:0;padding:0;border:0}
html[data-cpps-view=table] body[data-cpps-module=villa] .contractor-footer {grid-column:3;grid-row:1/3;margin:0;padding:0;border:0;gap:16px}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-tags {grid-column:1;margin:0}
@media(max-width:1200px) {
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card {grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
html[data-cpps-view=table] body[data-cpps-module=villa] .contractor-card {display:flex;flex-direction:column;align-items:stretch}
}
@media(max-width:680px) {
html[data-cpps-view=table] #module-grid>.module-card {grid-template-columns:48px minmax(0,1fr);grid-template-areas:'icon title' 'icon subtitle' 'icon meta';gap:5px 16px;padding:calc(var(--cpps-cell) + 6px)}
html[data-cpps-view=table] #module-grid :is(.module-icon,.module-icon-img) {width:48px;height:48px}
html[data-cpps-view=table] #module-grid .module-meta {text-align:left;font-size:12px}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card {grid-template-columns:minmax(0,1fr)}
html[data-cpps-view=table] body[data-cpps-module=villa] .package-card .footer {display:flex;flex-wrap:wrap;justify-content:space-between}
}
}
/* r55: transparent navigation branding, optional top navigation and arrangement controls. */
@media screen {
body[data-cpps-module] .cpps-navigation :is(.brand,.side-brand,.cpps-nav-brand) {background:transparent!important;border:0;box-shadow:none}
body[data-cpps-module] .cpps-nav-brand {position:relative;display:block;width:100%;max-width:205px;line-height:0;padding:0!important;margin-bottom:12px}
body[data-cpps-module] .cpps-nav-brand img {display:block;width:100%!important;max-width:100%;height:auto;margin:0!important;padding:0!important;background:transparent!important;border-radius:0!important}
/* Reuse the existing transparent artwork as a mask for just the HUB wordmark on dark navigation. */
body[data-cpps-module] .cpps-nav-brand::after {content:'';position:absolute;inset:0;background:#e8f3fa;mask:url('/hub-static/cpps_hub_brand.png') center/contain no-repeat;clip-path:inset(0 0 0 70%);pointer-events:none}
html:is([data-cpps-theme=light],[data-cpps-theme=sand]) .cpps-nav-brand::after {display:none}
.cpps-arrangement {margin-top:24px;padding-top:18px;border-top:1px solid var(--cpps-line)}
.cpps-arrangement h3 {font-size:16px;margin:0}
#cpps-appearance-dialog .cpps-arrangement p {font-size:12px;margin:8px 0 14px}
.cpps-arrange-list {list-style:none;padding:0;margin:12px 0;display:grid;gap:6px}
.cpps-arrange-list li {display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--cpps-line);border-radius:8px;padding:8px 10px;background:var(--cpps-bg)}
.cpps-arrange-list li>span {font-size:13px;font-weight:600}
.cpps-arrange-list li>div {display:flex;gap:6px}
@media(min-width:900px) {
#cpps-appearance-dialog {width:880px}
#cpps-appearance-dialog>form {display:grid;grid-template-columns:1fr 1fr;column-gap:28px;grid-template-areas:'heading heading' 'intro intro' 'themes themes' 'settings arrangement' 'note arrangement' 'status arrangement' 'actions actions';align-items:start}
#cpps-appearance-dialog .cpps-panel-heading {grid-area:heading}
#cpps-appearance-dialog form>p:not([class]) {grid-area:intro}
#cpps-appearance-dialog .cpps-themes {grid-area:themes;margin-top:4px}
#cpps-appearance-dialog .cpps-settings-grid {grid-area:settings}
#cpps-layout-settings {grid-area:arrangement}
#cpps-appearance-dialog .cpps-preferences-note {grid-area:note}
#cpps-appearance-dialog .cpps-status-note {grid-area:status}
#cpps-appearance-dialog .cpps-panel-actions {grid-area:actions}
.cpps-arrangement {margin-top:0;padding:0 0 0 24px;border-top:0;border-left:1px solid var(--cpps-line)}
}
body[data-cpps-module] #cpps-appearance-dialog [data-cpps-move] {padding:6px 12px;font-size:18px;min-height:36px}
#cpps-appearance-dialog button:disabled {opacity:.35;cursor:default}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation {position:relative!important;inset:auto!important;display:flex!important;flex-direction:row!important;align-items:center;flex-wrap:wrap;width:100%!important;height:auto!important;min-height:0;padding:14px 24px;gap:10px 24px;overflow:visible;border-right:0;border-bottom:1px solid var(--cpps-line);z-index:25}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation :is(.brand,.side-brand,.sidebar-logo) {flex:0 0 195px;width:195px;max-width:195px;padding:0;margin:0}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-nav-brand {max-width:195px;margin:0}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation nav {display:flex;flex-direction:row;flex:1 1 600px;align-items:center;gap:5px;margin:0;padding:0;min-width:0;max-width:100%;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;grid-template-columns:none}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation nav a {flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;width:auto;margin:0;padding:11px 13px;font-size:13px;min-height:43px;white-space:nowrap}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation nav a.active {box-shadow:inset 0 -3px var(--cpps-indicator)}
html[data-cpps-navigation=top]:is([data-cpps-theme=light],[data-cpps-theme=sand]) body[data-cpps-module] .cpps-navigation nav a.active {box-shadow:inset 0 -3px var(--cpps-indicator)}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation .nav a>span:not([id]):not([hidden]):not(.cpps-rail-symbol) {display:inline!important}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation :is(.side-rule,.side-foot,.nav-label,.nav-caption,.sidebar-footer,.sidebar-bottom,.project-name,.project-subtitle,.brand-module,small,.eyebrow),html[data-cpps-navigation=top] .cpps-navigation .brand>span:not(.cpps-nav-brand) {display:none!important}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation>.hub-link {margin:0;font-size:12px;white-space:nowrap}
html[data-cpps-navigation=top] body[data-cpps-module] :is(.shell,.workspace) {margin-left:0!important;min-width:0}
html[data-cpps-navigation=top] body[data-cpps-module] #app>.shell {display:block}
html[data-cpps-navigation=top] body[data-cpps-module] :is(.topbar,.workspace>header) {position:relative;top:auto;display:flex}
html[data-cpps-navigation=top] body[data-cpps-module=rtu] :is(.mobile-topline,.mobile-bottom) {display:none}
html[data-cpps-navigation=top] body[data-cpps-module=rtu] .workspace {padding-bottom:0}
@media(min-width:681px) {html[data-cpps-navigation=top] #cpps-rfq-preview {top:var(--cpps-preview-top,180px)}}
@media(max-width:760px) {
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation {padding:12px;gap:12px}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation nav {flex-basis:100%;order:2}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation :is(.brand,.side-brand,.sidebar-logo),html[data-cpps-navigation=top] body[data-cpps-module] .cpps-nav-brand {max-width:165px}
html[data-cpps-navigation=top] body[data-cpps-module] .cpps-navigation>.hub-link {margin-left:auto}
}
}

/* r61: theme the appearance trigger and compact informational panels. */
@media screen {
html[data-cpps-theme] body[data-cpps-module] button.cpps-appearance-button {background:var(--cpps-accent)!important;color:#fff!important;border-color:var(--cpps-accent)!important}
html[data-cpps-theme] body[data-cpps-module] button.cpps-appearance-button:hover {filter:brightness(.94)}
body[data-cpps-module=hub] .hub-head {background:var(--cpps-soft);color:var(--cpps-ink);border:1px solid var(--cpps-line);border-left:4px solid var(--cpps-accent);box-shadow:none;padding:12px 18px;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-radius:12px}
body[data-cpps-module=hub] .hub-head .eyebrow {color:var(--cpps-accent);font-size:10px;letter-spacing:1.2px}
body[data-cpps-module=hub] .hub-head .hub-lead {color:var(--cpps-ink);font-size:14px;line-height:1.4;margin:3px 0 0;max-width:none}
body[data-cpps-module=hub] .hub-head .hub-version {background:transparent;color:var(--cpps-accent);border-color:var(--cpps-line);padding:5px 9px;font-size:11px;white-space:nowrap;margin:0}
body[data-cpps-module=rtu] .workflow-counters {background:var(--cpps-soft);color:var(--cpps-ink);border-color:var(--cpps-line);border-left:3px solid var(--cpps-accent)}
body[data-cpps-module=rtu] .workflow-counters>.small {color:var(--cpps-muted)}
}
