/* Sand Point Platform contrast pass.
   Loaded last. The page was one cream sheet: white bars, white tables,
   hairline borders. Sections are now a navy bar. Tables are white cards
   with a steel-blue header. The work area behind them is warm paper.
   The map is left alone.
   v34.4: dark-mode section bars were solid gold; they are now a navy band
   with a gold rail, so gold is left for selected items and main actions. */

html body:not([data-sandpoint-workspace="map"]){
  --cx-canvas:#FAF7F0;
  --cx-card:#ffffff;
  --cx-ink:#292C29;
  --cx-muted:#60625D;
  --cx-bar:#EFEDE7;
  --cx-bar-ink:#3A3D39;
  --cx-bar-meta:#5C5F5A;
  --cx-gold:#C68A2E;
  --cx-accent:#A97424;
  --cx-line:#E0D9CE;
  --cx-grid:#ECE7DF;
  --cx-th:#F3F1EC;
  --cx-th-ink:#3A3D39;
  --cx-th-line:#A3A59F;
  --cx-zebra:#FAF8F5;
  --cx-hover:#FBF4E6;
  --cx-grp:#F8F4EC;
  --cx-grp-ink:#4A3B1E;
  --cx-quiet:#F5F2EC;
  --cx-quiet-ink:#60625D;
  --cx-btn-bg:#FFFFFF;--cx-bar-line:#DEDBD3;--cx-strong:#4A4D48;--cx-strong-ink:#FFFFFF;
  --cx-btn-line:#D3D7D3;
  --cx-btn-hover:#F5F8FB;
}
@media(prefers-color-scheme:dark){
  html:not([data-theme="light"]) body:not([data-sandpoint-workspace="map"]){
    --cx-canvas:#151815;--cx-card:#2e312d;--cx-ink:#FAF7F0;--cx-muted:#A1A39D;
    --cx-bar:#2A2E2A;--cx-bar-ink:#EDE6D6;--cx-bar-meta:#BCC2BC;--cx-gold:#C68A2E;--cx-accent:#E0C48A;
    --cx-line:#4D554D;--cx-grid:#3C433C;--cx-th:#343A34;--cx-th-ink:#E7D7B0;--cx-th-line:#C68A2E;
    --cx-zebra:#212421;--cx-hover:#353B35;--cx-grp:#3A311C;--cx-grp-ink:#F0E2C4;
    --cx-quiet:#1E211D;--cx-quiet-ink:#A1A39D;
    --cx-btn-bg:transparent;--cx-bar-line:#3F453F;--cx-strong:#C68A2E;--cx-strong-ink:#292C29;--cx-btn-line:rgba(237,230,214,.28);--cx-btn-hover:rgba(255,255,255,.07);
  }
}
html[data-theme="dark"] body:not([data-sandpoint-workspace="map"]){
  --cx-canvas:#151815;--cx-card:#2e312d;--cx-ink:#FAF7F0;--cx-muted:#A1A39D;
  --cx-bar:#2A2E2A;--cx-bar-ink:#EDE6D6;--cx-bar-meta:#BCC2BC;--cx-gold:#C68A2E;--cx-accent:#E0C48A;
  --cx-line:#4D554D;--cx-grid:#3C433C;--cx-th:#343A34;--cx-th-ink:#E7D7B0;--cx-th-line:#C68A2E;
  --cx-zebra:#212421;--cx-hover:#353B35;--cx-grp:#3A311C;--cx-grp-ink:#F0E2C4;
  --cx-quiet:#1E211D;--cx-quiet-ink:#A1A39D;
  --cx-btn-bg:transparent;--cx-bar-line:#3F453F;--cx-strong:#C68A2E;--cx-strong-ink:#292C29;--cx-btn-line:rgba(237,230,214,.28);--cx-btn-hover:rgba(255,255,255,.07);
}
html[data-theme="light"] body:not([data-sandpoint-workspace="map"]){
  --cx-canvas:#FAF7F0;--cx-card:#ffffff;--cx-ink:#292C29;--cx-muted:#60625D;
  --cx-bar:#EFEDE7;--cx-bar-ink:#3A3D39;--cx-bar-meta:#5C5F5A;--cx-gold:#C68A2E;--cx-accent:#A97424;
  --cx-line:#E0D9CE;--cx-grid:#ECE7DF;--cx-th:#F3F1EC;--cx-th-ink:#3A3D39;--cx-th-line:#A3A59F;
  --cx-zebra:#FAF8F5;--cx-hover:#FBF4E6;--cx-grp:#F8F4EC;--cx-grp-ink:#4A3B1E;
  --cx-quiet:#F5F2EC;--cx-quiet-ink:#60625D;
  --cx-btn-bg:#FFFFFF;--cx-bar-line:#DEDBD3;--cx-strong:#4A4D48;--cx-strong-ink:#FFFFFF;--cx-btn-line:#D3D7D3;--cx-btn-hover:#F5F8FB;
}

