/* MGO Payneos Enterprise Light Stabil + Color | V2.7.9
 * First-party, locally hosted, additive CSS only. Existing module DOM,
 * form behavior, API calls, DB and CRON are not changed by this stylesheet.
 * Loaded AFTER app.css, dynamics.css and enterprise.css.
 */
:root {
  --mgo-primary:#235fcd;
  --mgo-primary-hover:#184aa7;
  --mgo-primary-tint:#eaf2ff;
  --mgo-ink:#203650;
  --mgo-muted:#60748c;
  --mgo-outline:#dce6f2;
  --mgo-field:#becfe2;
  --mgo-page:#f3f7fd;
  --mgo-sidebar:#fff;
  --mgo-card:#fff;
  --mgo-shadow:0 2px 5px rgba(29,56,91,.035),0 10px 26px rgba(29,56,91,.045);
  --navy:#163a70;
  --navy2:#1b5391;
  --blue:#235fcd;
  --blue2:#184aa7;
  --canvas:#f3f7fd;
  --stroke:#dce6f2;
  --surface:#fff;
  --shadow:var(--mgo-shadow);
}
/* Reserve the document scrollbar slot on every route. This prevents the
 * 1-column viewport-width hop between short and long screens. */
html { scroll-behavior:auto; scrollbar-gutter:stable; overflow-y:scroll; }
body { background:var(--mgo-page); overflow-x:clip; }
.dashboard .shell { min-width:0; }
.dashboard .workspace { min-width:0; }
.dashboard .content { width:100%; box-sizing:border-box; min-width:0; max-width:1840px; }
.dashboard .content > *, .dashboard .prod-dashboard, .dashboard .prod-view-pair,
.dashboard .two-col, .dashboard .stats-grid, .dashboard .prod-dash-grid,
.dashboard .prod-dash-kpis { min-width:0; }
.dashboard .topbar { background:#fff; border-bottom:1px solid #dce7f4; box-shadow:0 2px 14px rgba(20,70,124,.045); }
.dashboard .topbar::before { height:3px; background:linear-gradient(90deg,#214c94 0%,#2e84e5 40%,#13a992 73%,#f0b34a 100%); }
.d365-header-identity { min-width:0; }
.dashboard .d365-appgrid { background:#e7f1ff; color:#245fbd; }
.dashboard .top-actions .pill.pale { background:#eaf8ef; border-color:#cce8d8; color:#1a7b4f; }
.dashboard .mgo-clock { border-color:#e0e8f2; }
.dashboard .mgo-clock-label { color:#6684a5; }
.dashboard .mgo-clock-time { color:#1d4b82; }
.dashboard .workspace-menu-trigger:focus-visible { outline-offset:2px; }
/* FIXED NAV SHELL: brand, search and profile remain in place;
 * ONLY the link list scrolls. .sidebar already has position:fixed. */
.dashboard .sidebar {
  position:fixed; top:64px; bottom:0; left:0; width:264px;
  height:calc(100dvh - 64px); max-height:calc(100dvh - 64px);
  display:flex; flex-direction:column; overflow:hidden;
  background:#fff; border-right:1px solid #dbe6f2;
  box-shadow:1px 0 0 rgba(49,94,150,.02);
  scrollbar-width:auto;
}
.dashboard .sidebar-top { flex:0 0 auto; padding:15px 17px 12px; background:#fff; border-bottom:1px solid #edf1f7; }
.dashboard .sidebar .brand { line-height:1.2; }
.dashboard .sidebar .environment { margin-top:10px; padding:7px 9px; }
.dashboard .mgo-nav-search { flex:0 0 auto; padding:10px 11px 9px; border-bottom:1px solid #edf2f8; background:#fff; }
.dashboard .mgo-nav-search-field { background:#f4f8ff; border-color:#dfe9f5; }
.dashboard .mgo-nav-search-field:focus-within { background:white; border-color:#81b0ef; }
.dashboard .nav {
  flex:1 1 auto; min-height:0; height:auto; padding:7px 9px 16px;
  overflow-x:hidden; overflow-y:auto;
  overscroll-behavior-y:contain; scroll-behavior:auto;
  scrollbar-gutter:stable; scrollbar-width:thin;
  scrollbar-color:#bfcfe4 transparent;
  overflow-anchor:none;
}
.dashboard .nav::-webkit-scrollbar { width:7px; }
.dashboard .nav::-webkit-scrollbar-thumb { background:#c3d5eb; border:2px solid transparent; background-clip:padding-box; border-radius:9px; }
.dashboard .nav-label,.dashboard .nav-section { flex:0 0 auto; padding:12px 12px 7px; font-size:10px; color:#6685a4; }
.dashboard .nav-label:first-child { color:#2364ba; }
.dashboard .nav-label.space-top,.dashboard .nav-section.space-top { color:#087b80; border-color:#e8eff6; padding-top:17px; margin-top:9px; }
.dashboard .nav-link.prod-nav-link,.dashboard .nav-link.prod-nav-link.prod-main-link {
  height:59px; min-height:59px; max-height:59px; flex:0 0 59px;
  padding:7px 9px; margin:2px 0; gap:10px; border-radius:9px;
  align-items:center; overflow:hidden; box-sizing:border-box;
  transition:background-color .14s,border-color .14s,color .14s;
}
.dashboard .nav-link.prod-nav-link .nav-copy { min-width:0; flex:1; gap:2px; justify-content:center; }
.dashboard .nav-link.prod-nav-link .nav-friendly {
  font-size:11.5px; line-height:1.18; font-weight:650;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; overflow-wrap:anywhere;
}
.dashboard .nav-link.prod-nav-link .nav-technical {
  font-size:9.5px; line-height:1.2; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; max-width:100%;
}
.dashboard .nav-link.prod-nav-link .nav-icon { flex:0 0 21px; width:21px; height:21px; }
.dashboard .nav-link.prod-nav-link.active { background:#e6f0ff; border-color:#cbdff7; color:#164f9e; box-shadow:inset 3px 0 #2f78d3; }
.dashboard .nav-link.prod-nav-link:hover:not(.active) { background:#f2f7ff; color:#144f90; }
.dashboard .sidebar-bottom {
  flex:0 0 auto; margin:0 12px; padding:10px 7px 13px;
  background:#fff; border-top:1px solid #e7edf5;
}
.dashboard .mini-profile .avatar { width:30px; height:30px; flex:none; }
.dashboard .mini-profile small { font-size:10px; }
.dashboard .logout { padding:6px 0 0; }
/* Harmonised cards and data widgets: fixed grid definition / bounded content. */
.dashboard .page-heading { margin-bottom:15px; min-height:68px; }
.dashboard .page-heading h1 { font-size:24px; color:#173b70; }
.dashboard .eyebrow { color:#2673bc; }
.dashboard .page-chip { background:#eff6ff; border-color:#d6e5fa; color:#245b9e; }
.dashboard .panel,.dashboard .stat-card,.dashboard .prod-dash-card,.dashboard .prod-kpi {
  border-color:#dfe8f4; box-shadow:var(--mgo-shadow); border-radius:12px;
}
.dashboard .panel,.dashboard .prod-dash-card { min-width:0; }
.dashboard .panel-header { min-width:0; }
.dashboard .stat-card { border-top:3px solid #2379d1; }
.dashboard .stat-card:nth-child(2) { border-top-color:#12a48c; }
.dashboard .stat-card:nth-child(3) { border-top-color:#8259d0; }
.dashboard .stat-card:nth-child(4) { border-top-color:#e1a12b; }
.dashboard .stat-card::before { display:none; }
.dashboard .stat-card strong { color:#204c83; }
.dashboard .stat-card:nth-child(2) strong { color:#14846f; }
.dashboard .stat-card:nth-child(3) strong { color:#6750a9; }
.dashboard .stat-card:nth-child(4) strong { color:#aa7921; }
.dashboard .prod-kpi { position:relative; overflow:hidden; border-top:3px solid #2779d6; min-height:135px; }
.dashboard .prod-kpi:nth-child(2) { border-top-color:#13a58b; }
.dashboard .prod-kpi:nth-child(3) { border-top-color:#825cce; }
.dashboard .prod-kpi:nth-child(4) { border-top-color:#e4a43d; }
.dashboard .prod-kpi strong { color:#2260a7; font-size:30px; }
.dashboard .prod-kpi:nth-child(2) strong { color:#148974; }
.dashboard .prod-kpi:nth-child(3) strong { color:#694fb0; }
.dashboard .prod-kpi:nth-child(4) strong { color:#b87e22; }
.dashboard .prod-kpi:hover { border-color:#94bbe8; box-shadow:0 7px 22px rgba(33,104,186,.09); }
.dashboard .prod-dash-card-title { min-height:33px; }
.dashboard .prod-dash-head { border-bottom:1px solid #e7edf7; padding-bottom:17px; }
.dashboard .prod-dash-head h2 { font-size:21px; color:#254c7e; }
.dashboard .prod-dash-pill { color:#157d55; background:#eaf8ef; }
.dashboard .prod-bar-track { background:#e9f0f9; }
.dashboard .prod-bar-fill { background:linear-gradient(180deg,#40a3ee,#275fd0); }
.dashboard .prod-donut { background:conic-gradient(#2575d4 0 calc(var(--ok)*1%),#df5457 calc(var(--ok)*1%) calc((var(--ok) + var(--fail))*1%),#efa838 calc((var(--ok) + var(--fail))*1%) calc((var(--ok) + var(--fail) + var(--pending))*1%),#e3eaf4 calc((var(--ok) + var(--fail) + var(--pending))*1%) 100%); }
.dashboard .pd-ok { background:#2777d2; }
.dashboard .pd-fail { background:#d95558; }
.dashboard .pd-pending { background:#e8a139; }
.dashboard .pd-other { background:#d9e3ef; }
.dashboard .prod-dash-quick a { background:#f3f8ff; border-color:#dbe7f5; color:#205894; border-radius:9px; }
.dashboard .prod-dash-quick a:nth-child(2) { background:#edfaf6; border-color:#cee9df; color:#16816f; }
.dashboard .prod-dash-quick a:nth-child(3) { background:#fff7eb; border-color:#f3dfbe; color:#99611f; }
.dashboard .prod-dash-quick a:nth-child(4) { background:#f3f1ff; border-color:#dfd8f4; color:#6d50a7; }
.dashboard .prod-dash-quick a:hover { filter:brightness(.98); }
.dashboard .btn.primary { background:#2365c5; border-color:#2365c5; }
.dashboard .btn.primary:not(:disabled):hover { background:#174fa2; border-color:#174fa2; }
.dashboard .btn.outline { border-color:#cbdaf0; color:#26598c; }
.dashboard .status.good { background:#e8f8f0; color:#137349; }
.dashboard .status.warn { background:#fff4d9; color:#916012; }
.dashboard .status.bad { background:#ffecee; color:#b62945; }
.dashboard .table-wrap { min-width:0; max-width:100%; overflow:auto; overscroll-behavior-x:contain; }
.dashboard .table-wrap th { background:#f0f6fe; border-bottom-color:#dce8f6; }
.dashboard .table-wrap tbody tr:hover { background:#edf6ff; }
.dashboard .notice.blue { background:#eaf4ff; border-color:#cfe2fb; }
.dashboard .notice.warning { background:#fff6e8; border-color:#f4e0bb; }
.dashboard .prod-registry-bulkbar { background:#f1f7ff; border-color:#cee1f6; }
.dashboard .prod-dash-empty {
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  gap:9px; min-height:185px; border:1px dashed #d4e4f6;
  border-radius:12px; background:linear-gradient(140deg,#f8fbff,#f2f7fe);
  padding:20px; text-align:center; color:#607a99;
}
.dashboard .prod-dash-empty::before {
  content:' '; width:36px; height:36px; border:2px solid #a9c9ee;
  border-radius:12px; background:radial-gradient(circle at 60% 45%,#4f94dc 0 4px,transparent 5px),linear-gradient(135deg,#e4f3ff,#f5faff);
}
.dashboard .prod-dash-empty strong { font-size:13px; color:#265580; }
.dashboard .prod-dash-empty small { max-width:330px; font-size:11px; color:#7c91a9; }
/* Self-contained authentication / install palette. */
.login-card,.install-card { border-top:4px solid #2b73ca; }
.auth-bg { background:radial-gradient(circle at 11% 10%,rgba(183,222,255,.52),transparent 45%),linear-gradient(145deg,#eef5ff,#fcfdff 55%,#eaf6f5); }
/* Keep layout correct in narrow widths and preserve mobile drawer behavior. */
@media(max-width:1100px) {
  .dashboard .sidebar { width:242px; }
  .dashboard .workspace { margin-left:242px; }
  .dashboard .content { padding-left:20px; padding-right:20px; }
}
@media(max-width:760px) {
  html { scrollbar-gutter:auto; }
  .dashboard .sidebar {
    top:60px; bottom:0; width:min(288px,89vw); left:0;
    height:calc(100dvh - 60px); max-height:calc(100dvh - 60px);
    transform:translateX(-105%);
  }
  .dashboard .sidebar.open { transform:translateX(0); }
  .dashboard .workspace { margin-left:0; }
  .dashboard .page-heading { min-height:0; }
  .dashboard .prod-dash-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard .prod-kpi { min-height:118px; }
}
@media(max-width:570px) {
  .dashboard .sidebar { width:min(288px,91vw); }
  .dashboard .prod-dash-quick { grid-template-columns:1fr; }
  .dashboard .prod-dash-card-title { min-height:0; }
  .dashboard .prod-dash-empty { min-height:145px; }
}
@media(prefers-reduced-motion:reduce) {
  .dashboard .sidebar, .dashboard .nav-link, .dashboard .panel, .dashboard .btn { transition:none!important; }
}
