/* Quatro: original brand files, normal weights 300–700. Self-hosted. */
@font-face {
  font-family: 'Quatro';
  src: url('Quatro-Light.woff') format('woff'), url('Quatro-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Quatro';
  src: url('Quatro-Regular.woff') format('woff'), url('Quatro-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Quatro';
  src: url('Quatro-Medium.woff') format('woff'), url('Quatro-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Quatro';
  src: url('Quatro-SemiBold.woff') format('woff'), url('Quatro-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Quatro';
  src: url('Quatro-Bold.woff') format('woff'), url('Quatro-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Interface typography now belongs to web-theme.css (LuxeWave Base 1.0).
   Quatro faces remain packaged for brand/editorial compatibility. */
html { font-synthesis: none; }

/* Supplemental glyphs approved 18/10/2026. Original Quatro remains first. */
@font-face{font-family:'LuxeWave Cyrillic';src:url('NotoSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+0400-052F}
@font-face{font-family:'LuxeWave Japanese';src:url('NotoSansCJKjp-Regular.otf') format('opentype');font-weight:400;font-display:swap;unicode-range:U+3000-30FF,U+3400-9FFF,U+FF00-FFEF}
body :is(button,input,textarea,select,.MuiTypography-root,.MuiButton-root,.MuiInputBase-root,.MuiFormLabel-root,.MuiMenuItem-root,.MuiTableCell-root,.fuse-list-item-title){font-family:'Quatro','LuxeWave Cyrillic',sans-serif!important;font-synthesis:none}
body :lang(ja),html:lang(ja) body{font-family:'Quatro','LuxeWave Cyrillic','LuxeWave Japanese',sans-serif!important}
body [lang]:not(:lang(ja)){font-family:'Quatro','LuxeWave Cyrillic',sans-serif!important}

/* LuxeWave Base 1.0 — Capital & Ecosystem reference, approved 2026-10-26.
   Shared visual contract. Keep operational statuses and logo assets intact. */
@layer lw-official;
@layer lw-official {
  :root {
    --lw-font: Arial, Helvetica, 'LuxeWave Cyrillic', sans-serif;
    --lw-base-ink: #120F12;
    --lw-base-muted: #635D63;
    --lw-base-canvas: #F8F6F3;
    --lw-base-surface: #FFFFFF;
    --lw-base-line: #E5DCD3;
    --lw-base-gold: #DB9500;
    --lw-base-gold-ink: #796336;
    --lw-base-radius: 14px;
    --lw-base-shadow: 0 8px 28px #120f1209;
    --lw-base-gutter: clamp(18px, 3vw, 40px);
  }
  html, body { font-family: var(--lw-font) !important; font-synthesis: none; }
  body { font-size: 14px; line-height: 1.55 !important; }
  body :is(button,input,select,textarea,svg text,.MuiTypography-root,.MuiButton-root,.MuiInputBase-root,.MuiFormLabel-root,.MuiMenuItem-root,.MuiTableCell-root,.fuse-list-item-title,.lw-shell,.lw-header,.wordmark,.wordmark em) {
    font-family: var(--lw-font) !important; font-synthesis: none;
  }
  body :is(h1,h2,h3,h4,h5,h6,[role=heading],.MuiTypography-h1,.MuiTypography-h2,.MuiTypography-h3,.MuiTypography-h4,.MuiTypography-h5,.MuiTypography-h6,[data-typography=title],.quatro-title) {
    font-family: var(--lw-font) !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: -.025em !important;
  }
  body :is(h1,.lw-page-title,.page h1) { font-size: clamp(27px,2.4vw,32px) !important; line-height: 1.15 !important; letter-spacing: -1px !important; }
  body .MuiAppBar-root h1 { font-size: 18px !important; line-height: 1.35 !important; letter-spacing: -.3px !important; }
  body :is(.panel h2,.card h2,.MuiCard-root .MuiTypography-h6) { font-size: 17px !important; }
  body :is(.eyebrow,[class$="-eyebrow"],.hero-kicker,.lw-kicker,.brand-sub,.nav-heading,.quatro-callout,[data-typography=callout],.MuiTypography-overline,.fuse-list-subheader-text) {
    font-family: var(--lw-font) !important; font-weight: 700 !important; font-size: 10px !important; letter-spacing: .18em !important;
  }
  body :is(p,input,select,textarea,time,.MuiTypography-body1,.MuiTypography-body2,.MuiMenuItem-root,.fuse-list-item-title,.nav-link,[data-typography=name],[data-typography=location]) { font-weight: 400 !important; }
  body :is(.fuse-list-subheader-text,.nav-link.active,.fuse-list-item.active .fuse-list-item-title) { font-weight: 600 !important; }
  body :is(.kpi-value,.amount,.hero-number,.metric-box strong,.lw-stat-value) { font-family: var(--lw-font) !important; font-weight: 600 !important; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
  body :is(button,.MuiButton-root) { font-family: var(--lw-font) !important; font-weight: 600 !important; border-radius: 8px; }
  body :is(code,pre,kbd,samp,.mono) { font-family: ui-monospace,Consolas,monospace !important; }
  body :is(.MuiCard-root,.panel,.card,.kpi,.lw-base-card) {
    border-radius: var(--lw-base-radius) !important; box-shadow: var(--lw-base-shadow) !important;
    border: 1px solid var(--lw-base-line); min-width: 0;
  }
  body :is(.MuiCardContent-root,.panel,.card,.lw-base-card) { padding: 24px !important; }
  body .MuiCardContent-root:last-child { padding-bottom: 24px !important; }
  body .kpi { padding: 21px 22px !important; }
  body :is(.lw-shell,.agent-control,.page) { padding: 34px var(--lw-base-gutter) 55px !important; }
  body :is(.lw-shell,.agent-control) { background: var(--lw-base-canvas); }
  body :is(.lw-hero,.lw-page-hero,.lw-job-detail-hero) {
    border-radius: 17px !important; background: #120F12 !important; padding: 29px 32px !important; box-shadow: none !important;
  }
  body :is(.lw-hero,.lw-page-hero,.lw-job-detail-hero) :is(h2,.MuiTypography-h4) { font-size: 28px !important; }
  body :is(.MuiChip-root,.badge) { border-radius: 20px !important; font-size: 11px !important; }
  body :is(.table th,.MuiTableCell-head,.producer-table th,.qa-table th) {
    font-size: 10px !important; font-weight: 700 !important; letter-spacing: .05em; text-transform: uppercase;
  }
  body :is(.MuiTableCell-body,.table td) { font-size: 12px; padding: 12px 10px; }
  body :is(.MuiOutlinedInput-root,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { border-radius: 7px; }
  body :is(.nav-link,.fuse-list-item) { border-radius: 8px; }
  /* Navigation is lighter than action controls, as in the supplied reference. */
  body .sidebar .nav button {
    background: transparent !important; border-color: transparent !important;
    color: #D8D8D8 !important; font-weight: 400 !important; font-size: 13px;
    box-shadow: none !important; padding: 12px !important;
  }
  body .sidebar .nav button:hover { background: #292329 !important; color: white !important; }
  body .sidebar .nav button.active {
    background: linear-gradient(90deg,#db95003d,#db950017) !important; color: #FFFFFF !important; font-weight: 600 !important;
  }
  body .sidebar .wordmark { font-weight: 700 !important; letter-spacing: 2.3px; }
  body .topbar { --action-ink:#120F12; --action-surface:#FFFFFF; --action-hover:#F8F6F3; --action-border:#D8D8D8; }

  body :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--lw-base-gold); outline-offset: 3px; }
  body .lw-base-demo { max-width: 1400px; margin: auto; padding: 34px var(--lw-base-gutter); }
  .lw-base-demo { background: var(--lw-base-canvas); color: var(--lw-base-ink); }
  .lw-base-demo .lw-base-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 24px 0; }
  .lw-base-demo .lw-base-card { background: white; }
  .lw-base-demo .lw-base-hero { background: #120F12; color: white; padding: 32px; border-radius: 17px; margin: 24px 0; }
  .lw-base-demo .lw-base-hero p { color: #D8D8D8; }
  .lw-base-demo .lw-base-hero .eyebrow { color: #DB9500; }
  .lw-base-demo .lw-swatch { height: 60px; border: 1px solid #D8D8D8; border-radius: 8px; margin-bottom: 12px; }
  .lw-base-demo .lw-base-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  .lw-base-demo button { padding: 9px 13px; }
  .lw-base-demo table { width: 100%; border-collapse: collapse; text-align: left; }
  .lw-base-demo th,.lw-base-demo td { padding: 12px 10px; border-bottom: 1px solid #E5DCD3; }
  .lw-base-demo .table-wrap { overflow: auto; }
  .lw-base-demo label { display: block; margin: 12px 0 5px; }
  .lw-base-demo input,.lw-base-demo select { width: 100%; padding: 10px; border: 1px solid #D8D8D8; background: white; color: #120F12; }
  @media(max-width:860px) {
    body :is(.lw-shell,.agent-control,.page) { padding: 24px 18px 40px !important; }
    body :is(.MuiCardContent-root,.panel,.card,.lw-base-card) { padding: 20px !important; }
    body .lw-base-demo .lw-base-grid { grid-template-columns: 1fr; }
    body :is(.lw-hero,.lw-page-hero,.lw-job-detail-hero) { padding: 24px !important; }
  }
  @media(prefers-reduced-motion:reduce) { body :is(button,a,.MuiCard-root) { transition: none !important; } }
}

/* Canonical sidebar: main dashboard reference approved 2026-10-26. */
@layer lw-official {
 body .lw-sidebar {box-sizing:border-box;width:272px!important;max-width:calc(100vw - 44px)!important;padding:0!important;background:linear-gradient(162deg,#292329 0%,#120F12 52%,#120F12 100%)!important;color:#D8D8D8;border-right:1px solid #e5dcd31a!important;overflow-y:auto;overscroll-behavior:contain;}
 body .lw-nav-brand {box-sizing:border-box;display:flex;align-items:center;gap:12px;min-height:92px;padding:16px!important;border-bottom:1px solid #ffffff1a;color:#fff!important;text-decoration:none!important;flex-shrink:0;}
 body .lw-nav-brand img {width:44px;height:44px;flex:0 0 44px;}
 body .lw-nav-brand>span {display:flex;flex-direction:column;min-width:0;}
 body .lw-nav-brand strong {font:400 15px/1.35 var(--lw-font)!important;white-space:nowrap;letter-spacing:0!important;color:#fff!important;}
 body .lw-nav-brand small {display:block;font:700 10px/1.5 var(--lw-font)!important;letter-spacing:.18em!important;color:#817a81!important;margin:2px 0 0!important;}
 body .lw-nav-brand .lw-nav-version {font-size:10px!important;font-weight:400!important;letter-spacing:0!important;color:#D8D8D8!important;margin:0!important;}
 body .lw-nav-list {display:flex!important;flex-direction:column;gap:4px!important;padding:12px 8px!important;margin:0!important;}
 body .lw-sidebar .lw-nav-heading {font:700 10px/1.5 var(--lw-font)!important;letter-spacing:.18em!important;color:#817a81!important;text-transform:uppercase;padding:8px!important;margin:18px 0 12px!important;}
 body .lw-sidebar .lw-nav-item {box-sizing:border-box;position:relative;display:flex;align-items:center;gap:10px;min-height:44px;width:100%;padding:10px 8px!important;margin:0!important;background:transparent!important;border:1px solid transparent!important;border-radius:7px!important;box-shadow:none!important;color:#D8D8D8!important;font:400 13px/1.4 var(--lw-font)!important;letter-spacing:0!important;text-align:left;text-decoration:none!important;transform:none!important;cursor:pointer;}
 body .lw-sidebar .lw-nav-item svg {width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#817a81;}
 body .lw-sidebar .lw-nav-item:hover {background:#ffffff0a!important;color:#fff!important;}
 body .lw-sidebar .lw-nav-item:is(.active,[aria-current]) {background:linear-gradient(90deg,#db95003d,#db950017)!important;border-color:#db950024!important;color:#fff!important;font-weight:600!important;}
 body .lw-sidebar .lw-nav-item:is(.active,[aria-current])::before {content:'';position:absolute;left:-1px;top:8px;bottom:8px;width:3px;border-radius:3px;background:#DB9500;}
 body .lw-sidebar .lw-nav-item:is(.active,[aria-current]) svg {color:#E5DCD3;}
 body .lw-sidebar .sidebar-bottom {margin:20px 16px;padding:16px 0;color:#a59da5;}
 body .lw-sidebar .sidebar-bottom strong {color:#D8D8D8;}
 body.lw-nav-layout {margin:0;padding-left:272px!important;min-width:320px;}
 body.lw-nav-layout>.lw-sidebar {position:fixed;inset:0 auto 0 0;height:100dvh;z-index:60;}
 body.lw-nav-layout>main {width:100%;min-width:0;box-sizing:border-box;}
 body .lw-mobile-bar,body .lw-nav-close {display:none!important;}
 body .lw-nav-overlay[hidden] {display:none!important;}
 body .lw-nav-overlay {position:fixed;inset:0;z-index:55;width:100%;height:100%;background:#120f1294!important;border:0!important;border-radius:0!important;}
 html[data-lw-capital] .app {grid-template-columns:272px minmax(0,1fr)!important;}
 html[data-lw-capital] .lw-sidebar {height:100dvh;}
 @media(max-width:860px) {
  body.lw-nav-layout {padding-left:0!important;}
  body.lw-nav-layout>.lw-sidebar {transform:translateX(-100%);visibility:hidden;}
  body.lw-nav-layout.lw-menu-open>.lw-sidebar {transform:translateX(0);visibility:visible;}
  body.lw-menu-open {overflow:hidden;}
  body .lw-mobile-bar {display:flex!important;align-items:center;gap:16px;padding:12px 16px!important;position:sticky;top:0;z-index:40;background:#fff!important;color:#120F12;border-bottom:1px solid #E5DCD3;font-size:11px;}
  body .lw-nav-close {display:block!important;margin:8px 16px 0!important;align-self:flex-end;padding:8px 12px!important;background:transparent!important;border:1px solid #ffffff33!important;color:#D8D8D8!important;}
  html[data-lw-capital] .lw-sidebar {visibility:hidden;}
  html[data-lw-capital] .lw-sidebar.open {visibility:visible;}
 }
 @media(min-width:801px) {body .app-shell .lw-nav-close {display:none!important;}}
}