/* Paper behind the work. Nav and the top bar stay a clean sheet. */
html body:not([data-sandpoint-workspace="map"]) :is(.app-shell,.content,#dd-main,.dd-app,.wrap),
html body:not([data-sandpoint-workspace="map"]){
  background-color:var(--cx-canvas)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.main-nav,.topbar,.dd-list,.dd-dealbar,.detail-panel){
  background-color:var(--cx-card)!important;
}

/* Section bars. Slate navy with a gold rail — one step lighter than the
   v34 first pass, which read as black. A closed section goes quiet so the
   open ones are the thing you see. Due Diligence draws its own (sandpoint-dd-ws.css). */
html body:not([data-sandpoint-workspace="map"]) :is(
  .sec-label,
  .admin-section-title,
  .ov-bar,
  .tracker-panel-title,
  .sandpoint-att-hd
):not(#dd-main *){
  background-color:var(--cx-bar)!important;
  color:var(--cx-bar-ink)!important;
  border:1px solid var(--cx-bar-line)!important;
  border-left:3px solid var(--cx-gold)!important;
  border-radius:8px!important;
  box-shadow:none!important;
  min-height:38px;
}
html body:not([data-sandpoint-workspace="map"]) :is(.sec-label,.admin-section-title,.ov-bar .ov-title,.tracker-panel-title,.sandpoint-att-hd h3):not(#dd-main *){
  color:var(--cx-bar-ink)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.sec-label,.admin-section-title):not(#dd-main *){
  margin-top:18px!important;
  margin-bottom:8px!important;
}
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):not([style*="column"]):has(> .sec-label):not(#dd-main *){
  background-color:var(--cx-bar)!important;
  border:1px solid var(--cx-bar-line)!important;
  border-left:3px solid var(--cx-gold)!important;
  color:var(--cx-bar-ink)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):not([style*="column"]) > .sec-label:not(#dd-main *){
  color:var(--cx-bar-ink)!important;
  background:transparent!important;
  border:0!important;
  margin:0!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.sec-label,.ov-bar,.tracker-panel-title,.admin-section-title,.sandpoint-att-hd) :is([id$="-count"],.cnt,.sec-meta,.tracker-mini,.ov-sub){
  color:var(--cx-bar-meta)!important;
}

html body:not([data-sandpoint-workspace="map"]) :is(.sec-label.sandpoint-sec-collapsed,.sandpoint-att-hd.sandpoint-sec-collapsed):not(#dd-main *){
  background-color:var(--cx-quiet)!important;
  color:var(--cx-quiet-ink)!important;
  border-color:var(--cx-line)!important;
  border-left-color:var(--cx-line)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):has(> .sec-label.sandpoint-sec-collapsed):not(#dd-main *){
  background-color:var(--cx-quiet)!important;
  color:var(--cx-quiet-ink)!important;
  border-color:var(--cx-line)!important;
  border-left-color:var(--cx-line)!important;
}
html body:not([data-sandpoint-workspace="map"]) .sec-label.sandpoint-sec-collapsed :is([id$="-count"],.cnt,.sec-meta){
  color:var(--cx-muted)!important;
}

/* Controls that sit in a bar are ghost buttons: no white slab on the navy,
   the bar's own ink, a hairline outline that firms up on hover. */
