/* Shared Sinterjet tool theme - light touch, no logic changes */
:root{
  --sj-tool-topbar-height:58px;
  --sj-tool-viewport-height:100vh;
  --sj-tool-workspace-height:calc(var(--sj-tool-viewport-height) - var(--sj-tool-topbar-height));
  --sj-page:#000000;
  --sj-bg:#05070b;
  --sj-panel:#07101c;
  --sj-panel2:#0b1424;
  --sj-line:#204fff;
  --sj-line-soft:rgba(32,79,255,.34);
  --sj-text:#f5f7fb;
  --sj-muted:#9aa7b9;
  --sj-blue:#4d6bff;
  --sj-app-bg:#03070c;
  --sj-app-bg-deep:#020509;
  --sj-app-workspace:#050a10;
  --sj-app-surface:rgba(15,23,34,.94);
  --sj-app-surface-solid:#111a27;
  --sj-app-surface-raised:rgba(16,25,38,.98);
  --sj-app-surface-soft:#162131;
  --sj-app-surface-hover:#1d2b3e;
  --sj-app-field:#101925;
  --sj-app-border:rgba(151,174,204,.14);
  --sj-app-border-strong:rgba(151,174,204,.27);
  --sj-app-blue:#3d4bbb;
  --sj-app-blue-bright:#5868ff;
  --sj-app-blue-soft:rgba(82,100,255,.17);
  --sj-app-orange:#ff7a32;
  --sj-app-green:#22a06b;
  --sj-app-amber:#d98b20;
  --sj-app-red:#e05252;
  --sj-app-shadow-lg:0 22px 70px rgba(0,0,0,.42),0 3px 12px rgba(0,0,0,.24);
  --sj-app-shadow-sm:0 8px 26px rgba(0,0,0,.30);
  --sj-app-radius:17px;
  --sj-app-radius-sm:9px;
  --sj-app-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sj-app-text:#f7f9fc;
  --sj-app-text-2:#bac5d4;
  --sj-app-text-3:#8b9cb0;
  --sj-brand-blue:#3d4bbb;
  --sj-brand-blue-bright:#6272e8;
  --sj-brand-glow:rgba(61,75,187,.28);
  --sj-graph-major:rgba(98,114,232,.060);
  --sj-graph-minor:rgba(98,114,232,.031);
}
@supports(height:100dvh){:root{--sj-tool-viewport-height:100dvh;}}
html{background:var(--sj-page)!important;}
body.sj-tool:not(.sj-build-studio-ux),
body.sj-tool:not(.sj-build-studio-ux) button,
body.sj-tool:not(.sj-build-studio-ux) input,
body.sj-tool:not(.sj-build-studio-ux) select,
body.sj-tool:not(.sj-build-studio-ux) textarea{
  font-family:Arial, Helvetica, sans-serif!important;
}
body.sj-tool:not(.sj-build-studio-ux){
  background:var(--sj-page)!important;
  color:var(--sj-text)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:auto;
}
.sj-tool-topbar{
  min-height:34px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px clamp(14px,4vw,44px);
  background:#ffffff;
  color:#111111;
  border-bottom:1px solid #e8e8e8;
  position:sticky;
  top:0;
  z-index:5000;
  grid-column:1 / -1;
}
.sj-home{display:inline-flex;align-items:center;text-decoration:none;color:inherit;line-height:0;}

