@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(inter-ui-0.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(inter-ui-1.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(inter-ui-2.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(inter-ui-3.woff) format('woff');
}

/* The portfolio tells the story. Each embedded product owns its UI tokens. */
:is(.pc-app,.mo-live,.pc-teaser,.mo-teaser,.pc-static-figure,.mo-chapter-figure){
 --bg:#f4f6f9;--panel:#ffffff;--ink:#17202d;--muted:#566274;--line:#d8dfe8;--soft:#e9eef5;
 --accent:#1467d8;--accent-ink:#ffffff;--accent-text:#1458b8;--risk:#a1410c;--risk-ink:#ffffff;
 --success:#15703e;--danger:#b52c38;--elevation:0 2px 4px #182b4610,0 14px 35px #182b460d;
 --supplier:#08788c;--component:#4c7116;--workcentre:#9b2f95;--product:#1769bf;
 color-scheme:light;color:var(--ink);font-family:Arial,Helvetica,sans-serif;letter-spacing:0;
}
:is(.mo-live,.mo-teaser,.mo-chapter-figure),[data-product-theme=dark]{
 --bg:#0d1016;--panel:#171c24;--ink:#e9edf5;--muted:#a6b2c5;--line:#313b4c;--soft:#222d3e;
 --accent:#76b1ff;--accent-ink:#0b1b32;--accent-text:#8dbfff;--risk:#ffb16e;--risk-ink:#241507;
 --success:#72d9a1;--danger:#ff8691;--elevation:0 3px 8px #0003,0 20px 45px #0002;
 --supplier:#70d4e6;--component:#b6dc71;--workcentre:#e399dd;--product:#87bfff;
 color-scheme:dark;color:var(--ink);
}
[data-product-theme=light]{
 --bg:#f4f6f9;--panel:#ffffff;--ink:#17202d;--muted:#566274;--line:#d8dfe8;--soft:#e9eef5;
 --accent:#1467d8;--accent-ink:#ffffff;--accent-text:#1458b8;--risk:#a1410c;--risk-ink:#ffffff;
 --success:#15703e;--danger:#b52c38;--elevation:0 2px 4px #182b4610,0 14px 35px #182b460d;
 --supplier:#08788c;--component:#4c7116;--workcentre:#9b2f95;--product:#1769bf;
 color-scheme:light;color:var(--ink);
}
.pc-app,.mo-live{border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 0 0 5px color-mix(in srgb,var(--line),transparent 55%),0 28px 80px #0002;}
:is(.pc-app,.mo-live) :is(h3,h4,strong){letter-spacing:-.015em;font-weight:600;}
:is(.pc-app,.mo-live) :is(button,input,select,textarea){font-family:inherit;}
:is(.pc-app,.mo-live) :is(button,select,input,textarea):focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;}
.pc-appbar,.mo-appbar{background:var(--panel);gap:10px;padding-inline:16px;}
.pc-appbar{padding-block:11px;min-height:52px;flex-wrap:wrap;}
.mo-appbar{height:auto;min-height:52px;flex-wrap:wrap;padding-block:8px;}
.pc-app-mark,.mo-app-symbol{width:27px;height:27px;display:grid;place-content:center;background:var(--accent);color:var(--accent-ink);border-radius:7px;font-size:17px;font-weight:700;letter-spacing:-.04em;}
.mo-app-symbol span{display:none;}
.product-appearance{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);white-space:nowrap;}
.pc-app .product-appearance select,.mo-live .product-appearance select{min-height:30px;padding:4px 23px 4px 8px;background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:6px;font-size:11px;}
.pc-demo-tag{margin-left:0;font-size:8px;letter-spacing:.03em;}
.mo-appbar-date{margin-left:0;}
.pc-appbar strong,.mo-appbar strong{font-size:12px;}
.pc-tablist button{font-weight:500;font-size:12px;}
.pc-tablist button[aria-pressed=true]{color:var(--accent-text);}
.pc-kpis,.ca-kpis{background:var(--panel);}
.ca-kpis strong,.pc-metric strong{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.03em;}
.pc-metric{background:var(--panel);box-shadow:var(--elevation);}
.pc-case-pricing .pr-overview{background:var(--bg);}
.pc-case-pricing .pr-overview .pc-table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:8px;}
.ca-assistant{background:var(--panel);}
.ca-query{background:color-mix(in srgb,var(--accent) 7%,var(--panel));border-color:color-mix(in srgb,var(--accent) 22%,var(--line));}
.ca-canvas{background:var(--bg);}
.ca-morph .ca-bar{fill:color-mix(in srgb,var(--accent) 26%,var(--panel));}
.ca-morph .ca-entity.is-selected .ca-bar{fill:var(--accent);}
.pc-badge.ok{color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--panel));border-color:color-mix(in srgb,var(--success) 30%,var(--line));}
.pc-badge.warn{background:color-mix(in srgb,var(--risk) 7%,var(--panel));}
.pc-app .pc-label{letter-spacing:.04em;}
.pc-app .pc-primary,.mo-live .mo-primary{box-shadow:0 2px 3px #0001;}
/* Phase and status are intentionally different visual channels. */
.wf-inbox{background:var(--panel);padding-inline:10px;}
.wf-email{border-radius:0;}
.wf-email[aria-pressed=true]{border-color:transparent;border-left:3px solid var(--accent);background:var(--bg);}
.wf-main{background:var(--panel);padding:15px 10px;}
.wf-column{--phase:#08798f;background:var(--bg);border-radius:14px;padding:8px 6px;}
.wf-column[data-wf-column=Quote]{--phase:#1467d8;}
.wf-column[data-wf-column=Order]{--phase:#4d7c0f;}
.wf-column[data-wf-column=Production]{--phase:#9333c9;}
.wf-column h4{border:0;margin:0 0 12px;padding:7px 8px;border-radius:20px;background:var(--phase);color:white;font-weight:600;font-size:10px;}
.wf-column h4 span{border:0;border-radius:12px;background:white;color:var(--phase);min-width:17px;text-align:center;font-weight:700;font-size:10px;}
.wf-card{border-radius:10px;box-shadow:0 2px 3px #0000000a;padding:11px 8px;}
.wf-card[aria-pressed=true]{box-shadow:0 0 0 1px var(--accent);}
.wf-card[data-status="Needs Input"]{border-color:color-mix(in srgb,var(--danger) 65%,var(--line));}
.wf-card[data-status="Needs Input"] .pc-badge{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,var(--line));background:color-mix(in srgb,var(--danger) 6%,var(--panel));}
.wf-card[data-status="Awaiting Client"] .pc-badge{color:var(--risk);}
.wf-card>em{font-weight:500;}
/* Semantic entity colours retain the production product's original grammar. */
.mo-node[data-kind=supplier]{--entity:var(--supplier);}
.mo-node[data-kind=component]{--entity:var(--component);}
.mo-node[data-kind=workcentre]{--entity:var(--workcentre);}
.mo-node[data-kind=product]{--entity:var(--product);}
.mo-node rect{fill:color-mix(in srgb,var(--entity) 12%,var(--bg));stroke:color-mix(in srgb,var(--entity) 40%,var(--line));}
.mo-node .mo-node-label,.mo-node circle{fill:var(--entity);}
.mo-node .mo-node-id{fill:var(--muted);}
.mo-live .mo-stage{background:var(--bg);}
.mo-orders{background:var(--panel);}
.mo-teaser{border-radius:9px;background:var(--bg);padding:12px;}
.pc-teaser,.pc-static-figure,.mo-chapter-figure{background:var(--panel);color:var(--ink);border-color:var(--line);}
.pc-teaser{border-radius:8px;}
.product-visual:has(.pc-teaser){--bg:#f4f6f9;--panel:white;--ink:#17202d;--muted:#566274;--line:#d8dfe8;--soft:#e9eef5;--accent:#1467d8;--accent-text:#1458b8;--accent-ink:white;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 60px #0002;}
.product-visual:has(.pc-teaser) .visual-top{font-family:Arial,Helvetica,sans-serif;letter-spacing:0;}
.project-provenance{margin:0 0 30px;padding:18px 22px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:155px 1fr;gap:22px;font-size:13px;line-height:1.7;color:var(--muted);}
.project-provenance strong{color:var(--ink);font-weight:500;}
.project-provenance p{margin:0;max-width:970px;}
.work-provenance{max-width:650px;font-size:13px;line-height:1.7;color:var(--muted);}
@media(max-width:700px){.product-appearance>span,.mo-appbar-date{display:none;}.pc-demo-tag,.mo-demo-badge{font-size:7px;}.pc-appbar,.mo-appbar{gap:7px;padding-inline:10px;}.project-provenance{grid-template-columns:1fr;gap:7px;padding:16px;}.pc-appbar strong{font-size:11px;}.pc-app-mark{width:24px;height:24px;}.wf-column{padding:9px;}}

.mo-node .mo-node-label{fill:var(--entity)!important;}
.mo-node text{font-family:Arial,Helvetica,sans-serif;}

/* 0.8.1: shared appearance, distinct application design language. */
html[data-theme=dark] :is(.pc-app,.mo-live,.pc-teaser,.mo-teaser,.pc-static-figure,.mo-chapter-figure,.pv-shell,.product-visual:has(.pv-shell)){--bg:#0d1016;--panel:#171c24;--ink:#e9edf5;--muted:#a6b2c5;--line:#313b4c;--soft:#222d3e;--accent:#76b1ff;--accent-ink:#0b1b32;--accent-text:#8dbfff;--risk:#ffb16e;--risk-ink:#241507;--success:#72d9a1;--danger:#ff8691;--supplier:#70d4e6;--component:#b6dc71;--workcentre:#e399dd;--product:#87bfff;color-scheme:dark;color:var(--ink);}
html[data-theme=light] :is(.pc-app,.mo-live,.pc-teaser,.mo-teaser,.pc-static-figure,.mo-chapter-figure,.pv-shell,.product-visual:has(.pv-shell)){--bg:#f4f6f9;--panel:#fff;--ink:#17202d;--muted:#566274;--line:#d8dfe8;--soft:#e9eef5;--accent:#1467d8;--accent-ink:#fff;--accent-text:#1458b8;--risk:#a1410c;--risk-ink:#fff;--success:#15703e;--danger:#b52c38;--supplier:#08788c;--component:#4c7116;--workcentre:#9b2f95;--product:#1769bf;color-scheme:light;color:var(--ink);}

:is(.pc-app,.mo-live,.pc-teaser,.mo-teaser,.pc-static-figure,.mo-chapter-figure,.pv-shell){font-family:Inter,Arial,sans-serif;}
.mo-live .mo-node text{font-family:Inter,Arial,sans-serif;}