html body:not([data-sandpoint-workspace="map"]) :is(.sec-label,.ov-bar,.admin-section-title,.tracker-panel-title,.sandpoint-att-hd):not(#dd-main *) :is(.btn,button,a.btn),
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):has(> .sec-label):not(#dd-main *) :is(.btn,button,a.btn){
  background-color:var(--cx-btn-bg)!important;
  color:var(--cx-bar-ink)!important;
  border:1px solid var(--cx-btn-line)!important;
  box-shadow:none!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.sec-label,.ov-bar,.admin-section-title,.tracker-panel-title,.sandpoint-att-hd):not(#dd-main *) :is(.btn,button,a.btn):hover,
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):has(> .sec-label):not(#dd-main *) :is(.btn,button,a.btn):hover{
  background-color:var(--cx-btn-hover)!important;
  border-color:var(--cx-bar-meta)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.sec-label,.ov-bar,.admin-section-title,.tracker-panel-title,.sandpoint-att-hd):not(#dd-main *) :is(select,input:not([type=checkbox]):not([type=radio])),
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):has(> .sec-label):not(#dd-main *) :is(select,input:not([type=checkbox]):not([type=radio])){
  background-color:var(--cx-btn-bg)!important;
  color:var(--cx-bar-ink)!important;
  border:1px solid var(--cx-btn-line)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.ov-bar,.sec-label,.tracker-panel-title):not(#dd-main *) label,
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):has(> .sec-label):not(#dd-main *) label{
  color:var(--cx-bar-meta)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):has(> .sec-label):not(#dd-main *) select option,
html body:not([data-sandpoint-workspace="map"]) :is(.sec-label,.ov-bar):not(#dd-main *) select option{color:var(--cx-ink);background-color:var(--cx-card)}
/* Collapsed (quiet) bars: controls go back to normal ink. */
html body:not([data-sandpoint-workspace="map"]) :is([style*="display:flex"],[style*="display: flex"]):has(> .sec-label.sandpoint-sec-collapsed) :is(.btn,button,a.btn,select){
  color:var(--cx-ink)!important;
  border-color:var(--cx-line)!important;
}
/* The attention count pill on a bar. */
html body:not([data-sandpoint-workspace="map"]) .sandpoint-att-hd:not(#dd-main *) .sandpoint-att-count{
  background-color:var(--cx-btn-bg)!important;color:var(--cx-bar-ink)!important;border:1px solid var(--cx-btn-line)!important}

/* Tables are a different object from a section: white card, light steel header. */
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap){
  background-color:var(--cx-card)!important;
  border:1px solid var(--cx-line)!important;
  border-top:2px solid var(--cx-th-line)!important;
  border-radius:8px!important;
  box-shadow:0 1px 2px rgba(41,44,41,.04);
  margin-bottom:12px;
}
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap) thead th,
html body:not([data-sandpoint-workspace="map"]) table thead th{
  background-color:var(--cx-th)!important;
  color:var(--cx-th-ink)!important;
  border-bottom:1px solid var(--cx-th-line)!important;
  font-weight:650!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap) tbody td{
  background-color:var(--cx-card);
  border-bottom:1px solid var(--cx-grid)!important;
  color:var(--cx-ink);
}
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap) tbody tr:nth-child(even) > td{
  background-color:var(--cx-zebra)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap) tbody tr:hover > td{
  background-color:var(--cx-hover)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap) tfoot td{
  background-color:var(--cx-th)!important;
  color:var(--cx-th-ink)!important;
  border-top:1px solid var(--cx-th-line)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap) tr:is(.sandpoint-grp,.dd-ck-grp,.dd-sl-grp) > td{
  background-color:var(--cx-grp)!important;
  color:var(--cx-grp-ink)!important;
  box-shadow:inset 3px 0 0 var(--cx-accent)!important;
  letter-spacing:.04em;
}
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap) tr.sandpoint-rowedit[data-open="1"] > td{
  background-color:var(--cx-hover)!important;
}
html body:not([data-sandpoint-workspace="map"]) :is(.tbl-wrap,.table-wrap) tr.sandpoint-rowedit-panel > td{
  background-color:var(--cx-quiet)!important;
}

/* Cards and figures sit on the paper, not in it. */
/* background-color, never the background shorthand: deal tiles carry their
   photo as an inline background-image, and the shorthand wiped it. */
html body:not([data-sandpoint-workspace="map"]) :is(.card,.tracker-panel,.tracker-toolbar,.met,.lease-year-card){
  background-color:var(--cx-card)!important;
  border:1px solid var(--cx-line)!important;
  box-shadow:0 1px 2px rgba(41,44,41,.04);
}
html body:not([data-sandpoint-workspace="map"]) .met{
  border-top:1px solid var(--cx-line)!important;
}
html body:not([data-sandpoint-workspace="map"]) .card-surface{
  background-color:var(--cx-quiet)!important;
  border:1px solid var(--cx-line)!important;
}
/* The attention list is a card under its bar, not loose text on the paper. */
html body:not([data-sandpoint-workspace="map"]) .sandpoint-att:not(#dd-main *){
  background-color:var(--cx-card)!important;border-radius:8px;border-left:1px solid var(--cx-line)!important;
}

/* ── P&L ───────────────────────────────────────────────────────────────
   The grid was never inside a .tbl-wrap, so once the work area turned to
   paper every value cell went transparent and only the sticky label column
   stayed white. The grid is now one white sheet: line items white, section
   and group bands a quiet tint, subtotals a hair darker, totals in the same
   light steel as every other table header, hairline grid lines. */
