@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600&family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap");
/* SmartOS makeover — "Heritage refined".
   One shared layer loaded last on every page. Delete the <link> to roll back. */

:root{
  --mo-green:#1a3e2f;
  --mo-green-deep:#122d22;
  --mo-gold:#c9953a;
  --mo-sidebar-w:224px;
  --mo-brand-h:96px;
}

/* ── Sidebar navigation (desktop only; small screens keep the wrapped pill bar) ── */
.nav-grp,.nav-resizer{display:none}

@media (min-width:901px){
  body.dashboard-mode::before{
    content:"";position:fixed;left:0;top:0;bottom:0;width:var(--mo-sidebar-w);
    background:var(--mo-green);z-index:40;
  }
  body.dashboard-mode:has(.dashboard-screen.theme-aurora)::before{background:#0d1a14}

  body.dashboard-mode .dashboard-screen{
    margin-left:var(--mo-sidebar-w);width:calc(100% - var(--mo-sidebar-w));
  }

  /* logo sits directly on the sidebar, using the brand's dark-background version (gold rings, white text) */
  body.dashboard-mode .dashboard-brand{
    position:fixed;left:0;top:0;width:var(--mo-sidebar-w);height:var(--mo-brand-h);z-index:51;
    display:flex;align-items:center;justify-content:center;padding:12px 18px 4px;
    background:transparent;border:0;border-radius:0;box-shadow:none;
  }
  body.dashboard-mode .dashboard-brand img{
    content:url("/assets/logo-dark.png");
    height:76px;width:auto;max-width:100%;object-fit:contain;filter:none;
  }

  body .dashboard-screen .dashboard-top-nav.dashboard-nav{
    position:fixed;left:0;top:var(--mo-brand-h);bottom:0;width:var(--mo-sidebar-w);z-index:50;
    display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:1px;
    padding:0 12px 18px;overflow-y:auto;scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.2) transparent;
  }

  body.dashboard-mode .nav-resizer{
    display:block;position:fixed;top:0;bottom:0;left:calc(var(--mo-sidebar-w) - 4px);width:8px;
    cursor:col-resize;z-index:60;touch-action:none;
  }
  body.dashboard-mode .nav-resizer:hover,body.nav-resizing .nav-resizer{
    background:linear-gradient(90deg,transparent 3px,var(--mo-gold) 3px,var(--mo-gold) 5px,transparent 5px);
  }
  body.nav-resizing{user-select:none;cursor:col-resize}

  .nav-grp{
    display:block;padding:16px 10px 5px;font-size:.62rem;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;color:#8fb3a0;
  }
  .nav-grp:first-child{padding-top:6px}

  body .dashboard-screen .dashboard-top-nav.dashboard-nav button{
    display:flex;align-items:center;gap:11px;width:100%;
    background:transparent!important;border:0!important;box-shadow:none!important;
    color:#d3e0d8!important;border-radius:8px;padding:8px 10px;
    font-size:.82rem;font-weight:600;letter-spacing:0;text-transform:none;text-align:left;
    white-space:nowrap;
  }
  body .dashboard-screen .dashboard-top-nav.dashboard-nav button:hover{
    background:rgba(255,255,255,.09)!important;color:#fff!important;
  }
  body .dashboard-screen .dashboard-top-nav.dashboard-nav button.active{
    background:rgba(255,255,255,.15)!important;color:#fff!important;
    box-shadow:inset 3px 0 0 var(--mo-gold)!important;
  }

  /* one-colour line icons instead of coloured gradient discs */
  body .dashboard-screen .dashboard-top-nav.dashboard-nav .nav-icon{
    display:inline-grid!important;place-items:center;width:18px;height:18px;flex:none;
    background:none!important;box-shadow:none!important;outline:0!important;
    border-radius:0;color:inherit!important;
  }
  body .dashboard-screen .dashboard-top-nav.dashboard-nav .nav-icon svg{
    width:17px;height:17px;stroke-width:1.8;
  }
}

/* ── Shared type: one sans for UI, one serif for page headings ── */
body,button,input,select,textarea{
  font-family:"Hanken Grotesk","Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
}
h1,h2,.page-title,.tasks-header h3,.company-master-header h3,.meetings-header h3,.vault-header h3{
  font-family:"Fraunces","Cormorant Garamond",Georgia,serif;
}