.sj-quick-nav{display:flex;align-items:center;gap:4px;margin-left:12px;min-width:0;overflow:hidden;}
.sj-quick-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 9px;border-radius:999px;color:#111;text-decoration:none;font-size:10px;font-weight:800;white-space:nowrap;line-height:1;}
.sj-quick-nav a:hover,.sj-quick-nav a.active{background:#e5e5e5;}
@media(max-width:720px){.sj-quick-nav{display:none;}}
.sj-word{font-weight:700!important;letter-spacing:.01em;}
body.sj-tool:not(.sj-build-studio-ux) h1{font-family:Arial, Helvetica, sans-serif!important;font-weight:400!important;letter-spacing:0!important;}
body.sj-tool:not(.sj-build-studio-ux) h1 .sj-word{font-weight:700!important;}
body.sj-tool:not(.sj-build-studio-ux) button{
  border-color:rgba(32,79,255,.38)!important;
  background:linear-gradient(180deg, rgba(47,91,255,.20), rgba(47,91,255,.08))!important;
  color:var(--sj-text)!important;
  box-shadow:none!important;
}
body.sj-tool:not(.sj-build-studio-ux) button:hover{border-color:rgba(71,117,255,.70)!important;filter:none!important;}
body.sj-tool:not(.sj-build-studio-ux) input,
body.sj-tool:not(.sj-build-studio-ux) select,
body.sj-tool:not(.sj-build-studio-ux) textarea{
  border-color:rgba(32,79,255,.22)!important;
}
body.sj-tool:not(.sj-build-studio-ux) input:focus,
body.sj-tool:not(.sj-build-studio-ux) select:focus,
body.sj-tool:not(.sj-build-studio-ux) textarea:focus{
  border-color:rgba(71,117,255,.72)!important;
  box-shadow:0 0 0 3px rgba(32,79,255,.13)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .panel,
body.sj-tool:not(.sj-build-studio-ux) .card,
body.sj-tool:not(.sj-build-studio-ux) .section,
body.sj-tool:not(.sj-build-studio-ux) .metric,
body.sj-tool:not(.sj-build-studio-ux) .outputCard,
body.sj-tool:not(.sj-build-studio-ux) details,
body.sj-tool:not(.sj-build-studio-ux) .controls.card,
body.sj-tool:not(.sj-build-studio-ux) .tableCard,
body.sj-tool:not(.sj-build-studio-ux) .modalCard,
body.sj-tool:not(.sj-build-studio-ux) .stat{
  border-color:rgba(32,79,255,.18)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .badge,
body.sj-tool:not(.sj-build-studio-ux) .tag,
body.sj-tool:not(.sj-build-studio-ux) .pill,
body.sj-tool:not(.sj-build-studio-ux) .rev-badge,
body.sj-tool:not(.sj-build-studio-ux) .verBadge{
  border-color:rgba(32,79,255,.30)!important;
}

/* App quick switcher is visually centered in the white bar. */
.sj-tool-topbar{position:sticky;}
.sj-tool-topbar .sj-home{position:absolute;left:clamp(14px,4vw,44px);}
.sj-tool-topbar .sj-quick-nav{position:absolute;left:50%;transform:translateX(-50%);margin-left:0;justify-content:center;overflow:visible;}
@media(max-width:720px){.sj-tool-topbar .sj-home{position:static}.sj-tool-topbar{justify-content:space-between}.sj-tool-topbar .sj-quick-nav{display:none}}

/* Tuning */
body.sj-tool-tune{background:radial-gradient(900px 360px at 20% 0%,rgba(42,75,180,.20),transparent 60%),#000!important;}
body.sj-tool-tune .panel,body.sj-tool-tune .metric{background:linear-gradient(180deg,#07101c,#050914)!important;}
body.sj-tool-tune .best{background:linear-gradient(135deg,#061126,#071a38 70%,#0a2a63)!important;border-color:rgba(32,79,255,.30)!important;}
body.sj-tool-tune .app{padding-top:16px!important;}
/* Offset */
body.sj-tool-offset{background:radial-gradient(900px 360px at 20% 0%,rgba(40,80,190,.18),transparent 60%),#000!important;}
body.sj-tool-offset .panel{background:linear-gradient(180deg,rgba(7,16,28,.96),rgba(5,9,18,.96))!important;}
body.sj-tool-offset .app{padding-top:16px!important;}
/* Profile */
body.sj-tool-profile{background:radial-gradient(1000px 440px at 20% 0%,rgba(40,80,190,.18),transparent 60%),#000!important;}
body.sj-tool-profile .card{background:linear-gradient(180deg,rgba(7,16,28,.96),rgba(5,9,18,.96))!important;}
body.sj-tool-profile header{padding-top:16px!important;}
/* Analyze */
body.sj-tool-analyze{background:radial-gradient(1000px 440px at 20% 0%,rgba(40,80,190,.18),transparent 60%),#000!important;}
body.sj-tool-analyze header,
body.sj-tool-analyze .card{background:linear-gradient(180deg,rgba(7,16,28,.96),rgba(5,9,18,.96))!important;border-color:rgba(32,79,255,.18)!important;}
body.sj-tool-analyze .wrap{padding-top:16px!important;}
/* Slice - keep original grid app working, add one top row for the logo bar */
@media(max-width:720px){
  .sj-tool-topbar{min-height:34px;padding:4px 12px;}
}

/* Saturation slicer workspace tabs */

/* Shared version pill for the app switcher bar.
   The text is populated from public/shared/portal-version.js so future portal
   bumps happen in one registry instead of being hand-edited in every app page. */
.sj-tool-version-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  padding:0 9px;
  border-radius:999px;
  background:#f2f2f2;
  color:#111111;
  border:1px solid #dedede;
  font-size:10px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.sj-tool-topbar .sj-tool-version-pill{position:absolute;right:clamp(14px,4vw,44px);}
@media(max-width:720px){.sj-tool-topbar .sj-tool-version-pill{position:static}}

/* ========================================================================== 
   Shared application visual shell
   Scope: the retained non-BuildStudio tools. BuildStudio owns its later-loaded
   application stylesheet, so this section deliberately
   excludes .sj-build-studio-ux. Keep this file presentation-only: application
   behavior and control IDs remain in each app's existing source files.
   ========================================================================== */

/* Map each legacy app's local variables onto the shared BuildStudio palette. */
body.sj-tool-profile:not(.sj-build-studio-ux){
  --bg:var(--sj-app-bg);--panel:var(--sj-app-surface-solid);--panel2:var(--sj-app-surface-soft);
  --text:var(--sj-app-text);--muted:var(--sj-app-text-2);
  --border:var(--sj-app-border);--border2:var(--sj-app-border-strong);
  --accent:var(--sj-app-blue-bright);--sel:var(--sj-app-blue-soft);
}
body.sj-tool-analyze:not(.sj-build-studio-ux){
  --bg0:var(--sj-app-bg-deep);--bg1:var(--sj-app-workspace);
  --card:var(--sj-app-surface-solid);--card2:var(--sj-app-surface-soft);
  --panel:var(--sj-app-surface);--panel2:var(--sj-app-surface-soft);
  --stroke:var(--sj-app-border);--text:var(--sj-app-text);
  --muted:var(--sj-app-text-2);--muted2:var(--sj-app-text-3);
  --blue:var(--sj-app-blue-bright);
}
body.sj-tool-tune:not(.sj-build-studio-ux),
body.sj-tool-offset:not(.sj-build-studio-ux){
  --bg:var(--sj-app-bg);--panel:var(--sj-app-surface-solid);--panel2:var(--sj-app-surface-soft);
  --text:var(--sj-app-text);--ink:var(--sj-app-text);--muted:var(--sj-app-text-2);
  --line:var(--sj-app-border-strong);--line2:var(--sj-app-border);
  --accent:var(--sj-app-blue-bright);--accent2:#20a6ca;
  --shadow:var(--sj-app-shadow-lg);--radius:var(--sj-app-radius);
}

/* Subtle lined workspace backdrop used by every retained tool. */
body.sj-tool:not(.sj-build-studio-ux){
  min-height:100vh;
  color:var(--sj-app-text)!important;
  font-family:var(--sj-app-font)!important;
  background:
    linear-gradient(rgba(151,174,204,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,174,204,.035) 1px,transparent 1px),
    radial-gradient(circle at 18% 8%,rgba(82,100,255,.12),transparent 33%),
    radial-gradient(circle at 86% 76%,rgba(32,166,202,.07),transparent 30%),
    linear-gradient(180deg,var(--sj-app-workspace) 0%,var(--sj-app-bg-deep) 100%)!important;
  background-size:32px 32px,32px 32px,auto,auto,auto!important;
  background-attachment:fixed!important;
  -webkit-font-smoothing:antialiased;
}
body.sj-tool:not(.sj-build-studio-ux) button,
body.sj-tool:not(.sj-build-studio-ux) input,
body.sj-tool:not(.sj-build-studio-ux) select,
body.sj-tool:not(.sj-build-studio-ux) textarea{font-family:var(--sj-app-font)!important;}

/* Shared application bar, visually aligned with BuildStudio without changing markup. */
body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  min-height:58px!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  padding:7px 12px!important;
  border-bottom:1px solid var(--sj-app-border)!important;
  background:rgba(5,10,17,.97)!important;
  color:var(--sj-app-text)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.018)!important;
  backdrop-filter:blur(20px) saturate(1.35)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.35)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar .sj-home{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  min-width:132px!important;
  padding:4px 5px!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar .sj-quick-nav{
  position:absolute!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  margin:0!important;
  padding:4px!important;
  overflow:visible!important;
  border:1px solid var(--sj-app-border)!important;
  border-radius:11px!important;
  background:var(--sj-app-surface-soft)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-quick-nav a{
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  border-radius:8px!important;
  color:var(--sj-app-text-2)!important;
  background:transparent!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1!important;
  text-decoration:none!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-quick-nav a:hover{
  color:var(--sj-app-text)!important;
  background:var(--sj-app-surface-hover)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-quick-nav a.active{
  color:var(--sj-app-text)!important;
  background:var(--sj-app-surface-solid)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.15),inset 0 -2px 0 var(--sj-app-blue-bright)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar .sj-tool-version-pill{
  position:static!important;
  right:auto!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 10px!important;
  border:1px solid var(--sj-app-border)!important;
  border-radius:9px!important;
  background:var(--sj-app-surface-soft)!important;
  color:var(--sj-app-text-2)!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1!important;
  text-decoration:none!important;margin-left:0!important;
}

/* Shared surfaces and content framing. */
body.sj-tool:not(.sj-build-studio-ux) .panel,
body.sj-tool:not(.sj-build-studio-ux) .card,
body.sj-tool:not(.sj-build-studio-ux) .section,
body.sj-tool:not(.sj-build-studio-ux) .metric,
body.sj-tool:not(.sj-build-studio-ux) .outputCard,
body.sj-tool:not(.sj-build-studio-ux) details,
body.sj-tool:not(.sj-build-studio-ux) .controls.card,
body.sj-tool:not(.sj-build-studio-ux) .tableCard,
body.sj-tool:not(.sj-build-studio-ux) .modalCard,
body.sj-tool:not(.sj-build-studio-ux) .stat,
body.sj-tool:not(.sj-build-studio-ux) .sw-stat{
  border-color:var(--sj-app-border)!important;
  background:linear-gradient(180deg,rgba(17,26,39,.97),rgba(9,15,24,.97))!important;
  box-shadow:var(--sj-app-shadow-sm)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .panel,
body.sj-tool:not(.sj-build-studio-ux) .card,
body.sj-tool:not(.sj-build-studio-ux) .controls.card,
body.sj-tool:not(.sj-build-studio-ux) .tableCard,
body.sj-tool:not(.sj-build-studio-ux) .modalCard{border-radius:var(--sj-app-radius)!important;}
body.sj-tool:not(.sj-build-studio-ux) .toolbar,
body.sj-tool:not(.sj-build-studio-ux) .topbar,
body.sj-tool:not(.sj-build-studio-ux) .sw-topbar,
body.sj-tool:not(.sj-build-studio-ux) .pane-header{
  border-color:var(--sj-app-border)!important;
  background:rgba(9,15,24,.82)!important;
}
body.sj-tool-analyze:not(.sj-build-studio-ux) header{
  border-color:var(--sj-app-border)!important;
  background:linear-gradient(180deg,rgba(17,26,39,.97),rgba(9,15,24,.97))!important;
  box-shadow:var(--sj-app-shadow-sm)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .filePickerShell,
body.sj-tool:not(.sj-build-studio-ux) .formula,
body.sj-tool:not(.sj-build-studio-ux) .outputCard,
body.sj-tool:not(.sj-build-studio-ux) .alert,
body.sj-tool:not(.sj-build-studio-ux) .sw-alert,
body.sj-tool:not(.sj-build-studio-ux) .profile-status{
  border-color:var(--sj-app-border)!important;
  background:rgba(8,14,22,.76)!important;
}

/* Dark editable controls with the same quiet focus treatment as BuildStudio. */
body.sj-tool:not(.sj-build-studio-ux) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.sj-tool:not(.sj-build-studio-ux) select,
body.sj-tool:not(.sj-build-studio-ux) textarea{
  border-color:var(--sj-app-border-strong)!important;
  background:var(--sj-app-field)!important;
  color:var(--sj-app-text)!important;
  border-radius:var(--sj-app-radius-sm)!important;
  box-shadow:none!important;
}
body.sj-tool:not(.sj-build-studio-ux) input::placeholder,
body.sj-tool:not(.sj-build-studio-ux) textarea::placeholder{color:var(--sj-app-text-3)!important;}
body.sj-tool:not(.sj-build-studio-ux) select option,
body.sj-tool:not(.sj-build-studio-ux) select optgroup{
  background:var(--sj-app-surface-solid)!important;
  color:var(--sj-app-text)!important;
}
body.sj-tool:not(.sj-build-studio-ux) input:focus,
body.sj-tool:not(.sj-build-studio-ux) select:focus,
body.sj-tool:not(.sj-build-studio-ux) textarea:focus{
  border-color:var(--sj-app-blue-bright)!important;
  box-shadow:0 0 0 3px var(--sj-app-blue-soft)!important;
  outline:none!important;
}
body.sj-tool:not(.sj-build-studio-ux) input[type="checkbox"],
body.sj-tool:not(.sj-build-studio-ux) input[type="radio"]{accent-color:var(--sj-app-blue-bright)!important;}

/* Buttons retain their existing labels and actions; only their visual hierarchy changes. */
body.sj-tool:not(.sj-build-studio-ux) button{
  border-color:rgba(82,100,255,.38)!important;
  background:linear-gradient(180deg,rgba(82,100,255,.24),rgba(82,100,255,.10))!important;
  color:var(--sj-app-text)!important;
  border-radius:9px!important;
  box-shadow:none!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
body.sj-tool:not(.sj-build-studio-ux) button:hover{
  border-color:rgba(102,115,255,.72)!important;
  background:linear-gradient(180deg,rgba(102,115,255,.31),rgba(82,100,255,.14))!important;
  filter:none!important;
}
body.sj-tool:not(.sj-build-studio-ux) button.primary{
  border-color:var(--sj-app-blue-bright)!important;
  background:linear-gradient(145deg,var(--sj-app-blue-bright),var(--sj-app-blue))!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(82,100,255,.22)!important;
}
body.sj-tool:not(.sj-build-studio-ux) button.secondary,
body.sj-tool:not(.sj-build-studio-ux) button.ghost{
  border-color:var(--sj-app-border-strong)!important;
  background:var(--sj-app-surface-soft)!important;
}
body.sj-tool:not(.sj-build-studio-ux) button.danger{
  border-color:rgba(224,82,82,.42)!important;
  background:rgba(224,82,82,.14)!important;
}
body.sj-tool:not(.sj-build-studio-ux) button:disabled{opacity:.48!important;cursor:not-allowed!important;transform:none!important;}
body.sj-tool:not(.sj-build-studio-ux) .tab-btn.active,
body.sj-tool:not(.sj-build-studio-ux) button.active{
  border-color:var(--sj-app-border-strong)!important;
  background:var(--sj-app-surface-solid)!important;
  color:var(--sj-app-text)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.15),inset 0 -2px 0 var(--sj-app-blue-bright)!important;
}

/* Tables, charts, badges, and auxiliary surfaces. */
body.sj-tool:not(.sj-build-studio-ux) .table-wrap,
body.sj-tool:not(.sj-build-studio-ux) .tableWrap,
body.sj-tool:not(.sj-build-studio-ux) table{
  border-color:var(--sj-app-border)!important;
  background:rgba(7,12,19,.82)!important;
}
body.sj-tool:not(.sj-build-studio-ux) th{
  border-color:var(--sj-app-border)!important;
  background:var(--sj-app-surface-solid)!important;
  color:var(--sj-app-text-2)!important;
}
body.sj-tool:not(.sj-build-studio-ux) td{border-color:var(--sj-app-border)!important;}
body.sj-tool:not(.sj-build-studio-ux) tbody tr:hover td{background:rgba(29,43,62,.68)!important;}
body.sj-tool:not(.sj-build-studio-ux) canvas,
body.sj-tool:not(.sj-build-studio-ux) .sw-canvas{background:var(--sj-app-workspace)!important;}
body.sj-tool:not(.sj-build-studio-ux) .badge,
body.sj-tool:not(.sj-build-studio-ux) .tag,
body.sj-tool:not(.sj-build-studio-ux) .pill,
body.sj-tool:not(.sj-build-studio-ux) .rev-badge,
body.sj-tool:not(.sj-build-studio-ux) .verBadge,
body.sj-tool:not(.sj-build-studio-ux) .versionBadge{
  border-color:var(--sj-app-border-strong)!important;
  background:var(--sj-app-surface-soft)!important;
  color:var(--sj-app-text)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .subtitle,
body.sj-tool:not(.sj-build-studio-ux) .sub,
body.sj-tool:not(.sj-build-studio-ux) .hint,
body.sj-tool:not(.sj-build-studio-ux) .muted,
body.sj-tool:not(.sj-build-studio-ux) .small,
body.sj-tool:not(.sj-build-studio-ux) label{color:var(--sj-app-text-2)!important;}

@media(max-width:900px){
  body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar .sj-quick-nav a{padding:0 8px!important;}
}
@media(max-width:720px){
  body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar{
    min-height:54px!important;height:54px!important;padding:7px 10px!important;justify-content:space-between!important;
  }
  body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar .sj-home{min-width:0!important;padding:3px!important;}
  body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar .sj-quick-nav{display:none!important;}
}
/* Preserve existing semantic states after the shared surface normalization. */
body.sj-tool-profile:not(.sj-build-studio-ux) #search.filterActive{
  background:var(--sj-app-blue-soft)!important;
  border-color:var(--sj-app-blue-bright)!important;
}
body.sj-tool-tune:not(.sj-build-studio-ux) .panel.best:not(.empty):not(.inactive-selection){
  background:var(--sj-best-bg,linear-gradient(135deg,#09251b,#0f3b2b 58%,#176f50))!important;
  border-color:var(--sj-best-border,rgba(34,160,107,.55))!important;
  color:var(--sj-best-text,#f4fff9)!important;
  box-shadow:var(--sj-best-shadow,0 18px 50px rgba(34,160,107,.16))!important;
}
body.sj-tool-tune:not(.sj-build-studio-ux) .results-table tbody tr.option-row.active-option td,
body.sj-tool-tune:not(.sj-build-studio-ux) .results-table tbody tr.option-row.active-option:hover td{
  background:linear-gradient(90deg,rgba(34,160,107,.22),rgba(32,166,202,.12))!important;
  border-top-color:rgba(34,160,107,.42)!important;
  border-bottom-color:rgba(34,160,107,.42)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .alert.good,
body.sj-tool:not(.sj-build-studio-ux) .sw-alert.good,
body.sj-tool:not(.sj-build-studio-ux) .oknote{
  border-color:rgba(34,160,107,.38)!important;
  background:rgba(34,160,107,.11)!important;
  color:#bff1dc!important;
}
body.sj-tool:not(.sj-build-studio-ux) .alert.warn,
body.sj-tool:not(.sj-build-studio-ux) .sw-alert.warn,
body.sj-tool:not(.sj-build-studio-ux) .warning{
  border-color:rgba(217,139,32,.42)!important;
  background:rgba(217,139,32,.11)!important;
  color:#f4d89c!important;
}
body.sj-tool:not(.sj-build-studio-ux) .alert.bad,
body.sj-tool:not(.sj-build-studio-ux) .sw-alert.bad{
  border-color:rgba(224,82,82,.42)!important;
  background:rgba(224,82,82,.11)!important;
  color:#f6c4c4!important;
}
body.sj-tool-analyze:not(.sj-build-studio-ux) button.smallBtn.activeMeasure,
body.sj-tool-analyze:not(.sj-build-studio-ux) button.issueFilter.active,
body.sj-tool-analyze:not(.sj-build-studio-ux) button.issuesDayBtn.active{
  border-color:rgba(82,100,255,.48)!important;
  background:var(--sj-app-blue-soft)!important;
  color:var(--sj-app-text)!important;
}

/* Print rules stay last so semantic screen states never leak into reports. */
@media print{
  body.sj-tool:not(.sj-build-studio-ux){background:#fff!important;color:#000!important;}
  body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar{display:none!important;}
  body.sj-tool:not(.sj-build-studio-ux) .panel,
  body.sj-tool:not(.sj-build-studio-ux) .card,
  body.sj-tool:not(.sj-build-studio-ux) .section,
  body.sj-tool:not(.sj-build-studio-ux) .metric,
  body.sj-tool:not(.sj-build-studio-ux) .outputCard,
  body.sj-tool:not(.sj-build-studio-ux) .controls.card,
  body.sj-tool:not(.sj-build-studio-ux) .tableCard,
  body.sj-tool:not(.sj-build-studio-ux) .stat,
  body.sj-tool:not(.sj-build-studio-ux) .best,
  body.sj-tool:not(.sj-build-studio-ux) .alert,
  body.sj-tool:not(.sj-build-studio-ux) .sw-alert,
  body.sj-tool:not(.sj-build-studio-ux) .warning,
  body.sj-tool:not(.sj-build-studio-ux) .oknote,
  body.sj-tool:not(.sj-build-studio-ux) table,
  body.sj-tool:not(.sj-build-studio-ux) th{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#bbb!important;
  }
  body.sj-tool:not(.sj-build-studio-ux) input,
  body.sj-tool:not(.sj-build-studio-ux) select,
  body.sj-tool:not(.sj-build-studio-ux) textarea{background:#fff!important;color:#000!important;border-color:#aaa!important;}
}

/* ========================================================================== 
   Navigation and readability refinement
   Layout note: Presentation-only. App labels, links, controls, and behavior are
   unchanged; this layer standardizes plain-text navigation and backdrop contrast.
   ========================================================================== */
body.sj-tool:not(.sj-build-studio-ux){
  background:
    linear-gradient(rgba(151,174,204,.050) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,174,204,.050) 1px,transparent 1px),
    linear-gradient(rgba(151,174,204,.023) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,174,204,.023) 1px,transparent 1px),
    radial-gradient(circle at 18% 8%,rgba(82,100,255,.12),transparent 33%),
    radial-gradient(circle at 86% 76%,rgba(32,166,202,.07),transparent 30%),
    linear-gradient(180deg,var(--sj-app-workspace) 0%,var(--sj-app-bg-deep) 100%)!important;
  background-size:24px 24px,24px 24px,120px 120px,120px 120px,auto,auto,auto!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar .sj-quick-nav{
  border:0!important;border-radius:0!important;background:transparent!important;
  gap:12px!important;padding:0!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-quick-nav a,
body.sj-tool:not(.sj-build-studio-ux) .sj-tool-topbar .sj-tool-version-pill{
  position:relative!important;min-height:30px!important;height:30px!important;
  padding:0 2px!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:var(--sj-app-text-2)!important;
  box-shadow:none!important;font-size:10.5px!important;font-weight:740!important;
  line-height:1!important;text-decoration:none!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-quick-nav a:hover{
  background:transparent!important;color:var(--sj-app-text)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-quick-nav a.active{
  background:transparent!important;color:var(--sj-app-text)!important;
  box-shadow:inset 0 -2px 0 var(--sj-app-blue-bright)!important;
}
body.sj-tool:not(.sj-build-studio-ux) .subtitle,
body.sj-tool:not(.sj-build-studio-ux) .sub,
body.sj-tool:not(.sj-build-studio-ux) .hint,
body.sj-tool:not(.sj-build-studio-ux) .muted,
body.sj-tool:not(.sj-build-studio-ux) .small,
body.sj-tool:not(.sj-build-studio-ux) label{color:var(--sj-app-text-2)!important;}


/* ========================================================================== 
   Shared branded shell and navigation anchor
   Layout note: Presentation-only shared header and backdrop contract. The
   supplied Sinterjet mark/wordmark and print-pass motion are used here while
   each application keeps its existing controls, cards, and workflow.
   ========================================================================== */

/* Official split lockup: the mark can animate independently from the wordmark. */
.sj-home,
.portal-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0;
  line-height:0;
}
.sj-brand-mark-wrap{
  position:relative;
  width:29px;
  height:30px;
  flex:0 0 29px;
  display:grid;
  place-items:center;
  overflow:visible;
}
.sj-brand-mark{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 12px var(--sj-brand-glow));}
.sj-brand-jetline{
  position:absolute;
  left:-13%;right:-13%;top:100%;height:1px;
  background:linear-gradient(90deg,transparent,var(--sj-brand-blue-bright) 25%,var(--sj-brand-blue-bright) 75%,transparent);
  box-shadow:0 0 10px 1px var(--sj-brand-glow),0 0 4px var(--sj-brand-blue-bright);
  opacity:0;pointer-events:none;
}
.sj-brand-wordmark-wrap{position:relative;width:111px;height:18px;display:grid;align-items:center;flex:0 0 111px;overflow:hidden;}
.sj-brand-wordmark{grid-area:1/1;display:block;width:111px;height:auto;max-height:18px;object-fit:contain;object-position:left center;}
/* Brand contrast contract: light wordmark on dark surfaces, dark wordmark on light surfaces. */
.sj-brand-wordmark-for-dark{display:block;filter:none;opacity:1}
.sj-brand-wordmark-for-light{display:none;filter:none;opacity:1}
html[data-theme="dark"] .sj-brand-wordmark-for-dark{display:block!important}
html[data-theme="dark"] .sj-brand-wordmark-for-light{display:none!important}
html[data-theme="light"] .sj-brand-wordmark-for-dark{display:none!important}
html[data-theme="light"] .sj-brand-wordmark-for-light{display:block!important}

@media(prefers-reduced-motion:no-preference){
  .sj-brand-mark{clip-path:inset(100% 0 0 0);animation:sj-brand-print-layers .72s steps(9,end) .06s forwards;}
  .sj-brand-jetline{animation:sj-brand-jet-pass .72s linear .06s forwards;}
  .sj-brand-wordmark-wrap{opacity:0;translate:-7px 0;animation:sj-brand-land .42s ease-out .47s forwards;}
}
@keyframes sj-brand-print-layers{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes sj-brand-jet-pass{0%{top:100%;opacity:1}88%{opacity:1}100%{top:-7%;opacity:0}}
@keyframes sj-brand-land{to{opacity:1;translate:0 0}}

/* Use the supplied engineering-paper rhythm, with a stronger but still faint grid. */
body.sj-tool:not(.sj-build-studio-ux){
  background-color:#03070c!important;
  background-image:
    radial-gradient(55% 42% at 18% 6%,rgba(61,75,187,.14),transparent 70%),
    linear-gradient(0deg,var(--sj-graph-major) 1px,transparent 1px),
    linear-gradient(90deg,var(--sj-graph-major) 1px,transparent 1px),
    linear-gradient(0deg,var(--sj-graph-minor) 1px,transparent 1px),
    linear-gradient(90deg,var(--sj-graph-minor) 1px,transparent 1px),
    linear-gradient(180deg,var(--sj-app-workspace) 0%,var(--sj-app-bg-deep) 100%)!important;
  background-size:100% 100%,140px 140px,140px 140px,28px 28px,28px 28px,100% 100%!important;
  background-position:center top!important;
  background-attachment:fixed!important;
}

/* BuildStudio keeps application links, version details, and theme control on one right-side track. */
body.sj-build-studio-ux .sj-topbar-right{gap:12px!important;}
body.sj-build-studio-ux .sj-topbar-right .bs-theme-toggle{
  position:static!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  margin:0!important;
  flex:0 0 auto!important;
}

@media(max-width:900px){
  body.sj-tool .sj-topbar-right{gap:9px!important;}
  body.sj-tool .sj-topbar-right .sj-quick-nav{gap:9px!important;}
  body.sj-tool .sj-topbar-right .sj-quick-nav a,
  body.sj-tool .sj-topbar-right .sj-tool-version-pill{font-size:9.5px!important;}
}
@media(max-width:760px){
  :root{--sj-tool-topbar-height:58px;}
  body.sj-tool .sj-tool-topbar{height:var(--sj-tool-topbar-height)!important;min-height:var(--sj-tool-topbar-height)!important;padding:6px 10px!important;}
  body.sj-tool .sj-tool-topbar .sj-home{min-width:38px!important;}
  body.sj-tool .sj-brand-wordmark-wrap{display:none!important;}
  body.sj-tool .sj-topbar-right .sj-quick-nav{display:none!important;}
  body.sj-tool .sj-topbar-right{gap:9px!important;}
}

/* ========================================================================== 
   Portal unified page-aware application header
   All destinations live on the right-side track. The version pill belongs to
   the current page only; Portal version is therefore exclusive to the index.
   ========================================================================== */
body.sj-tool .sj-tool-topbar,
body.sj-portal-home .sj-tool-topbar{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:58px!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:7px 12px!important;
  background:rgba(5,10,17,.97)!important;
  color:#f7f9fc!important;
  border:0!important;
  border-bottom:1px solid rgba(119,145,178,.20)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.018)!important;
  backdrop-filter:blur(20px) saturate(1.35)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.35)!important;
}
body.sj-tool .sj-tool-topbar .sj-home,
body.sj-portal-home .sj-tool-topbar .sj-home{
  position:static!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  flex:0 0 auto!important;
  min-width:149px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:4px 5px!important;
  color:inherit!important;
  text-decoration:none!important;
}
body.sj-portal-home .sj-brand-mark-wrap{width:31px!important;height:32px!important;flex-basis:31px!important;}
body.sj-portal-home .sj-brand-wordmark-wrap{width:111px!important;height:18px!important;flex-basis:111px!important;}
body.sj-portal-home .sj-brand-wordmark{width:111px!important;max-height:18px!important;}
body.sj-tool .sj-topbar-right,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right{
  position:static!important;
  margin-left:auto!important;
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:11px!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body.sj-tool .sj-topbar-right .sj-quick-nav,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav{
  position:static!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:11px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body.sj-tool .sj-topbar-right .sj-quick-nav a,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav a,
body.sj-tool .sj-topbar-right .sj-tool-version-pill,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-tool-version-pill{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:auto!important;
  min-width:0!important;
  height:32px!important;
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#bac5d4!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:10.5px!important;
  font-weight:740!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
body.sj-tool .sj-topbar-right .sj-tool-version-pill,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-tool-version-pill{
  flex:0 0 auto!important;
  padding-left:10px!important;
  border-left:1px solid rgba(119,145,178,.24)!important;
  color:#f7f9fc!important;
}
body.sj-tool .sj-topbar-right .sj-quick-nav a::before,
body.sj-tool .sj-topbar-right .sj-quick-nav a::after,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav a::before,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav a::after{content:none!important;display:none!important;}
body.sj-tool .sj-topbar-right .sj-quick-nav a:hover,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav a:hover{color:#f7f9fc!important;background:transparent!important;}
body.sj-tool .sj-topbar-right .sj-quick-nav a.active,
body.sj-tool .sj-topbar-right .sj-quick-nav a[aria-current="page"],
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav a.active,
:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav a[aria-current="page"]{
  color:#f7f9fc!important;
  box-shadow:inset 0 -2px 0 var(--sj-brand-blue-bright,#6272e8)!important;
}
@media(max-width:900px){
  body.sj-tool .sj-topbar-right,:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right{gap:8px!important;}
  body.sj-tool .sj-topbar-right .sj-quick-nav,:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav{gap:8px!important;}
  body.sj-tool .sj-topbar-right .sj-quick-nav a,:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav a,
  body.sj-tool .sj-topbar-right .sj-tool-version-pill,:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-tool-version-pill{font-size:9.5px!important;}
}
@media(max-width:760px){
  body.sj-tool .sj-tool-topbar .sj-home,:is(body.sj-portal-home,body.sj-account-page) .sj-tool-topbar .sj-home{min-width:38px!important;}
  body.sj-tool .sj-brand-wordmark-wrap,:is(body.sj-portal-home,body.sj-account-page) .sj-brand-wordmark-wrap{display:none!important;}
  body.sj-tool .sj-topbar-right .sj-quick-nav,:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-quick-nav{display:none!important;}
  body.sj-tool .sj-topbar-right,:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right{gap:8px!important;}
  body.sj-tool .sj-topbar-right .sj-tool-version-pill,:is(body.sj-portal-home,body.sj-account-page) .sj-topbar-right .sj-tool-version-pill{border-left:0!important;padding-left:0!important;}
}


/* Navigation standardization.
   Non-BuildStudio tools now keep the shared app switcher next to the Sinterjet
   logo, matching BuildStudio and using the logo as the portal return action. */
body.sj-tool .sj-topbar-left{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  overflow:hidden!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-topbar-left .sj-quick-nav{
  position:static!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:min(520px,46vw)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-topbar-left .sj-quick-nav a{
  min-width:0!important;
  width:auto!important;
  padding:0 5px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.sj-tool:not(.sj-build-studio-ux) .sj-topbar-right{
  flex:0 0 auto!important;
}
@media(max-width:1460px){
  body.sj-tool:not(.sj-build-studio-ux) .sj-topbar-left{gap:7px!important;}
  body.sj-tool:not(.sj-build-studio-ux) .sj-topbar-left .sj-quick-nav{max-width:33vw!important;gap:5px!important;}
  body.sj-tool:not(.sj-build-studio-ux) .sj-topbar-left .sj-quick-nav a{font-size:9.5px!important;padding:0 3px!important;}
}
@media(max-width:1180px){
  body.sj-tool:not(.sj-build-studio-ux) .sj-topbar-left .sj-quick-nav{display:none!important;}
}