html body #page-pnl .pnl-wrap{
  background-color:var(--cx-card)!important;
  border:1px solid var(--cx-line)!important;
  border-top:2px solid var(--cx-th-line)!important;
  border-radius:8px;
  box-shadow:0 1px 2px rgba(41,44,41,.04);
}
html body #page-pnl .pnl-tbl{background-color:var(--cx-card)}
html body #page-pnl .pnl-tbl :is(td,th){border-color:var(--cx-grid)!important}
html body #page-pnl .pnl-tbl td,
html body #page-pnl .pnl-tbl td.col-label{background-color:var(--cx-card)}
html body #page-pnl .pnl-tbl thead th{border-bottom:1px solid var(--cx-th-line)!important}
html body #page-pnl .pnl-tbl tr.pnl-section-hdr > td,
html body #page-pnl .pnl-tbl td.col-label.section-row{
  background-color:var(--cx-quiet)!important;color:var(--cx-muted)}
html body #page-pnl .pnl-tbl tr.pnl-grp-hdr > td{background-color:var(--cx-card)!important}
html body #page-pnl .pnl-tbl tr.pnl-grp-tot > td,
html body #page-pnl .pnl-tbl tr.pnl-subtotal > td{background-color:var(--cx-zebra)!important;color:var(--cx-ink)}
html body #page-pnl .pnl-tbl tr.pnl-total-row > td{background-color:var(--cx-th)!important;color:var(--cx-th-ink)!important}
html body #page-pnl .pnl-tbl tr.pnl-grand-row > td{background-color:var(--cx-quiet)!important;color:var(--cx-ink)}
html body #page-pnl .pnl-tbl tr.pnl-cfad-row > td{background-color:var(--cx-th)!important;color:var(--cx-th-ink)!important}
html body #page-pnl .pnl-tbl tr.pnl-addrow > td{background-color:var(--cx-card)!important}
html body #page-pnl .pnl-tbl :is(td,td.num).pnl-neg{color:var(--red-text)!important}
html body #page-pnl .pnl-tbl tr:not(.pnl-section-hdr):not(.pnl-subtotal):not(.pnl-total-row):not(.pnl-cfad-row):not(.pnl-grand-row):not(.pnl-grp-tot):hover > td{background-color:var(--cx-hover)!important}
html body #page-pnl .pnl-tbl .pnl-month-collapsed{background-color:var(--cx-quiet)!important}

/* Jump chips (AM). The one you are on is filled. */
html body:not([data-sandpoint-workspace="map"]) .sandpoint-jump{
  background-color:var(--cx-canvas)!important;
  border:0!important;
  border-bottom:1px solid var(--cx-line)!important;
  box-shadow:0 6px 6px -6px rgba(41,44,41,.18);
}
html body:not([data-sandpoint-workspace="map"]) .sandpoint-jump button{
  background-color:var(--cx-card)!important;
  color:var(--cx-ink)!important;
  border:1px solid var(--cx-line)!important;
  box-shadow:none!important;
}
html body:not([data-sandpoint-workspace="map"]) .sandpoint-jump button.on{
  background-color:var(--cx-strong)!important;
  color:var(--cx-strong-ink)!important;
  border-color:var(--cx-strong)!important;
}

/* Pipeline columns read as separate stacks. Cards inside them are paper. */
html body:not([data-sandpoint-workspace="map"]) #board .col{
  background-color:var(--cx-card)!important;
  border:1px solid var(--cx-line)!important;
  border-top:2px solid var(--cx-th-line)!important;
}
html body:not([data-sandpoint-workspace="map"]) .deal-card{
  background-color:var(--cx-canvas)!important;
  border:1px solid var(--cx-line)!important;
}

@media print{
  html body:not([data-sandpoint-workspace="map"]) :is(.content,#dd-main,.app-shell){background:#fff!important}
  html body:not([data-sandpoint-workspace="map"]) :is(.sec-label,.tracker-panel-title){
    background:#fff!important;color:#000!important;border-color:#999!important}
  html body #page-pnl .pnl-tbl :is(td,th){background:#fff!important}
}

/* v35.1: the "Due in 2 months" card used --gray-bg, nearly the page color,
   so it vanished into the background. It now uses the Cards and tables
   color (Admin > Appearance) with the card border, like the KPI tiles. */
html body:not([data-sandpoint-workspace="map"]) .due-card.gray{
  background-color:var(--cx-card)!important;
  border:1px solid var(--cx-line)!important;
}

/* v35.1: "Things needing attention" shows only on Dashboard, Open Items
   and Compliance & Recurring. Hidden on every other Asset Management page. */
html body:not(:has(#page-dashboard.active, #page-tasks.active, #page-compliance.active)) .content > [data-sandpoint-attention]{
  display:none!important;
}
