/* Decisions46/47: palettes change colour only. Caffeine remains the default. */
/* Google Fonts Fraunces v38 subsets with its own unicode ranges: a browser fetches a subset only when text needs it, so names in
   Polish, Turkish, Czech, Romanian or Vietnamese stay in one typeface. */
@font-face{font-family:"Fraunces Soft";font-style:normal;font-weight:100 900;font-display:swap;src:url(/app/fonts/fraunces-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Fraunces Soft";font-style:normal;font-weight:100 900;font-display:swap;src:url(/app/fonts/fraunces-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces Soft";font-style:normal;font-weight:100 900;font-display:swap;src:url(/app/fonts/fraunces-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root,.jv-app{--jv-font:"Fraunces Soft",Georgia,serif;--jv-serif:var(--jv-font);font-optical-sizing:auto;font-variation-settings:"SOFT" 100,"WONK" 0}
.jv-app{--jv-selected-text:var(--jv-text)}
.jv-app button,.jv-app input,.jv-app textarea,.jv-app select{font-variation-settings:inherit;font-optical-sizing:auto}
.jv-app h1,.jv-app h2,.jv-app h3,.jv-app h4,.jv-app .jv-brand strong,.jv-app .jv-breadcrumb strong{font-weight:550}
.jv-app .jv-main>.jv-route h2{font-weight:550}
.jv-app code,.jv-app pre,.jv-app .mono,.jv-app .jv-code,.jv-app .jv-diff-row{font-family:var(--jv-mono);font-variation-settings:normal}
.jv-app[data-palette="mocha"][data-theme="light"]{
  --jv-bg:#f1f0e5;--jv-surface:#f1f0e5;--jv-surface-2:#e4c7b8;--jv-surface-3:#baab92;
  --jv-sidebar:#ebd6cb;--jv-panel-bg:#ebd6cb;--jv-text:#56453f;--jv-text-2:#56453f;
  --jv-text-muted:#77574e;--jv-text-subtle:#77574e;--jv-unknown:#77574e;
  --jv-border:#baab92;--jv-border-strong:#a28777;--jv-input-border:#927564;
  --jv-accent:#785647;--jv-accent-text:#fff;--jv-accent-soft:rgba(109,76,61,.12);--jv-btn:#956b58;--jv-on-btn:#fff;
  --jv-hover:#e4c7b8;--jv-selected:#c39e88;--jv-selected-text:#2d2521;
  --jv-ok:#255831;--jv-warn:#654104;--jv-bad:#842b23;
  --jv-shadow:0 16px 48px rgba(86,69,63,.10),0 2px 6px rgba(86,69,63,.04);
}
.jv-app[data-palette="mocha"][data-theme="dark"]{
  /* Owner correction: espresso depth and cream foregrounds, not a sepia wash. */
  --jv-bg:#1b1715;--jv-surface:#29221e;--jv-surface-2:#362b25;--jv-surface-3:#49382e;
  --jv-sidebar:#141110;--jv-panel-bg:#141110;--jv-text:#f7f3ed;--jv-text-2:#e8ded5;
  --jv-text-muted:#d5c6ba;--jv-text-subtle:#bbac9f;--jv-unknown:#bbac9f;
  --jv-border:#493a31;--jv-border-strong:#705a49;--jv-input-border:#927b69;
  --jv-accent:#c39e88;--jv-accent-text:#2d2521;--jv-accent-soft:rgba(213,178,155,.12);--jv-btn:#c39e88;--jv-on-btn:#2d2521;
  --jv-hover:#3e3028;--jv-selected:#443329;--jv-selected-text:#f6e2d1;
  --jv-ok:#a5dfb4;--jv-warn:#f4cf85;--jv-bad:#ffb3a9;
}
.jv-app[data-palette="azure"][data-theme="light"]{
  --jv-bg:#f1f1f1;--jv-surface:#f5f8fa;--jv-surface-2:#dee6ed;--jv-surface-3:#dce3e9;
  --jv-sidebar:#eef2f5;--jv-panel-bg:#eef2f5;--jv-text:#29323d;--jv-text-2:#464e53;
  --jv-text-muted:#696d6e;--jv-text-subtle:#696d6e;--jv-unknown:#696d6e;
  --jv-border:#d4dadb;--jv-border-strong:#a7adb4;--jv-input-border:#81878e;
  --jv-accent:#3170aa;--jv-accent-text:#fff;--jv-accent-soft:rgba(52,119,182,.12);--jv-btn:#3477b6;--jv-on-btn:#fff;
  --jv-hover:#dce3e9;--jv-selected:#dce3e9;--jv-selected-text:#343434;
  --jv-ok:#236339;--jv-warn:#724905;--jv-bad:#a12c24;
  --jv-shadow:0 16px 48px rgba(41,50,61,.10),0 2px 6px rgba(41,50,61,.04);
}
.jv-app[data-palette="azure"][data-theme="dark"]{
  --jv-bg:#111111;--jv-surface:#242526;--jv-surface-2:#191a1b;--jv-surface-3:#2e2f30;
  --jv-sidebar:#1d1e1f;--jv-panel-bg:#161718;--jv-text:#b6bbc3;--jv-text-2:#b6bbc3;
  --jv-text-muted:#a9b1b7;--jv-text-subtle:#a9b1b7;--jv-unknown:#a9b1b7;
  --jv-border:#383b3e;--jv-border-strong:#4a4e52;--jv-input-border:#818990;
  --jv-accent:#5795d9;--jv-accent-text:#0b1424;--jv-accent-soft:rgba(87,149,217,.12);--jv-btn:#5795d9;--jv-on-btn:#0b1424;
  --jv-hover:#2e2f30;--jv-selected:#2b2d2f;--jv-selected-text:#eef2f5;
  --jv-ok:#83d3a1;--jv-warn:#e2b04a;--jv-bad:#ff948b;
}
.jv-app .jv-nav a[aria-current="page"],.jv-app .jv-side-link[aria-current="page"],.jv-app .jv-conversations a[aria-current="true"],
.jv-app .jv-nav a[aria-current="page"]>.jv-icon,.jv-app .jv-side-link[aria-current="page"]>.jv-icon{color:var(--jv-selected-text)}
.jv-app .jv-appearance-fields{display:flex;flex-wrap:wrap;gap:16px}
.jv-appearance-fields label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px;max-width:300px}
.jv-app .jv-appearance select{width:100%;color:var(--jv-text)}
.jv-icon [data-v]{transform-box:fill-box;transform-origin:center}
@media(prefers-reduced-motion:reduce){.jv-icon,.jv-icon *{animation:none!important;transition:none!important}}

/* Palette changes are atomic: no card may retain the previous mode's colours. */
.jv-app[data-colour-switch="true"],.jv-app[data-colour-switch="true"] *,.jv-app[data-colour-switch="true"] *::before,.jv-app[data-colour-switch="true"] *::after{transition:none!important}
/* Dense secondary surfaces need their own foreground, not globally heavier body text. */
.jv-app[data-palette="mocha"][data-theme="light"] .jv-avatar,.jv-app[data-palette="mocha"][data-theme="light"] .jv-chip,.jv-app[data-palette="mocha"][data-theme="light"] .jv-banner{color:#3d302b}
.jv-app[data-palette="mocha"][data-theme="dark"] .jv-avatar,.jv-app[data-palette="mocha"][data-theme="dark"] .jv-chip,.jv-app[data-palette="mocha"][data-theme="dark"] .jv-banner,.jv-app[data-palette="mocha"][data-theme="dark"] .jv-btn:not([data-primary]){color:#fffaf4}
.jv-app[data-palette="azure"][data-theme="light"] .jv-chip{color:#464e53}
/* Contrast corrections belong to the tinted component, not every paragraph/icon. */
.jv-app[data-palette="mocha"][data-theme="light"]{--jv-on-muted:#6b4c43;--jv-on-dense:#3d302b}
.jv-app[data-palette="mocha"][data-theme="dark"]{--jv-on-muted:#d5c6ba;--jv-on-dense:#fffaf4}
.jv-app[data-palette="azure"][data-theme="light"]{--jv-on-muted:#5f6365;--jv-on-dense:#464e53}
.jv-app[data-palette="azure"][data-theme="dark"]{--jv-on-muted:#a9b1b7;--jv-on-dense:#eef2f5}
.jv-app:is([data-palette="mocha"],[data-palette="azure"]) :is(.jv-roster-role,.jv-source-picker[open],.jv-job-detail,.jv-approval,.jv-grant,.jv-search,.jv-planned-label,.jv-chip,.jv-chat-connection,.jv-job:hover,.jv-job[data-selected="true"],.jv-settings-row:hover,.jv-row:hover,.jv-register){--jv-text-muted:var(--jv-on-muted);--jv-text-subtle:var(--jv-on-muted);--jv-unknown:var(--jv-on-muted)}
.jv-app:is([data-palette="mocha"],[data-palette="azure"]) .jv-roster-role:hover{--jv-text:var(--jv-on-dense);--jv-text-muted:var(--jv-on-dense);--jv-text-subtle:var(--jv-on-dense);--jv-unknown:var(--jv-on-dense)}
.jv-app[data-palette="mocha"][data-theme="light"] .jv-btn:not([data-primary]),.jv-app[data-palette="mocha"] :is(.jv-memory,.jv-screens) button{color:var(--jv-on-dense)}
/* Links on tinted request cards keep their accent hue at readable contrast (Mocha and Azure light, 5.3:1). */
.jv-app[data-palette="mocha"][data-theme="light"] :is(.jv-approval,.jv-grant) a{color:#654638}
.jv-app[data-palette="azure"][data-theme="light"] :is(.jv-approval,.jv-grant) a{color:#295f93}