/* ── Compact top bar (desktop): the nav lives in the sidebar, so the band above the page shrinks ── */
.mo-pagetitle{display:none}
@media (min-width:901px){
  body.dashboard-mode .dashboard-top-row1{padding:6px 18px;min-height:50px;align-items:center}
  body.dashboard-mode .dashboard-top-row2{padding:0;min-height:0;height:0}
  body.dashboard-mode .dashboard-body{padding-top:0}
  body.dashboard-mode .dashboard-top-left{flex:1;min-width:0;display:flex;align-items:center}
  .mo-pagetitle{
    display:block;font-family:"Fraunces","Cormorant Garamond",Georgia,serif;font-size:1.3rem;font-weight:600;
    color:var(--text,#1e1b18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
}

/* ── One style for stat tiles (dashboard KPIs and Tasks summary) ── */
body .dashboard-screen.dashboard-screen .ops-kpi-card.ops-kpi-card[data-kpi-target],
body .dashboard-screen.dashboard-screen .ops-kpi-card.ops-kpi-card,
body .dashboard-screen .alloc-summary-card.alloc-summary-card{
  background:var(--input-bg,#fff)!important;border:1px solid var(--border,#d0c9c0)!important;
  border-radius:12px!important;box-shadow:none!important;color:var(--text,#1e1b18)!important;
}
body .dashboard-screen .alloc-summary-card.alloc-summary-card *,
body .dashboard-screen .ops-kpi-card.ops-kpi-card span,
body .dashboard-screen .ops-kpi-card.ops-kpi-card small{
  color:var(--muted,#5c5651)!important;font-weight:600;
}
body .dashboard-screen .alloc-summary-card.alloc-summary-card .alloc-summary-value,
body .dashboard-screen .alloc-summary-card.alloc-summary-card .alloc-summary-value *,
body .dashboard-screen .ops-kpi-card.ops-kpi-card strong{color:var(--text,#1e1b18)!important}
body .dashboard-screen .ops-kpi-grid>.ops-kpi-card:nth-child(1) strong{color:var(--danger,#b83232)!important}
body .dashboard-screen .ops-kpi-grid>.ops-kpi-card:nth-child(2) strong{color:var(--warning,#c4680c)!important}
body .dashboard-screen .ops-kpi-grid>.ops-kpi-card:nth-child(3) strong{color:var(--success,#1d6b44)!important}

/* ── Tables: sticky header, compact rows ── */
.company-master-table-wrap,.vault-table-wrap,.alloc-table-wrap{max-height:calc(100vh - 290px);overflow:auto}
.company-master-table thead th,.vault-table thead th,.alloc-table thead th{
  position:sticky;top:0;z-index:3;background:var(--soft-bg,#eeeae3);
  box-shadow:0 1px 0 var(--border,#d0c9c0);
}
.company-master-table th,.company-master-table td,
.vault-table th,.vault-table td,
.alloc-table th,.alloc-table td{padding-top:6px!important;padding-bottom:6px!important;line-height:1.35}
.company-master-table td,.vault-table td,.alloc-table td{font-size:.82rem}

/* ── Column chooser ── */
.mo-colbar{position:relative;display:flex;justify-content:flex-end;margin:0 0 6px}
.mo-colbtn{
  border:1px solid var(--border,#d0c9c0);background:var(--input-bg,#fff);color:var(--text,#1e1b18);
  border-radius:8px;padding:5px 12px;font-size:.75rem;font-weight:700;cursor:pointer;
}
.mo-colbtn:hover{background:var(--soft-bg,#eeeae3)}
.mo-colpop{
  position:absolute;right:0;top:100%;z-index:80;min-width:210px;max-height:340px;overflow:auto;
  background:var(--input-bg,#fff);color:var(--text,#1e1b18);border:1px solid var(--border,#d0c9c0);
  border-radius:10px;padding:8px 10px;box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.mo-colpop label{display:flex;gap:8px;align-items:center;padding:4px 2px;font-size:.8rem;cursor:pointer}
.mo-colpop .mo-reset{margin-top:6px;border:0;background:none;color:var(--accent,#1a3e2f);font-weight:700;font-size:.75rem;cursor:pointer;padding:4px 2px}

/* "Delivered Work by Staff" is removed from the Tasks page (marked by makeover.js) */
.alloc-section-heading.mo-gone,
.alloc-section-heading.mo-gone + .alloc-filters-row,
.alloc-section-heading.mo-gone + .alloc-filters-row + .alloc-table-wrap{display:none!important}
