/* Xevrion customer portal: the design system for /app, also embedded by the website's portal presentation page.
   Everything is scoped under .xp so the portal can live inside another page. Charcoal environment, white type,
   violet only where Xevrion is acting or something is selected; state colours only where the meaning is the state.
   Source of truth: platform-gateway/portal-ui/portal.css (embedded into portal_ui_assets.py by
   scripts/build_portal_ui.py; copied to the website by xevrion-web/tools/sync_portal.py). */
.xp{--bg0:#08090d;--bg1:#0c0d12;--bg2:#111219;--bg3:#171820;--panel:rgba(255,255,255,.032);--panel2:rgba(255,255,255,.05);
  --line:rgba(255,255,255,.075);--line2:rgba(255,255,255,.12);--line3:rgba(255,255,255,.2);
  --t1:#f8f8fb;--t2:#b7b8c2;--t3:#8e909d;--v500:#7357ff;--v400:#8b72ff;--v200:#b8a9ff;--va:139,114,255;--vb:115,87,255;--vwash:rgba(var(--vb),.12);
  --ok:#4fd69c;--warn:#f2c46b;--risk:#ff5c6c;--info:#8fb3ff;
  --font:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Geist Mono",ui-monospace,Consolas,monospace;
  --side:272px;--top:64px;--r:12px;--ease:cubic-bezier(.2,.7,.2,1);
  position:relative;display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:var(--top) minmax(0,1fr);height:100%;min-height:0;
  color:var(--t1);font:400 14.5px/1.55 var(--font);-webkit-font-smoothing:antialiased;letter-spacing:-.003em;
  background:radial-gradient(1200px 700px at 88% -12%,rgba(var(--vb),.13),transparent 62%),radial-gradient(900px 600px at 0% 100%,rgba(90,70,190,.06),transparent 70%),linear-gradient(180deg,var(--bg0),var(--bg1) 60%,var(--bg0));
  overflow:hidden;isolation:isolate}
.xp *,.xp *::before,.xp *::after{box-sizing:border-box}
.xp [hidden]{display:none!important}
/* resets carry no specificity (:where), so every component rule below wins over them */
.xp :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0}
.xp :where(ul,ol){padding:0;list-style:none}
.xp :where(a){color:inherit}
.xp :where(button,input,select,textarea){font:inherit;color:inherit}
.xp :focus-visible{outline:2px solid var(--v200);outline-offset:2px;border-radius:6px}
.xp ::selection{background:rgba(var(--vb),.45);color:#fff}
.xp .xp-grid-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:88px 88px;
  -webkit-mask-image:radial-gradient(ellipse 70% 55% at 70% 0%,#000,transparent 72%);mask-image:radial-gradient(ellipse 70% 55% at 70% 0%,#000,transparent 72%)}

/* ------------------------------------------------------------------ side panel */
.xp-side{grid-row:1/-1;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:rgba(8,9,13,.78);z-index:20}
.xp-brand{display:flex;align-items:center;gap:11px;height:var(--top);padding:0 20px;border-bottom:1px solid var(--line);text-decoration:none;flex:none}
.xp-brand svg{width:26px;height:26px;flex:none}
.xp-brand b{font:600 13px/1 var(--font);letter-spacing:.16em}
.xp-brand span{font:500 11px/1 var(--mono);letter-spacing:.08em;color:var(--v200);padding:4px 6px;border:1px solid rgba(var(--va),.35);border-radius:5px}
.xp-org{padding:16px 16px 6px;flex:none}
.xp-org label{display:block;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3);margin:0 0 8px 4px}
.xp-org select{width:100%;height:40px;padding:0 34px 0 12px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--t3) 50%),linear-gradient(135deg,var(--t3) 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px;background-repeat:no-repeat}
.xp-org .xp-role{display:flex;align-items:center;gap:8px;margin:10px 4px 0;font-size:12.5px;color:var(--t3)}
.xp-nav{flex:1;overflow:auto;padding:6px 10px 16px;scrollbar-width:thin;scrollbar-color:#2b2d38 transparent}
.xp-nav h6{margin:18px 10px 6px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-nav button{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:38px;padding:0 10px;border:0;border-radius:9px;background:transparent;
  color:var(--t2);font-size:14px;text-align:left;cursor:pointer;transition:background .16s,color .16s}
.xp-nav button svg{width:18px;height:18px;flex:none;opacity:.8}
.xp-nav button:hover{background:rgba(255,255,255,.045);color:var(--t1)}
.xp-nav button[aria-current=page]{background:linear-gradient(90deg,rgba(var(--vb),.2),rgba(var(--vb),.05));color:#fff}
.xp-nav button[aria-current=page]::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--v400);box-shadow:0 0 12px rgba(var(--va),.8)}
.xp-nav button[aria-current=page] svg{opacity:1;color:var(--v200)}
.xp-nav .xp-badge{margin-left:auto}
/* a child page (for example Revenue · Outreach) sits indented under its parent, joined by a thin guide line */
.xp-nav button[data-child]{min-height:32px;margin-left:19px;width:calc(100% - 19px);padding-left:16px;font-size:13px;border-radius:0 9px 9px 0;border-left:1px solid var(--line2)}
.xp-nav button[data-child][aria-current=page]::before{left:-2px}
.xp-nav button[data-within]{color:var(--t1)}
.xp-nav button[data-within] svg{opacity:1;color:var(--v200)}
.xp-nav .xp-nav-a{display:flex;align-items:center;gap:11px;min-height:38px;padding:0 10px;border-radius:9px;color:var(--t2);font-size:14px;text-decoration:none;transition:background .16s,color .16s}
.xp-nav .xp-nav-a svg{width:18px;height:18px;flex:none;opacity:.8}
.xp-nav .xp-nav-a svg:last-child{width:14px;height:14px;margin-left:auto;opacity:.5}
.xp-nav .xp-nav-a:hover{background:rgba(255,255,255,.045);color:var(--t1)}
.xp-side-foot{flex:none;padding:14px 16px;border-top:1px solid var(--line);display:grid;gap:10px}
.xp-live{display:flex;align-items:center;gap:8px;font:500 11px/1.3 var(--mono);letter-spacing:.06em;color:var(--t3)}
.xp-live i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(79,214,156,.18);flex:none}
.xp-live[data-tone=warn] i{background:var(--warn);box-shadow:0 0 0 3px rgba(242,196,107,.18)}
.xp-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;font:500 11px/1 var(--mono);
  background:rgba(255,255,255,.08);color:var(--t2)}
.xp-badge[data-tone=violet]{background:rgba(var(--vb),.25);color:#fff}
.xp-badge[data-tone=risk]{background:rgba(255,92,108,.2);color:#ffb3bb}

/* ------------------------------------------------------------------ top bar */
.xp-top{grid-column:2;display:flex;align-items:center;gap:14px;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(8,9,13,.55);min-width:0;z-index:10}
.xp-top .xp-menu{display:none}
.xp-crumb{display:flex;align-items:center;gap:10px;min-width:0;font-size:13.5px;color:var(--t3)}
.xp-crumb b{color:var(--t1);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xp-crumb i{font-style:normal;opacity:.5}
.xp-crumb-l{border:0;background:none;padding:0;color:var(--t3);font:inherit;cursor:pointer;white-space:nowrap}
.xp-crumb-l:hover{color:var(--t1);text-decoration:underline;text-underline-offset:3px}
/* Customise: each person arranges the sections of any page for themselves */
.xp-crumb-custom{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line2);border-radius:10px;background:none;color:var(--t2);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
.xp-crumb-custom:hover{color:var(--t1);border-color:var(--line3,rgba(255,255,255,.22))}
.xp-crumb-custom:focus-visible{outline:2px solid var(--v400);outline-offset:2px}
@media (max-width:720px){.xp-crumb-custom span{display:none}.xp-crumb-custom{padding:0 9px}}
.xp-page>[hidden]{display:none!important}
.xp-layout-note{margin:0;font-size:12.5px;color:var(--t3)}
/* "Connected to this page": where to go next, at the end of every page */
.xp-related{margin-top:6px;padding-top:18px;border-top:1px solid var(--line)}
.xp-related>p{margin:0 0 10px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-related>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.xp-related button{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.025);color:var(--t2);text-align:left;cursor:pointer;transition:border-color .16s,background .16s}
.xp-related button:hover{border-color:rgba(var(--va),.5);background:rgba(var(--vb),.08);color:var(--t1)}
.xp-related button>span:nth-child(2){display:grid;gap:3px;min-width:0}
.xp-related b{font-weight:500;color:var(--t1)}
.xp-related small{font-size:12.5px;color:var(--t3);line-height:1.35}
.xp-related button>svg{margin-left:auto;flex:none;opacity:.6}
/* "Find your way around": the whole layout once, on the home page */
.xp-way{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.xp-way h4{margin:0 0 4px;font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none;color:var(--v200)}
.xp-way p{margin:0 0 10px;font-size:13px;color:var(--t3);line-height:1.45}
.xp-way div{display:flex;flex-wrap:wrap;gap:6px}
.xp-way button{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line2);border-radius:99px;background:rgba(255,255,255,.03);color:var(--t2);font-size:12.5px;cursor:pointer}
.xp-way button:hover{border-color:rgba(var(--va),.5);color:var(--t1)}
.xp-search{margin-left:auto;display:flex;align-items:center;gap:10px;height:38px;min-width:240px;padding:0 10px 0 12px;border:1px solid var(--line2);border-radius:10px;
  background:rgba(255,255,255,.03);color:var(--t3);font-size:13.5px;cursor:pointer}
.xp-search svg{width:16px;height:16px}
.xp-search kbd{margin-left:auto;font:500 11px/1 var(--mono);padding:4px 6px;border:1px solid var(--line2);border-radius:5px}
.xp-iconbtn{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line2);border-radius:10px;background:rgba(255,255,255,.03);cursor:pointer;color:var(--t2)}
.xp-iconbtn:hover{color:#fff;border-color:var(--line3)}
.xp-iconbtn svg{width:18px;height:18px}
.xp-iconbtn .xp-dot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--v400);box-shadow:0 0 0 2px var(--bg1)}
.xp-iconbtn[data-spin] svg{animation:xp-spin .8s linear infinite}
@keyframes xp-spin{to{transform:rotate(360deg)}}

/* ------------------------------------------------------------------ main area */
.xp-main{grid-column:2;min-height:0;overflow:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#2b2d38 transparent}
.xp-page{max-width:1480px;margin:0 auto;padding:28px 32px 72px;display:grid;gap:20px}
.xp-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch;padding:26px 28px;border:1px solid var(--line);border-radius:16px;
  background:radial-gradient(90% 120% at 100% 0%,rgba(var(--vb),.14),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));overflow:hidden}
.xp-hero--solo{grid-template-columns:minmax(0,1fr)}
.xp-hero h1{font-size:clamp(26px,2.4vw,34px);line-height:1.08;letter-spacing:-.035em;font-weight:500;
  background:linear-gradient(100deg,#fff 0%,#e6e8ed 40%,#aeb2be 55%,#f5f6f9 66%,#d0d3dc 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.xp-hero p.xp-lead{margin-top:10px;max-width:62ch;color:var(--t2);font-size:15px}
.xp-hero .xp-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.xp-hero .xp-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.xp-hero-viz{position:relative;min-height:230px;border-radius:12px}
/* slim header for work pages: no box, the page's name and one line, actions on the right */
.xp-hero.xp-hero--bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:4px 2px 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.xp-hero--bar::before,.xp-hero--bar::after{display:none}
.xp-hero--bar h1{font-size:clamp(22px,1.9vw,28px)}
.xp-hero--bar p.xp-lead{margin-top:6px;font-size:14px}
.xp-hero--bar .xp-hero-meta{margin-top:10px}
.xp-hero--bar .xp-hero-actions{margin-top:0}
.xp-eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--v200);margin-bottom:14px}
.xp-eyebrow::before{content:"";width:18px;height:1px;background:linear-gradient(90deg,transparent,var(--v400))}
.xp-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:8px 2px -4px}
.xp-section-title h2{font-size:17px;font-weight:500;letter-spacing:-.015em}
.xp-section-title span{font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}

/* grids */
.xp-g{display:grid;gap:16px}
.xp-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.xp-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.xp-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.xp-g-main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}

/* cards */
.xp-card{position:relative;min-width:0;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);
  background:linear-gradient(180deg,rgba(255,255,255,.034),rgba(255,255,255,.014));box-shadow:0 1px 0 rgba(255,255,255,.035) inset,0 14px 40px rgba(0,0,0,.22)}
.xp-card--hud::after{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;--l:12px;
  background:linear-gradient(var(--v200),var(--v200)) top left/var(--l) 1px no-repeat,linear-gradient(var(--v200),var(--v200)) top left/1px var(--l) no-repeat,
    linear-gradient(var(--v200),var(--v200)) bottom right/var(--l) 1px no-repeat,linear-gradient(var(--v200),var(--v200)) bottom right/1px var(--l) no-repeat;opacity:.55}
.xp-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
/* on phones a card's buttons go under its title, so the title and explanation keep the full width */
@media (max-width:600px){.xp-card-h{flex-wrap:wrap}.xp-card-h>div:first-child{flex:1 1 100%}.xp-card-h>.xp-card-f{width:100%}}
.xp-card-h h3{font-size:15.5px;font-weight:500;letter-spacing:-.01em}
.xp-card-h p{margin-top:4px;font-size:13px;color:var(--t3);max-width:70ch}
.xp-card-h .xp-tag{font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3);white-space:nowrap;margin-top:3px}
.xp-card-f{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.xp-note{font-size:12.5px;color:var(--t3);line-height:1.5}
.xp-note b{color:var(--t2);font-weight:500}

/* KPI tiles */
.xp-kpi{position:relative;overflow:hidden;min-height:132px;padding:18px 20px}
.xp-kpi .xp-k-l{display:flex;align-items:center;gap:8px;font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-kpi .xp-k-l svg{width:14px;height:14px;color:var(--v200)}
.xp-kpi .xp-k-v{margin-top:12px;font-size:30px;line-height:1;letter-spacing:-.04em;font-weight:500;font-variant-numeric:tabular-nums}
.xp-kpi .xp-k-v small{font-size:14px;color:var(--t3);letter-spacing:0;margin-left:4px}
.xp-kpi .xp-k-s{margin-top:8px;font-size:12.5px;color:var(--t3)}
.xp-kpi .xp-k-s b{font-weight:500;color:var(--t2)}
.xp-kpi .xp-spark{position:absolute;right:0;bottom:0;left:0;height:44px;opacity:.9;pointer-events:none}
.xp-kpi[data-tone=violet]{border-color:rgba(var(--va),.28);background:linear-gradient(160deg,rgba(var(--vb),.16),rgba(var(--vb),.03) 55%,rgba(255,255,255,.012))}
.xp-meter{height:6px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:12px}
.xp-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v500),var(--v200));transition:width .8s var(--ease)}
.xp-meter[data-tone=ok] i{background:linear-gradient(90deg,#2fae7b,var(--ok))}
.xp-meter[data-tone=warn] i{background:linear-gradient(90deg,#d9a441,var(--warn))}
.xp-meter[data-tone=risk] i{background:var(--risk)}

/* chips */
.xp-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:99px;border:1px solid var(--line2);font:500 11px/1 var(--mono);letter-spacing:.04em;
  color:var(--t2);background:rgba(255,255,255,.03);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.xp-chip i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.xp-chip[data-tone=ok]{color:#8ff0c3;border-color:rgba(79,214,156,.35);background:rgba(79,214,156,.08)}
.xp-chip[data-tone=warn]{color:#ffd98e;border-color:rgba(242,196,107,.35);background:rgba(242,196,107,.08)}
.xp-chip[data-tone=risk]{color:#ffb3bb;border-color:rgba(255,92,108,.4);background:rgba(255,92,108,.09)}
.xp-chip[data-tone=violet]{color:var(--v200);border-color:rgba(var(--va),.4);background:rgba(var(--vb),.1)}
.xp-chip[data-tone=info]{color:#bcd0ff;border-color:rgba(143,179,255,.35);background:rgba(143,179,255,.08)}

/* buttons */
.xp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 15px;border-radius:9px;border:1px solid var(--line2);background:rgba(255,255,255,.035);
  color:var(--t1);font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .16s,border-color .16s,box-shadow .28s,opacity .16s}
.xp-btn:hover{border-color:var(--line3);background:rgba(255,255,255,.06)}
.xp-btn svg{width:16px;height:16px}
.xp-btn--primary{background:#f8f8fb;border-color:#f8f8fb;color:#0b0c11}
.xp-btn--primary:hover{background:#fff;box-shadow:0 0 0 4px rgba(var(--va),.18),0 10px 30px -10px rgba(var(--va),.6)}
.xp-btn--violet{background:linear-gradient(180deg,#7357ff,#6646ff);border-color:rgba(184,169,255,.5);color:#fff}
.xp-btn--violet:hover{box-shadow:0 0 0 4px rgba(var(--vb),.22),0 10px 30px -10px rgba(var(--vb),.8);background:linear-gradient(180deg,#8b72ff,#6646ff)}
.xp-btn--danger{color:#ffb3bb;border-color:rgba(255,92,108,.35);background:rgba(255,92,108,.06)}
.xp-btn--danger:hover{border-color:rgba(255,92,108,.6);background:rgba(255,92,108,.12)}
.xp-btn--ghost{border-color:transparent;background:transparent;color:var(--t2)}
.xp-btn--ghost:hover{color:#fff;background:rgba(255,255,255,.05)}
.xp-btn--sm{min-height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}
.xp-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.xp-btn[data-busy]{opacity:.7;cursor:progress}

/* forms */
.xp-form{display:grid;gap:14px}
.xp-form-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.xp-field{display:grid;gap:7px;min-width:0}
.xp-field>span{font-size:12.5px;color:var(--t2);font-weight:500}
.xp-field>span small{font-weight:400;color:var(--t3);margin-left:6px}
.xp-field input,.xp-field select,.xp-field textarea{width:100%;min-height:40px;padding:9px 12px;border-radius:9px;border:1px solid var(--line2);background:rgba(8,9,13,.7);color:var(--t1);font-size:14px}
.xp-field textarea{min-height:92px;resize:vertical;line-height:1.5}
.xp-field select{appearance:none;cursor:pointer;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--t3) 50%),linear-gradient(135deg,var(--t3) 50%,transparent 50%);
  background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px;background-repeat:no-repeat}
.xp-field input:focus,.xp-field select:focus,.xp-field textarea:focus{outline:none;border-color:var(--v400);box-shadow:0 0 0 4px rgba(var(--vb),.18)}
.xp-field input[readonly]{color:var(--t2);background:rgba(255,255,255,.03)}
.xp-check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--t2);cursor:pointer}
.xp-check input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--v400);flex:none}
.xp-options{display:grid;gap:8px}
.xp-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line2);border-radius:10px;cursor:pointer;background:rgba(255,255,255,.02)}
.xp-option:has(input:checked){border-color:rgba(var(--va),.55);background:rgba(var(--vb),.1)}
.xp-option input{accent-color:var(--v400);width:17px;height:17px;margin:0}
.xp-option b{font-weight:500}
.xp-option small{display:block;color:var(--t3);font-size:12px}
.xp-err{color:#ffb3bb;font-size:13px}

/* tables */
.xp-table-wrap{overflow:auto;margin:0 -4px;padding:0 4px}
.xp-table{width:100%;border-collapse:collapse;font-size:13.5px}
.xp-table th{text-align:left;font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none;color:var(--t3);padding:0 12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.xp-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--t2);overflow-wrap:anywhere}
.xp-table td:first-child{color:var(--t1)}
.xp-table tbody tr{transition:background .14s}
.xp-table tbody tr[data-row]{cursor:pointer}
.xp-table tbody tr[data-row]:hover{background:rgba(var(--vb),.07)}
.xp-table .xp-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.xp-table tr:last-child td{border-bottom:0}
.xp-mono{font-family:var(--mono);font-size:12px;letter-spacing:.02em}

/* lists */
.xp-list{display:grid}
.xp-li{display:flex;align-items:center;gap:14px;padding:13px 2px;border-bottom:1px solid var(--line);min-width:0}
.xp-li:last-child{border-bottom:0}
.xp-li>div{min-width:0;flex:1}
.xp-li b{display:block;font-weight:500;color:var(--t1);overflow:hidden;text-overflow:ellipsis}
.xp-li small{display:block;color:var(--t3);font-size:12.5px;margin-top:2px}
.xp-li[data-row]{cursor:pointer}
.xp-li[data-row]:hover b{color:#fff}
.xp-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex:none;font:600 13px/1 var(--font);color:#fff;
  background:linear-gradient(140deg,rgba(var(--va),.5),rgba(var(--vb),.15));border:1px solid rgba(184,169,255,.3)}
.xp-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex:none;border:1px solid var(--line2);background:rgba(255,255,255,.03);color:var(--v200)}
.xp-ico svg{width:18px;height:18px}
.xp-ico[data-tone=ok]{color:var(--ok)}.xp-ico[data-tone=risk]{color:var(--risk)}.xp-ico[data-tone=warn]{color:var(--warn)}

/* empty state */
.xp-empty{display:grid;justify-items:center;gap:10px;padding:34px 16px;text-align:center;color:var(--t3);font-size:13.5px}
.xp-empty svg{width:64px;height:64px;opacity:.9}
.xp-empty b{color:var(--t2);font-weight:500}

/* charts */
.xp-chart{display:block;width:100%;height:auto;overflow:visible}
.xp-chart text{fill:var(--t3);font:500 10.5px var(--mono);letter-spacing:.02em}
.xp-chart .xp-ax{stroke:var(--line);stroke-width:1}
.xp-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:12.5px;color:var(--t2)}
.xp-legend span{display:inline-flex;align-items:center;gap:7px}
.xp-legend i{width:9px;height:9px;border-radius:3px;flex:none}
.xp-legend b{font-weight:500;color:var(--t1);font-variant-numeric:tabular-nums}
.xp-viz{position:relative;width:100%;height:100%;min-height:inherit}
.xp-viz canvas{position:absolute;inset:0;width:100%;height:100%}
.xp-viz-tip{position:absolute;z-index:3;pointer-events:none;min-width:180px;max-width:260px;padding:10px 12px;border-radius:9px;background:rgba(14,15,21,.96);border:1px solid var(--line2);
  box-shadow:0 18px 50px rgba(0,0,0,.45);font-size:12.5px;color:var(--t2);opacity:0;transform:translateY(4px);transition:opacity .14s,transform .14s}
.xp-viz-tip[data-show]{opacity:1;transform:none}
.xp-viz-tip b{display:block;color:var(--t1);font-weight:500;font-size:13.5px;margin-bottom:2px}
.xp-bar-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.6fr) auto;align-items:center;gap:12px;padding:7px 0;font-size:13px}
.xp-bar-row>span:first-child{color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xp-bar-row .xp-bar{height:8px;border-radius:8px;background:rgba(255,255,255,.06);overflow:hidden}
.xp-bar-row .xp-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v500),var(--v200))}
.xp-bar-row .xp-bar i[data-tone=ok]{background:linear-gradient(90deg,#2fae7b,var(--ok))}
.xp-bar-row .xp-bar i[data-tone=risk]{background:var(--risk)}
.xp-bar-row .xp-bar i[data-tone=muted]{background:rgba(255,255,255,.3)}
.xp-bar-row .xp-bar i[data-tone=warn]{background:var(--warn)}
.xp-bar-row b{font-weight:500;font-variant-numeric:tabular-nums;color:var(--t1);text-align:right;min-width:48px}
.xp-stat{display:grid;gap:4px;min-width:0}
.xp-stat span{font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-stat b{font-size:22px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.2}
.xp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:18px}

/* stepper */
.xp-steps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.xp-step{position:relative;display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);cursor:pointer;text-align:left;color:var(--t2)}
.xp-step b{font:500 10.5px/1 var(--mono);letter-spacing:.1em;color:var(--t3)}
.xp-step span{font-size:13px;line-height:1.3}
.xp-step[data-done]{border-color:rgba(79,214,156,.35);background:rgba(79,214,156,.06)}
.xp-step[data-done] b{color:var(--ok)}
.xp-step[aria-current=step]{border-color:rgba(var(--va),.6);background:rgba(var(--vb),.12);color:#fff}

/* flow diagram (process steps) */
.xp-flow{display:flex;align-items:stretch;gap:0;overflow:auto;padding:4px 2px 10px}
.xp-flow-n{position:relative;flex:none;width:156px;padding:12px;border:1px solid var(--line2);border-radius:10px;background:rgba(255,255,255,.025)}
.xp-flow-n b{display:block;font-size:13px;font-weight:500;line-height:1.3}
.xp-flow-n span{display:block;margin-top:6px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-flow-n[data-type=approval]{border-color:rgba(242,196,107,.45)}
.xp-flow-n[data-type=action],.xp-flow-n[data-type=notify]{border-color:rgba(var(--va),.5);background:rgba(var(--vb),.08)}
.xp-flow-n[data-type=decision]{border-color:rgba(143,179,255,.45)}
.xp-flow-n[data-type=close]{border-color:rgba(79,214,156,.4)}
.xp-flow-a{flex:none;align-self:center;width:28px;height:1px;background:linear-gradient(90deg,var(--line3),var(--v400));position:relative}
.xp-flow-a::after{content:"";position:absolute;right:-1px;top:-3px;border:3.5px solid transparent;border-left-color:var(--v400)}

/* board (runs by status) */
.xp-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.xp-lane{min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015)}
.xp-lane h4{display:flex;justify-content:space-between;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3);margin-bottom:10px}
.xp-lane .xp-tile{display:block;width:100%;text-align:left;padding:10px 12px;margin-bottom:8px;border:1px solid var(--line2);border-radius:9px;background:rgba(255,255,255,.03);color:var(--t2);cursor:pointer;font-size:12.5px}
.xp-lane .xp-tile b{display:block;color:var(--t1);font-weight:500;font-size:13px;overflow:hidden;text-overflow:ellipsis}
.xp-lane .xp-tile:hover{border-color:rgba(var(--va),.5)}

/* support thread */
.xp-split{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:16px;min-height:420px}
.xp-thread{display:grid;gap:12px;align-content:start}
.xp-msg{max-width:78%;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.03);font-size:13.5px;color:var(--t2);white-space:pre-wrap}
.xp-msg small{display:block;font:500 11.5px/1 var(--font);letter-spacing:0;color:var(--t3);margin-bottom:6px;text-transform:none}
.xp-msg[data-by=me]{justify-self:end;background:rgba(var(--vb),.12);border-color:rgba(var(--va),.35);color:var(--t1)}
.xp-msg[data-by=event]{justify-self:center;max-width:none;background:transparent;border-style:dashed;font-size:12.5px;color:var(--t3)}

/* JSON evidence tree */
.xp-json{font:500 12px/1.65 var(--mono);color:var(--t2);overflow:auto;max-height:520px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.25)}
.xp-json details{padding-left:14px}
.xp-json summary{cursor:pointer;list-style:none;margin-left:-14px;color:var(--t3)}
.xp-json summary::-webkit-details-marker{display:none}
.xp-json summary::before{content:"▸ ";color:var(--v200)}
.xp-json details[open]>summary::before{content:"▾ "}
.xp-json .k{color:var(--v200)}
.xp-json .s{color:#e8e9ee}
.xp-json .n{color:#8ff0c3}
.xp-json .b{color:#ffd98e}
.xp-json .z{color:var(--t3)}
.xp-json div{padding-left:14px}

/* drawer + dialogs */
.xp-scrim{position:absolute;inset:0;z-index:60;background:rgba(4,5,8,.62);opacity:0;animation:xp-fade .18s forwards}
.xp-drawer{position:absolute;top:0;right:0;bottom:0;z-index:61;width:min(560px,100%);display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  background:linear-gradient(180deg,#12131b,#0d0e14);border-left:1px solid var(--line2);box-shadow:-30px 0 80px rgba(0,0,0,.5);animation:xp-slide .26s var(--ease)}
.xp-drawer header{display:flex;align-items:flex-start;gap:14px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}
.xp-drawer header h3{font-size:18px;font-weight:500;letter-spacing:-.02em}
.xp-drawer header p{margin-top:4px;font-size:13px;color:var(--t3)}
.xp-drawer header .xp-iconbtn{margin-left:auto;flex:none}
.xp-drawer .xp-drawer-b{overflow:auto;padding:20px 24px;display:grid;gap:16px;align-content:start}
.xp-drawer footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--line);background:rgba(8,9,13,.6)}
.xp-dialog{position:absolute;left:50%;top:50%;z-index:61;width:min(460px,calc(100% - 32px));transform:translate(-50%,-50%);padding:24px;border:1px solid var(--line2);border-radius:14px;
  background:#12131b;box-shadow:0 40px 120px rgba(0,0,0,.6);animation:xp-pop .2s var(--ease)}
.xp-dialog h3{font-size:17px;font-weight:500}
.xp-dialog p{margin-top:8px;color:var(--t2);font-size:14px}
.xp-dialog .xp-card-f{justify-content:flex-end}
@keyframes xp-fade{to{opacity:1}}
@keyframes xp-slide{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes xp-pop{from{opacity:0;transform:translate(-50%,-47%) scale(.98)}}

/* toasts */
.xp-toasts{position:absolute;right:20px;bottom:20px;z-index:80;display:grid;gap:10px;width:min(380px,calc(100% - 40px));pointer-events:none}
.xp-toast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid var(--line2);background:#14151d;box-shadow:0 20px 60px rgba(0,0,0,.5);
  font-size:13.5px;color:var(--t2);animation:xp-rise .22s var(--ease)}
.xp-toast i{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--v400);flex:none}
.xp-toast[data-tone=ok] i{background:var(--ok)}.xp-toast[data-tone=risk] i{background:var(--risk)}
@keyframes xp-rise{from{opacity:0;transform:translateY(8px)}}

/* command palette */
.xp-cmd{position:absolute;left:50%;top:12%;z-index:71;width:min(640px,calc(100% - 32px));transform:translateX(-50%);border:1px solid var(--line2);border-radius:14px;background:#12131b;
  box-shadow:0 40px 120px rgba(0,0,0,.6);overflow:hidden;animation:xp-rise .18s var(--ease)}
.xp-cmd input{width:100%;height:56px;padding:0 20px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--t1);font-size:16px;outline:none}
.xp-cmd ul{max-height:min(420px,56vh);overflow:auto;padding:8px}
.xp-cmd li button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--t2);text-align:left;cursor:pointer;font-size:14px}
.xp-cmd li button svg{width:17px;height:17px;color:var(--v200)}
.xp-cmd li button small{margin-left:auto;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-cmd li button[aria-selected=true]{background:rgba(var(--vb),.16);color:#fff}

/* skeleton */
.xp-skel{border-radius:10px;background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(255,255,255,.075),rgba(255,255,255,.035));background-size:200% 100%;animation:xp-shimmer 1.4s linear infinite}
@keyframes xp-shimmer{to{background-position:-200% 0}}

/* sign in */
.xp-auth{grid-column:1/-1;grid-row:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);min-height:0;overflow:auto}
.xp-auth-viz{position:relative;min-height:420px;border-right:1px solid var(--line);overflow:hidden}
.xp-auth-viz .xp-auth-copy{position:absolute;left:48px;right:48px;bottom:44px;z-index:2}
.xp-auth-viz h2{font-size:clamp(28px,3vw,42px);line-height:1.04;letter-spacing:-.04em;font-weight:500;max-width:16ch;
  background:linear-gradient(100deg,#fff 0%,#e6e8ed 40%,#aeb2be 55%,#f5f6f9 66%,#d0d3dc 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.xp-auth-viz p{margin-top:12px;color:var(--t2);max-width:46ch}
.xp-auth-panel{display:grid;align-content:center;padding:48px clamp(24px,5vw,72px)}
.xp-auth-card{width:min(420px,100%);justify-self:center;display:grid;gap:18px}
.xp-auth-card h1{font-size:26px;font-weight:500;letter-spacing:-.03em}
.xp-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line2);border-radius:10px;background:rgba(255,255,255,.02)}
.xp-tabs button{flex:1;height:34px;border:0;border-radius:7px;background:transparent;color:var(--t3);cursor:pointer;font-size:13px}
.xp-tabs button[aria-selected=true]{background:rgba(255,255,255,.08);color:#fff}

/* owner console: top-bar status, generic evidence sections */
.xp-top-meta{margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}
.xp-auto{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.xp-auto h4{font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none;color:var(--v200)}
.xp-auto .xp-auto{margin-top:6px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015)}

/* owner console: the four services (overview tiles, readiness) */
.xp-svc{display:flex;align-items:center;gap:16px;width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:border-color .16s,background .16s}
.xp-svc:hover{border-color:rgba(var(--va),.45);background:linear-gradient(180deg,rgba(var(--vb),.1),rgba(255,255,255,.014))}
.xp-svc .xp-chart{flex:none;width:66px}
.xp-svc>div{display:grid;gap:6px;justify-items:start;min-width:0}
.xp-svc b{display:flex;align-items:center;gap:8px;font-weight:500;font-size:15px}
.xp-svc b svg{color:var(--v200)}
.xp-svc small{color:var(--t3);font-size:12.5px}
.xp-ready{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center}
/* Customer Care and Valuable Insights, in plain blocks */
.xp-rt,.xp-dt{display:grid;gap:18px;padding:6px 8px 8px}
.xp-rt{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.xp-rt-block{display:grid;gap:10px;align-content:start}
.xp-rt-h{font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-rt-h span{margin-left:6px;color:var(--t1)}
.xp-rt-rows{display:grid;gap:6px}
.xp-rt-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(90px,1fr) auto;gap:14px;align-items:center;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.018);color:inherit;font:inherit;text-align:left;cursor:pointer}
.xp-rt-row:hover{border-color:var(--line2);background:rgba(255,255,255,.035)}
.xp-rt-who b{display:block;font-weight:500;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xp-rt-who small{display:block;font-size:12px;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xp-rt-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.xp-rt-bar i{display:block;height:100%;border-radius:99px;background:var(--info)}
.xp-rt-bar i[data-tone=warn]{background:var(--warn)}.xp-rt-bar i[data-tone=risk]{background:var(--risk)}
.xp-rt-lab{font:500 12.5px/1.2 var(--font);white-space:nowrap;color:var(--info)}
.xp-rt-lab[data-tone=warn]{color:var(--warn)}.xp-rt-lab[data-tone=risk]{color:var(--risk)}
.xp-rt-split{display:flex;gap:3px;height:14px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.07)}
.xp-rt-split i{display:block;height:100%;min-width:6px}
.xp-rt-split i[data-tone=ok]{background:var(--ok)}.xp-rt-split i[data-tone=warn]{background:var(--warn)}
.xp-rt-cap{font-size:12.5px;color:var(--t3)}
.xp-rt-cap b{font-weight:500;color:var(--t1)}.xp-rt-cap b[data-tone=ok]{color:var(--ok)}.xp-rt-cap b[data-tone=warn]{color:var(--warn)}
.xp-rt-none{padding:14px;border:1px dashed var(--line2);border-radius:10px;font-size:13.5px;color:var(--t2)}
.xp-dt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.xp-dt-card{display:grid;gap:4px;padding:14px 14px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018);color:inherit;font:inherit;text-align:left;cursor:pointer}
.xp-dt-card:hover{border-color:var(--line2);background:rgba(255,255,255,.035)}
.xp-dt-name{font-size:13px;color:var(--t2)}
.xp-dt-val{font:600 24px/1.1 var(--font);letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums}
.xp-dt-ch{font:500 12px/1.3 var(--mono);color:var(--t3)}
.xp-dt-ch[data-tone=ok]{color:var(--ok)}.xp-dt-ch[data-tone=warn]{color:var(--warn)}
.xp-dt-spark{width:100%;height:36px;margin-top:6px;overflow:visible}
.xp-dt-spark .l{fill:none;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke:var(--v400)}
.xp-dt-spark .a{stroke:none;fill:var(--v400);opacity:.12}
.xp-dt-spark [data-tone=ok].l{stroke:var(--ok)}.xp-dt-spark [data-tone=ok].a{fill:var(--ok)}
.xp-dt-spark [data-tone=warn].l{stroke:var(--warn)}.xp-dt-spark [data-tone=warn].a{fill:var(--warn)}
.xp-dt-list{display:grid;gap:0;border-top:1px solid var(--line)}
.xp-dt-d{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}
.xp-dt-d time{font:500 12px/1.6 var(--mono);color:var(--t3)}
.xp-dt-d b{display:block;font-weight:500;font-size:13.5px}
.xp-dt-d small{display:block;margin-top:2px;font-size:12.5px;color:var(--t3)}
.xp-dt-d small span[data-tone=ok]{color:var(--ok)}.xp-dt-d small span[data-tone=warn]{color:var(--warn)}
@media (max-width:900px){.xp-rt{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.xp-rt-row{grid-template-columns:minmax(0,1fr) auto}.xp-rt-bar{grid-column:1/-1;grid-row:2}}
/* "Needs you": a to-do list, most urgent first */
.xp-todo{display:grid;gap:8px}
.xp-todo-i{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.018)}
.xp-todo-i[data-tone=warn]{border-color:rgba(242,196,107,.28)}.xp-todo-i[data-tone=risk]{border-color:rgba(255,92,108,.32)}
.xp-todo-i b{display:block;font-weight:500;font-size:14.5px;color:var(--t1)}
.xp-todo-i small{display:block;margin-top:2px;font-size:12.5px;color:var(--t3)}
.xp-todo-a{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.xp-todo-none{display:flex;gap:14px;align-items:center;padding:14px;border:1px dashed var(--line2);border-radius:10px}
.xp-todo-none b{display:block;font-weight:500}.xp-todo-none small{display:block;color:var(--t3);font-size:12.5px;margin-top:2px}
/* "What you can do": every action by goal, the first few shown and the rest folded away */
.xp-do{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.xp-do-g{padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.014);display:grid;gap:10px;align-content:start}
.xp-do-g header{display:flex;gap:10px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid var(--line)}
.xp-do-g header b{display:block;font-weight:500}.xp-do-g header small{display:block;font-size:12px;color:var(--t3);margin-top:2px}
.xp-do-l{display:grid;gap:4px}
.xp-do-i{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;padding:9px 10px;border:0;border-radius:8px;background:none;color:var(--t1);text-align:left;cursor:pointer;font:inherit;transition:background .15s}
.xp-do-i:hover,.xp-do-i:focus-visible{background:rgba(var(--va),.1);outline:none}
.xp-do-i b{display:block;font-weight:500;font-size:13.5px}.xp-do-i small{display:block;font-size:12px;color:var(--t3);margin-top:1px;line-height:1.4}
.xp-do-i svg{flex:none;color:var(--t3)}.xp-do-i:hover svg{color:var(--v200)}
.xp-do-more summary{cursor:pointer;list-style:none;padding:8px 10px;font-size:12.5px;color:var(--v200);border-radius:8px}
.xp-do-more summary::-webkit-details-marker{display:none}
.xp-do-more summary:hover{background:rgba(var(--va),.08)}
.xp-do-more[open] summary{margin-bottom:4px}
@media (max-width:600px){.xp-todo-i{grid-template-columns:auto minmax(0,1fr)}.xp-todo-a{grid-column:1/-1;justify-content:flex-start}}
/* a service's main picture: the question, the answer in words, key numbers, the picture and its legend */
.xp-insight{padding:22px 24px 18px;overflow:hidden}
.xp-insight::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--va),.55),transparent);pointer-events:none}
.xp-insight-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;margin-bottom:16px}
.xp-insight-q{min-width:0;max-width:780px}
.xp-insight-q .xp-eyebrow{margin-bottom:10px}
.xp-insight-a{font-size:clamp(16.5px,1.45vw,20px);line-height:1.4;font-weight:400;letter-spacing:-.012em;color:var(--t2);text-wrap:pretty}
.xp-insight-a b{font-weight:600;color:var(--t1)}
.xp-insight-k{display:flex;flex-wrap:wrap;gap:8px}
.xp-insight-stat{min-width:104px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.022)}
.xp-insight-stat b{display:block;font:600 19px/1.1 var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--t1)}
.xp-insight-stat span{display:block;margin-top:5px;font:500 11.5px/1.3 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-insight-stat[data-tone=ok] b{color:var(--ok)}.xp-insight-stat[data-tone=warn] b{color:var(--warn)}.xp-insight-stat[data-tone=risk] b{color:var(--risk)}
.xp-insight-viz{position:relative;padding:10px 8px 6px;border:1px solid var(--line);border-radius:12px;
  background:radial-gradient(900px 260px at 50% 0,rgba(var(--vb),.07),transparent 70%),rgba(6,7,11,.55)}
.xp-insight-l{margin-top:14px;gap:8px 18px}
.xp-insight-l svg{flex:none}
.xp-insight-note{flex-basis:100%;color:var(--t3);font-size:12px}
.xp-insight-note:empty{display:none}
@media (max-width:600px){.xp-insight{padding:16px 14px}.xp-insight-viz{padding:6px 2px}.xp-insight-stat{flex:1 1 40%;min-width:0}}
.xp-legend i{display:inline-block;width:9px;height:9px;border-radius:3px}
.xp-legacy[data-one] .suite-tabs,.xp-legacy[data-one] .suite-hero{display:none}

/* owner console: the embedded tools (four-service suite, research, campaign review) build plain markup; this restyles
   it into the design system without changing their code */
.xp-legacy{display:grid;gap:16px;min-width:0}
.xp-legacy.xp-card{padding:22px 24px}
.xp-legacy .card{padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.034),rgba(255,255,255,.014));
  box-shadow:0 1px 0 rgba(255,255,255,.035) inset,0 14px 40px rgba(0,0,0,.22);min-width:0;overflow-wrap:anywhere}
.xp-legacy .xp-legacy .card,.xp-legacy .card .card{box-shadow:none;background:rgba(255,255,255,.02)}
.xp-legacy .panel{display:grid;gap:10px;margin:12px 0;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015)}
.xp-legacy h2{font-size:18px;font-weight:500;letter-spacing:-.02em;margin:0 0 6px}
.xp-legacy h3{font-size:15.5px;font-weight:500;letter-spacing:-.01em;margin:0 0 6px}
.xp-legacy h4{font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none;color:var(--v200);margin:14px 0 8px}
.xp-legacy p{color:var(--t2);font-size:13.5px;margin:6px 0;max-width:80ch}
.xp-legacy small{display:block;color:var(--t3);font-size:12.5px;margin:6px 0}
.xp-legacy strong{font-weight:500;color:var(--t1)}
.xp-legacy pre{white-space:pre-wrap;overflow-wrap:anywhere;font:500 12px/1.6 var(--mono);color:var(--t2);padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.25)}
.xp-legacy form{display:grid;gap:14px;margin:12px 0}
.xp-legacy label{display:grid;gap:7px;font-size:12.5px;font-weight:500;color:var(--t2);min-width:0}
.xp-legacy label:has(>input[type=checkbox]),.xp-legacy label:has(>input[type=radio]){display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:13.5px}
.xp-legacy input:not([type=checkbox]):not([type=radio]),.xp-legacy select,.xp-legacy textarea{width:100%;max-width:640px;min-height:40px;padding:9px 12px;border-radius:9px;border:1px solid var(--line2);
  background:rgba(8,9,13,.7);color:var(--t1);font-size:14px;font-weight:400}
.xp-legacy textarea{max-width:none;min-height:96px;resize:vertical;line-height:1.5}
.xp-legacy select{appearance:none;cursor:pointer;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--t3) 50%),linear-gradient(135deg,var(--t3) 50%,transparent 50%);
  background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px;background-repeat:no-repeat}
.xp-legacy input:focus,.xp-legacy select:focus,.xp-legacy textarea:focus{outline:none;border-color:var(--v400);box-shadow:0 0 0 4px rgba(var(--vb),.18)}
.xp-legacy input[type=checkbox],.xp-legacy input[type=radio]{width:17px;height:17px;margin:2px 0 0;accent-color:var(--v400);flex:none}
.xp-legacy button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;margin:4px 8px 4px 0;padding:0 14px;border-radius:9px;border:1px solid var(--line2);
  background:rgba(255,255,255,.035);color:var(--t1);font-size:13px;font-weight:500;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .28s}
.xp-legacy button:hover{border-color:var(--line3);background:rgba(255,255,255,.06)}
.xp-legacy button[type=submit]{background:#f8f8fb;border-color:#f8f8fb;color:#0b0c11}
.xp-legacy button[type=submit]:hover{box-shadow:0 0 0 4px rgba(var(--va),.18)}
.xp-legacy button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.xp-legacy form>button{justify-self:start}
.xp-legacy details{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:rgba(255,255,255,.015)}
.xp-legacy summary{cursor:pointer;font-weight:500;color:var(--t1)}
.xp-legacy fieldset{border:1px solid var(--line);border-radius:10px;padding:14px;margin:0;display:grid;gap:10px;min-width:0}
.xp-legacy legend{padding:0 6px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-legacy dl{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:6px 16px;margin:10px 0;font-size:13px}
.xp-legacy dt{color:var(--t3)}.xp-legacy dd{margin:0;color:var(--t2);overflow-wrap:anywhere}
.xp-legacy table{width:100%;border-collapse:collapse;font-size:13.5px}
.xp-legacy th{text-align:left;font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none;color:var(--t3);padding:0 12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.xp-legacy td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--t2);overflow-wrap:anywhere;max-width:360px}
.xp-legacy td:first-child{color:var(--t1)}
.xp-legacy a{color:var(--v200)}
.xp-legacy [role=status]:not(:empty){padding:10px 14px;border:1px solid rgba(var(--va),.35);border-radius:10px;background:rgba(var(--vb),.08);color:var(--t1)}
.xp-legacy .suite-heading{display:none}
.xp-legacy .suite-toolbar,.xp-legacy .suite-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.xp-legacy .suite-toolbar select{max-width:420px}
.xp-legacy .suite-tabs{padding:4px;border:1px solid var(--line2);border-radius:11px;background:rgba(255,255,255,.02)}
.xp-legacy .suite-tabs button{flex:1;margin:0;border-color:transparent;background:transparent;color:var(--t3)}
.xp-legacy .suite-tabs button[aria-pressed=true]{background:linear-gradient(180deg,rgba(143,107,255,.32),rgba(112,72,245,.2));border-color:rgba(184,169,255,.45);color:#fff}
.xp-legacy .suite-canvas{display:grid;gap:16px;min-width:0}
.xp-legacy .suite-hero{padding:24px;border:1px solid rgba(var(--va),.28);border-radius:14px;background:radial-gradient(80% 140% at 100% 0%,rgba(var(--vb),.18),transparent 60%),rgba(255,255,255,.02)}
.xp-legacy .suite-hero h3{font-size:22px;letter-spacing:-.03em}
.xp-legacy .suite-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.xp-legacy .suite-flow>div{position:relative;padding:14px 0 0;border-top:2px solid rgba(var(--va),.6)}
.xp-legacy .suite-flow>div::before{content:"";position:absolute;top:-4px;width:6px;height:6px;border-radius:50%;background:var(--v200);box-shadow:0 0 10px var(--v400);animation:xp-travel 8s linear infinite}
.xp-legacy .suite-flow>div:nth-child(2)::before{animation-delay:-2s}.xp-legacy .suite-flow>div:nth-child(3)::before{animation-delay:-4s}.xp-legacy .suite-flow>div:nth-child(4)::before{animation-delay:-6s}
@keyframes xp-travel{from{left:0}to{left:95%}}
.xp-legacy .suite-flow small{display:block;margin:0;font:500 10.5px/1 var(--mono);letter-spacing:.1em;color:var(--t3)}
.xp-legacy .suite-flow strong{display:block;margin-top:6px}
.xp-legacy .suite-panel{margin:0}
.xp-legacy .suite-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}
.xp-legacy .suite-metrics>div{padding:16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}
.xp-legacy .suite-metrics small{margin:0;font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none}
.xp-legacy .suite-metrics strong{display:block;margin-top:10px;font-size:22px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.xp-legacy .suite-chart{height:140px;display:flex;align-items:end;gap:5px;border-bottom:1px solid var(--line);margin:16px 0}
.xp-legacy .suite-chart>div{flex:1;min-height:2px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--v200),var(--v500))}
.xp-legacy .suite-table-wrap{overflow:auto}
.xp-legacy .suite-faq{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}
.xp-legacy .ws-eyebrow{font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--v200)}
.xp-legacy .ws-illust{padding:12px 14px;border:1px dashed rgba(var(--va),.45);border-radius:10px;background:rgba(var(--vb),.06)}
.xp-legacy .ws-illust strong{display:block;margin-bottom:6px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--v200)}
.xp-legacy .ws-illust td,.xp-legacy .ws-illust th{padding:6px 8px;color:var(--t3)}

/* responsive */
@media (max-width:1280px){.xp-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.xp-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1100px){.xp-hero{grid-template-columns:minmax(0,1fr)}.xp-hero-viz{min-height:240px}.xp-g-main,.xp-g3{grid-template-columns:minmax(0,1fr)}.xp-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .xp{grid-template-columns:minmax(0,1fr)}
  .xp-side{position:absolute;inset:0 auto 0 0;width:min(300px,86%);transform:translateX(-102%);transition:transform .26s var(--ease);box-shadow:30px 0 80px rgba(0,0,0,.5);background:#0b0c11}
  .xp[data-nav=open] .xp-side{transform:none}
  .xp-top,.xp-main{grid-column:1}
  .xp-top{padding:0 16px;gap:10px}
  .xp-top .xp-menu{display:grid}
  .xp-search{min-width:0;width:38px;padding:0;justify-content:center}.xp-search span,.xp-search kbd{display:none}
  .xp-page{padding:20px 16px 56px}
  .xp-g2,.xp-form-2,.xp-split{grid-template-columns:minmax(0,1fr)}
  /* stacked sign-in and sign-up: no animation behind the words, and the form starts sooner */
  .xp-auth{grid-template-columns:minmax(0,1fr);align-content:start}.xp-auth-viz{min-height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--line);padding:28px 24px 24px}
  .xp-auth-viz .xp-viz{display:none}.xp-auth-viz .xp-auth-copy{position:static}.xp-auth-viz h2{font-size:clamp(24px,6.4vw,32px);max-width:none}
  .xp-auth-panel{padding:28px 20px 40px;align-content:start}
}
@media (max-width:900px){.xp-top-meta{display:none}.xp-ready{grid-template-columns:minmax(0,1fr);justify-items:center}.xp-ready .xp-list{width:100%}}
@media (max-width:600px){.xp-legacy .suite-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.xp-legacy .suite-tabs button{flex:1 1 40%}.xp-legacy dl{grid-template-columns:minmax(0,1fr)}.xp-legacy.xp-card{padding:16px}}
@media (max-width:600px){.xp-g4{grid-template-columns:minmax(0,1fr)}.xp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.xp-board{grid-template-columns:minmax(0,1fr)}.xp-hero{padding:20px}}
@media (prefers-reduced-motion:reduce){.xp:not([data-motion=full]) *{animation:none!important;transition:none!important}}

/* an outreach email as the recipient reads it: subject, body and follow-up, line breaks kept */
.xp-mailview{display:grid;gap:6px;margin:12px 0 4px}
.xp-mailview small{color:var(--t3,#8e909d);font-size:12px;letter-spacing:.02em;margin-top:6px}
.xp-mailview>b{font-size:15px;font-weight:600}
.xp-mailbody{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel2,rgba(255,255,255,.05));border:1px solid var(--line,rgba(255,255,255,.075));border-radius:10px;padding:14px 16px;line-height:1.6;color:var(--t1,#f8f8fb)}

/* payment details on an open invoice: each value with its own Copy button */
.xp-pay{display:grid;gap:6px;margin:10px 0 0}
.xp-pay div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.xp-pay dt{min-width:118px;color:var(--t3);font-size:13px}
.xp-pay dd{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* the four jobs in the menu: the name, and its job line beneath it */
.xp-nav button span small{display:block;margin-top:2px;font-size:11.5px;line-height:1.35;color:var(--t3);font-weight:400;white-space:normal}
.xp-nav button:has(small){min-height:52px;padding-top:7px;padding-bottom:7px;align-items:flex-start}
.xp-nav button:has(small) svg{margin-top:2px}
.xp-nav button[aria-current=page] span small{color:var(--v200)}
/* an inline text button (a name that opens its record) */
.xp-link{background:none;border:0;padding:0;font:inherit;color:var(--v200);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.xp-link:hover{color:#fff}
.xp-link:focus-visible{outline:2px solid var(--v400);outline-offset:2px;border-radius:3px}

/* ================================================================ Shared controls (xd-): section tabs, segmented controls, switches, search */
/* section tabs: an underline bar with icons, one per page of the section */
.xd-tabs{display:flex;gap:2px;margin:-4px 0 20px;border-bottom:1px solid var(--line2);overflow-x:auto;scrollbar-width:none}.xd-tabs::-webkit-scrollbar{display:none}
.xd-tabs button{position:relative;display:inline-flex;align-items:center;gap:8px;flex:none;height:42px;padding:0 14px;border:0;background:none;color:var(--t3);font:500 13.5px var(--font);cursor:pointer;white-space:nowrap;transition:color .15s}
.xd-tabs button:hover{color:var(--t1)}.xd-tabs button svg{opacity:.8}
.xd-tabs button[aria-selected=true]{color:var(--t1)}.xd-tabs button[aria-selected=true]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--v400),var(--v200))}
/* segmented control */
.xd-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--line2);border-radius:11px;background:rgba(255,255,255,.025);max-width:100%}
.xd-seg button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--t2);font:500 13px var(--font);cursor:pointer;transition:background .15s,color .15s}
.xd-seg button:hover{color:var(--t1);background:rgba(255,255,255,.04)}
.xd-seg button[aria-checked=true]{background:rgba(var(--va),.18);color:#fff;box-shadow:inset 0 0 0 1px rgba(var(--va),.4)}
.xd-seg--sm button{height:28px;padding:0 10px;font-size:12.5px}
input[type=color]{height:40px;padding:4px;cursor:pointer}
.xd-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--line2);border-radius:10px;background:rgba(255,255,255,.02);color:var(--t3);min-width:220px}
.xd-search input{flex:1;border:0;background:none;outline:none;color:var(--t1);font:13px var(--font);padding:0;height:auto;box-shadow:none}
.xd-switch input{position:absolute;opacity:0;width:0;height:0}
.xd-switch span{position:relative;display:inline-block;width:32px;height:18px;border-radius:10px;background:rgba(255,255,255,.14);transition:background .15s;flex:none}
.xd-switch span::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .18s}
.xd-switch input:checked+span{background:var(--v400)}.xd-switch input:checked+span::after{transform:translateX(14px)}
.xd-switch input:focus-visible+span{outline:2px solid var(--v200);outline-offset:2px}
.xd-switch{position:relative;display:inline-flex;cursor:pointer}
[data-s=draft] i,i[data-s=draft]{background:var(--warn)}[data-s=approved] i,i[data-s=approved]{background:var(--info)}[data-s=due] i,i[data-s=due]{background:var(--v400);box-shadow:0 0 0 3px rgba(var(--va),.25)}[data-s=posted] i,i[data-s=posted]{background:var(--ok)}
#xsLim{display:block;margin-top:4px;color:var(--t3);font-size:12px}
.xp-field>.xd-seg{display:flex;flex-wrap:nowrap}.xp-field>.xd-seg button{flex:1 1 0;justify-content:center;padding:0 8px;min-width:0}.xp-field>.xd-seg button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xp-g>.xp-card,.xp-g>section{min-width:0}
.xp-field>.xd-seg{flex-wrap:wrap}.xp-field>.xd-seg button{flex:1 1 auto;padding:0 10px}.xp-field>.xd-seg button span{overflow:visible;text-overflow:clip}
/* ================================================================ Command centre dashboard (xc-) */
.xc-date{font:500 12px var(--mono);color:var(--t3);margin-left:4px}
.xc-pulse{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}
.xc-kpi{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:14px 14px 12px;border:1px solid var(--line2);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));color:var(--t2);text-align:left;cursor:pointer;overflow:hidden;transition:border-color .15s,transform .15s}
.xc-kpi:hover{border-color:rgba(var(--va),.5);transform:translateY(-1px)}
.xc-kpi-h{display:flex;align-items:center;gap:6px;font:500 11.5px var(--font);letter-spacing:0;text-transform:none;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.xc-kpi b{font-size:23px;font-weight:500;letter-spacing:-.02em;color:var(--t1);line-height:1.2;margin-top:6px;white-space:nowrap}.xc-kpi b small{font-size:13px;color:var(--t3);margin-left:2px}
.xc-kpi>small{font-size:11.5px;color:var(--t3);line-height:1.35}
.xc-kpi[data-tone=warn]{border-color:rgba(245,194,107,.35);background:linear-gradient(180deg,rgba(245,194,107,.07),rgba(255,255,255,.01))}.xc-kpi[data-tone=warn] .xc-kpi-h{color:var(--warn)}
.xc-kpi[data-tone=ok] .xc-kpi-h{color:var(--ok)}.xc-kpi[data-tone=risk]{border-color:rgba(255,120,130,.4)}.xc-kpi[data-tone=violet] .xc-kpi-h{color:var(--v200)}
.xc-kpi-s{position:absolute;left:0;right:0;bottom:0;height:30px;opacity:.55;pointer-events:none}
.xc-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start;margin-bottom:18px}
.xc-col{display:grid;gap:18px;min-width:0}.xc-col>.xp-card{margin:0}
.xc-feed{list-style:none;margin:0;padding:0;display:grid}
.xc-feed button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 6px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--t2);text-align:left;cursor:pointer;border-radius:8px}
.xc-feed li:last-child button{border-bottom:0}.xc-feed button:hover{background:rgba(255,255,255,.03)}
.xc-feed-i{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.05);color:var(--t2)}
.xc-feed-i[data-tone=ok]{color:var(--ok)}.xc-feed-i[data-tone=risk]{color:var(--risk);background:rgba(255,92,108,.1)}.xc-feed-i[data-tone=warn]{color:var(--warn)}
.xc-feed-t{flex:1;min-width:0}.xc-feed-t b{display:block;font-weight:500;color:var(--t1);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xc-feed-t small{font-size:11.5px;color:var(--t3)}
.xc-feed time{flex:none;width:74px;text-align:right;font:500 11px var(--mono);color:var(--t3)}
.xc-jobs{display:grid;gap:2px}
.xc-job{display:flex;align-items:center;gap:12px;width:100%;padding:10px 8px;border:0;border-radius:10px;background:none;color:var(--t3);text-align:left;cursor:pointer}
.xc-job:hover{background:rgba(255,255,255,.035);color:var(--t1)}
.xc-job-t{flex:1;min-width:0}.xc-job-t b{display:block;font-weight:500;color:var(--t1);font-size:13.5px}.xc-job-t small{display:block;font-size:12px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1280px){.xc-pulse{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1080px){.xc-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.xc-pulse{grid-template-columns:repeat(2,minmax(0,1fr))}.xc-feed time{display:none}}
/* ================================================================ portal-wide organisation (xo-, xq-) */
/* the bar of a long page's sections */
.xo-jump{position:sticky;top:0;z-index:4;display:flex;gap:4px;margin:-6px -2px 16px;padding:8px 2px;overflow-x:auto;scrollbar-width:none;background:linear-gradient(180deg,var(--bg0,#08090d) 70%,rgba(8,9,13,0))}
.xo-jump::-webkit-scrollbar{display:none}
.xo-jump button{flex:none;height:30px;padding:0 12px;border:1px solid var(--line2);border-radius:999px;background:rgba(255,255,255,.025);color:var(--t3);font:500 12.5px var(--font);cursor:pointer;white-space:nowrap;transition:all .15s}
.xo-jump button:hover{color:var(--t1);border-color:rgba(var(--va),.45)}
.xo-jump button[aria-current=true]{color:#fff;background:rgba(var(--va),.16);border-color:rgba(var(--va),.55)}
/* collapsible work queues */
.xq{padding:0!important;border:1px solid var(--line2)!important;border-radius:12px;margin-bottom:8px;background:rgba(255,255,255,.012);gap:0!important;transition:border-color .15s}
.xq[data-open="1"]{border-color:rgba(var(--va),.35)!important;background:rgba(var(--va),.025)}
.xq-head{position:relative;padding:12px 44px 12px 14px;cursor:pointer;border-radius:12px;outline:none}
.xq-head:hover{background:rgba(255,255,255,.02)}.xq-head:focus-visible{box-shadow:0 0 0 2px var(--v200) inset}
.xq-more{position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:8px}
.xq-chev{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:var(--t3);transition:transform .2s}.xq-chev svg{transform:rotate(90deg)}
.xq[data-open="1"] .xq-chev{transform:rotate(180deg)}
.xq-body{display:none;padding:0 14px 14px;gap:10px}.xq[data-open="1"] .xq-body{display:grid}
/* ================================================================ colour only where it means something
   grey = a state (done, approved, scheduled, in your plan); violet = the one accent (ready now, selected);
   amber = needs a person; red = failed or at risk. Green survives only as a small dot and in pass/fail grades. */
.xp-chip[data-tone=ok],.xp-chip[data-tone=info]{color:var(--t2);border-color:var(--line2);background:rgba(255,255,255,.03)}
.xp-chip[data-tone=ok] i{background:#4fd69c}.xp-chip[data-tone=info] i{background:var(--t3)}
.xp-chip[data-tone=violet]{color:var(--t1);border-color:rgba(var(--va),.35);background:rgba(var(--va),.08)}.xp-chip[data-tone=violet] i{background:var(--v400)}
.xp-ico[data-tone=ok]{color:var(--t2)}
.xp-kpi[data-tone=violet]{border-color:var(--line2);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012))}
.xc-kpi[data-tone=violet] .xc-kpi-h,.xc-kpi[data-tone=ok] .xc-kpi-h{color:var(--t3)}
.xc-feed-i[data-tone=ok],.xc-feed-i[data-tone=info],.xc-feed-i[data-tone=violet]{color:var(--t2);background:rgba(255,255,255,.05)}
/* posting states: amber waits for a person, violet is ready now, the rest are grey */

[data-s=approved] i,i[data-s=approved]{background:var(--t2)}

[data-s=posted] i,i[data-s=posted]{background:var(--t3)}
.xo-offer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.xo-offer .xp-note{margin:0}

/* ------------------------------------------------------------------ Preferences (each person's own), Controls, Activity
   The person's choices arrive as attributes on .xp (personal.js applyPrefs): accent (the --v* tokens), density, text
   size and motion. Nothing here adds a colour: the accent swaps the one accent, states keep their meaning. */
.xp[data-density=compact]{font-size:13.5px}
.xp[data-density=compact] .xp-page{gap:14px;padding-top:20px}
.xp[data-density=compact] .xp-g{gap:12px}
.xp[data-density=compact] .xp-card{padding:15px 17px}
.xp[data-density=compact] .xp-card-h{margin-bottom:11px}
.xp[data-density=compact] .xp-nav button{min-height:33px}
.xp[data-density=compact] .xp-nav h6{margin-top:14px}
.xp[data-text=large]{font-size:16px}
.xp[data-text=large] .xp-card-h h3{font-size:17px}
.xp[data-text=large] .xp-card-h p,.xp[data-text=large] .xp-note,.xp[data-text=large] small{font-size:14px}
.xp[data-text=large] .xp-nav button{font-size:15px}
.xp[data-motion=reduced] *{animation:none!important;transition:none!important}
.xp[data-motion=reduced] .xp-main{scroll-behavior:auto}

.xp-pref-state{display:inline-flex;align-items:center;gap:7px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-pref-state::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--t3)}
.xp-pref-state[data-s=saving]::before{background:var(--v400)}
.xp-pref-state[data-s=error]{color:var(--risk)}.xp-pref-state[data-s=error]::before{background:var(--risk)}
.xp-prefs-g{align-items:start}
.xp-prefs-g>.xp-pref-menu{grid-column:1/-1}
.xp-pref-menu .xp-menu-ed{columns:3 250px}
.xp-pref{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px;padding:14px 0;border-top:1px solid var(--line)}
.xp-pref:first-child{border-top:0;padding-top:2px}
.xp-pref b{display:block;font-weight:500;font-size:13.5px}
.xp-pref small{display:block;margin-top:2px;font-size:12.5px;color:var(--t3);max-width:46ch}
.xp-pref>div:last-child{display:flex;justify-content:flex-end;min-width:0}
.xp-pref-sel{height:34px;max-width:240px;padding:0 30px 0 11px;border:1px solid var(--line2);border-radius:10px;background:var(--bg2);appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--t3) 50%),linear-gradient(135deg,var(--t3) 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-size:5px 5px;background-repeat:no-repeat}
.xp-accents{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.xp-accent{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px 0 8px;border:1px solid var(--line2);border-radius:999px;background:none;color:var(--t2);font-size:12.5px;cursor:pointer}
.xp-accent i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.xp-accent:hover{color:var(--t1);border-color:var(--line3)}
.xp-accent[aria-pressed=true]{color:var(--t1);border-color:var(--v400);box-shadow:inset 0 0 0 1px var(--v400)}
.xp-menu-ed{columns:2 260px;column-gap:28px}
.xp-menu-ed h5{break-after:avoid;margin:14px 0 4px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-menu-ed h5:first-child{margin-top:4px}
.xp-menu-row{break-inside:avoid;display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:8px}
.xp-menu-row:hover{background:rgba(255,255,255,.025)}
.xp-menu-row b{flex:1;min-width:0;font-weight:400;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xp-menu-row .xp-ico{color:var(--t3)}
.xp-star{width:30px;height:30px;color:var(--t3)}
.xp-star[aria-pressed=true]{color:var(--v200)}.xp-star[aria-pressed=true] svg{fill:currentColor}
.xp-menu-lock{display:inline-flex;width:38px;justify-content:center;color:var(--t3);opacity:.7}
.xp-menu-in{min-width:38px;font-size:11.5px;color:var(--t3);white-space:nowrap}

.xp-pause{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}
.xp-pause-i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);color:var(--t2)}
.xp-pause b{display:block;font-weight:500;font-size:15px}
.xp-pause small{display:block;margin-top:3px;color:var(--t3);font-size:13px;max-width:80ch}
.xp-pause[data-paused="1"]{border-color:rgba(242,196,107,.35)}
.xp-pause[data-paused="1"] .xp-pause-i{color:var(--warn);border-color:rgba(242,196,107,.35)}
.xp-ctl-h,.xp-ctl{display:grid;grid-template-columns:minmax(200px,1.5fr) 104px 252px 124px minmax(120px,1fr) 188px;gap:14px;align-items:center}
.xp-ctl-m .xd-seg{flex-wrap:nowrap}
.xp-ctl-h{padding:0 6px 8px;border-bottom:1px solid var(--line);font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-ctl{padding:13px 6px;border-bottom:1px solid var(--line)}
.xp-ctl:last-child{border-bottom:0}
.xp-ctl--off .xp-ctl-t b{color:var(--t2)}
.xp-ctl-t b{display:block;font-weight:500;font-size:13.5px}
.xp-ctl-t small,.xp-ctl-r small{display:block;font-size:12.5px;color:var(--t3)}
.xp-ctl-err{color:var(--risk)!important;margin-top:2px}
.xp-ctl-a{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.xp-deep{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px 12px}
@media (max-width:1100px){.xp-ctl-h{display:none}.xp-ctl{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.xp-ctl-t{grid-column:1/-1}.xp-ctl-a{grid-column:1/-1;justify-content:flex-start}}
@media (max-width:640px){.xp-pause{grid-template-columns:auto minmax(0,1fr)}.xp-pause .xp-btn{grid-column:1/-1}.xp-pref{grid-template-columns:minmax(0,1fr)}.xp-pref>div:last-child{justify-content:flex-start}.xp-accents{justify-content:flex-start}}

/* ------------------------------------------------------------------ Structure: work areas in the menu, the workspace in Settings
   Settings pages share one frame: their sections listed on the left (personal.js settingsFrame), the page on the right.
   The account menu (top right) holds the person's own things; the plan sits under the organisation. */
.xo-set{display:grid;grid-template-columns:232px minmax(0,1fr);max-width:1480px;margin:0 auto;align-items:start}
.xo-set>.xp-page{margin:0;max-width:none;padding-left:28px;min-width:0}
.xo-set-nav{position:sticky;top:0;display:grid;gap:2px;padding:30px 0 28px 32px}
.xo-set-nav h6{margin:16px 10px 6px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xo-set-nav button{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--t2);font-size:13.5px;text-align:left;cursor:pointer}
.xo-set-nav button svg{color:var(--t3);flex:none}
.xo-set-nav button:hover{background:rgba(255,255,255,.035);color:var(--t1)}
.xo-set-nav button[aria-current=page]{background:rgba(255,255,255,.055);color:var(--t1);box-shadow:inset 2px 0 0 var(--v400)}
.xo-set-nav button[aria-current=page] svg{color:var(--v200)}
@media (max-width:1000px){.xo-set{grid-template-columns:minmax(0,1fr)}.xo-set-nav{position:static;display:flex;overflow-x:auto;gap:4px;padding:16px 16px 0;scrollbar-width:none}
  .xo-set-nav h6{display:none}.xo-set-nav button{white-space:nowrap;border:1px solid var(--line2)}.xo-set>.xp-page{padding-left:16px}}

.xo-ws{display:grid;grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;align-items:center;gap:18px 28px}
.xo-ws-id{display:flex;align-items:center;gap:14px;min-width:0}
.xo-ws-id b{display:block;font-weight:500;font-size:15px}.xo-ws-id small{display:block;font:400 11.5px var(--mono);color:var(--t3);margin-top:3px}
.xo-ws-mark{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line2);background:linear-gradient(160deg,rgba(var(--vb),.22),rgba(255,255,255,.02));font:600 13px/1 var(--font);letter-spacing:.04em;color:var(--t1)}
.xo-ws-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.xo-ws-facts div{min-width:0;padding-left:14px;border-left:1px solid var(--line)}
.xo-ws-facts dt{font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xo-ws-facts dd{margin:6px 0 0;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.xo-ws{grid-template-columns:minmax(0,1fr)}.xo-ws-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.xp-orgplan{margin:8px 4px 0}
.xp-orgplan>button,.xp-orgplan>span{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.02);color:var(--t2);font-size:12.5px;text-align:left}
.xp-orgplan>button{cursor:pointer}.xp-orgplan>button:hover{border-color:var(--line2);color:var(--t1)}
.xp-orgplan>button>svg{margin-left:auto;opacity:.5}
.xp-orgplan-n{font-weight:500}
.xp-orgplan-s{font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-orgplan-s[data-tone=warn]{color:var(--warn)}

.xp-acct{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line2);background:linear-gradient(160deg,rgba(var(--vb),.25),rgba(255,255,255,.03));color:var(--t1);cursor:pointer}
.xp-acct[aria-expanded=true]{box-shadow:0 0 0 3px rgba(var(--vb),.25)}
.xp-pop{position:absolute;top:calc(var(--top) - 4px);right:20px;z-index:60;width:290px;padding:6px;border:1px solid var(--line2);border-radius:14px;background:rgba(17,18,25,.97);box-shadow:0 24px 70px rgba(0,0,0,.5);animation:xpPop .14s var(--ease)}
@keyframes xpPop{from{opacity:0;transform:translateY(-4px)}}
.xp-pop-h{display:flex;align-items:center;gap:12px;padding:10px 10px 12px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.xp-pop-h b{display:block;font-weight:500;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.xp-pop-h small{display:block;font-size:12px;color:var(--t3)}
.xp-pop button{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--t2);font-size:13.5px;text-align:left;cursor:pointer}
.xp-pop button:hover,.xp-pop button:focus-visible{background:rgba(255,255,255,.05);color:var(--t1)}
.xp-pop button span{flex:1}
.xp-pop kbd{font:500 10.5px var(--mono);color:var(--t3);border:1px solid var(--line2);border-radius:5px;padding:2px 5px}
.xp-pop hr{border:0;border-top:1px solid var(--line);margin:4px 0}

/* ------------------------------------------------------------------ Ask Xevrion (assist.js): one box, the answer with its records, recent questions
   The same quiet surface in the side panel and on the Command centre; purple only on the send button. */
.xp-ask{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 13px;border:1px solid rgba(var(--va),.4);border-radius:10px;background:rgba(var(--vb),.12);color:var(--t1);font:500 13px var(--font);cursor:pointer;white-space:nowrap}
.xp-ask svg{color:var(--v200)}
.xp-ask:hover{background:rgba(var(--vb),.2)}
@media (max-width:900px){.xp-ask span{display:none}.xp-ask{width:38px;padding:0;justify-content:center}}
.xa{position:absolute;top:var(--top);right:0;bottom:0;z-index:40;display:flex;flex-direction:column;width:min(420px,100%);border-left:1px solid var(--line);background:#0b0c0e;box-shadow:-24px 0 60px rgba(0,0,0,.45);color:var(--t2);font:400 13px/1.5 var(--font);animation:xaIn .16s var(--ease)}
@keyframes xaIn{from{transform:translateX(12px);opacity:0}}
.xp[data-ask=open] .xp-main{padding-right:420px}
@media (max-width:1700px){.xp[data-ask=open] .xp-main{padding-right:0}}
.xa-h{display:flex;align-items:center;justify-content:space-between;flex:none;height:44px;padding:0 8px 0 16px;border-bottom:1px solid var(--line)}
.xa-h h2{margin:0;font:510 13px/1 var(--font);letter-spacing:0;color:var(--t1)}
.xa-h .xp-iconbtn{width:28px;height:28px}
.xa-f{display:flex;align-items:center;gap:8px;height:36px;margin:0;padding:0 4px 0 10px;border:1px solid var(--line2);border-radius:var(--r-row);background:#0f1012;transition:border-color .12s}
.xa-f:focus-within{border-color:#7357ff}
.xa-f>svg{flex:none;color:var(--t3)}
.xa-f input{flex:1;min-width:0;height:100%;padding:0;border:0;background:none;color:var(--t1);font:400 13px var(--font);outline:0;box-shadow:none}
.xa-f input::placeholder{color:var(--t3);opacity:1}
/* the box's border shows focus; the website's stylesheets (refine.css) style every input with !important, so this one is held flat */
.xp .xa-f input,.xp .xa-f input:focus,.xp .xa-f input:focus-visible{height:100%;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;outline:none!important}
.xa-send{flex:none;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:4px;background:#7357ff;color:#fff;cursor:pointer}
.xa-send:hover{background:#8068ff}
.xp .xa-send:focus-visible{outline:2px solid var(--v200);outline-offset:1px;border-radius:4px}
.xa>.xa-f{flex:none;margin:12px 12px 0}
.xa-body{flex:1;overflow:auto;display:grid;align-content:start;gap:24px;padding:16px;scrollbar-width:thin}
.xa-turn{display:grid;gap:10px;min-width:0}
.xa-q{margin:0;font:510 13px/1.45 var(--font);color:var(--t1);overflow-wrap:anywhere}
.xa-a{color:var(--t2);line-height:1.6;overflow-wrap:anywhere}
.xa-a p{margin:0}.xa-a p+p{margin-top:8px}.xa-a ul{margin:6px 0 0;padding-left:18px;list-style:disc}.xa-a li+li{margin-top:3px}
.xa-note{margin:0;padding-left:10px;border-left:2px solid rgba(242,196,107,.5);color:var(--t3);font-size:12px;line-height:1.5}
.xa-err{margin:0;color:var(--risk)}
.xa-src{margin:2px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.xa-src li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.xa-ref{font:500 11px/1 var(--mono);color:var(--t3)}
.xa-src-t{font-size:12.5px;line-height:1.5;color:var(--t2);overflow-wrap:anywhere}
.xa-go{padding:0;border:0;background:none;color:var(--t3);font:500 12px var(--font);white-space:nowrap;cursor:pointer}
.xa-go:hover{color:var(--t1)}
.xp .xa-go:focus-visible{outline:2px solid var(--v200);outline-offset:2px;border-radius:2px}
.xa-wait{display:flex;align-items:center;gap:4px;color:var(--t3)}
.xa-wait span{width:4px;height:4px;border-radius:50%;background:var(--t3);animation:xaDot 1s infinite ease-in-out}
.xa-wait span:nth-child(2){animation-delay:.15s}.xa-wait span:nth-child(3){animation-delay:.3s}
.xa-wait small{margin-left:6px;font-size:12px}
@keyframes xaDot{0%,100%{opacity:.3}50%{opacity:1}}
.xa-recent h3{margin:0 0 4px;font:500 12px/1 var(--font);letter-spacing:0;color:var(--t3)}
.xa-recent ul{margin:0 -8px;padding:0;list-style:none}
.xa-recent button{display:block;width:100%;padding:6px 8px;border:0;border-radius:var(--r-row);background:none;color:var(--t2);font:400 13px/1.4 var(--font);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.xa-recent button:hover{background:rgba(255,255,255,.04);color:var(--t1)}
.xp .xa-recent button:focus-visible{outline:2px solid var(--v200);outline-offset:-2px}
.xa-card{padding:12px}
@media (prefers-reduced-motion:reduce){.xa,.xa-wait span{animation:none}.xa-f{transition:none}}

/* the dashboard's automation card */
.xc-auto-h{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;margin-bottom:12px}
.xc-auto-h b{font-weight:500}.xc-auto-h small{color:var(--t3);font-size:12.5px;margin-left:auto;text-align:right}
.xc-auto-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(79,214,156,.15);flex:none}
.xc-auto-h[data-paused="1"]{border-color:rgba(242,196,107,.35)}
.xc-auto-h[data-paused="1"] .xc-auto-dot{background:var(--warn);box-shadow:0 0 0 3px rgba(242,196,107,.15)}
.xc-auto-l{margin:0 0 6px;font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xc-auto-r{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 36px;align-items:center;gap:10px;width:100%;padding:7px 4px;border:0;border-radius:8px;background:none;color:var(--t2);font-size:13px;text-align:left;cursor:pointer}
.xc-auto-r:hover{background:rgba(255,255,255,.03);color:var(--t1)}
.xc-auto-r span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xc-auto-r i{height:6px;border-radius:3px;background:linear-gradient(90deg,rgba(242,196,107,.75) var(--w),rgba(255,255,255,.06) var(--w))}
.xc-auto-r b{font:500 12.5px var(--mono);text-align:right;color:var(--warn)}
.xd-sw{width:16px;height:16px;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);display:inline-block}
.dv-d{font-style:normal;font-size:12px;color:var(--t3)}
.dv-d[data-good="1"]{color:var(--t2)}.dv-d[data-good="0"]{color:var(--warn)}
svg.dv{width:100%;height:auto;display:block;overflow:visible}
@keyframes dvDraw{to{stroke-dashoffset:0}}
@keyframes dvFade{to{opacity:1}}
@keyframes dvGrow{from{transform:scaleY(0)}}

.xp[data-motion=reduced] svg.dv *{animation:none!important;opacity:1!important;stroke-dashoffset:0!important}
@media (prefers-reduced-motion:reduce){.xp:not([data-motion=full]) svg.dv *{animation:none!important;opacity:1!important;stroke-dashoffset:0!important}}
svg.dv [data-s]{transition:opacity .2s}
@keyframes dvRise{from{opacity:0;transform:translateY(6px)}}
@keyframes dvGrowX{from{transform:scaleX(0)}}
@keyframes dvRing{from{stroke-dasharray:0 400}}
.app-req{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--v200)}
.tp-checks{display:flex;flex-wrap:wrap;gap:6px 16px}
.tp-line{margin:0;max-width:88%;padding:9px 12px;border-radius:12px 12px 12px 4px;border:1px solid var(--line2);background:rgba(255,255,255,.03);font-size:13.5px;line-height:1.45}
.tp-line b{display:block;font:500 11.5px/1.4 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
@keyframes tpFlow{to{stroke-dashoffset:-16}}

/* ------------------------------------------------------------------ ln views: Triage, Loops, Code Intelligence (intel.js)
   Dense hairline rows grouped with counts, 16px glyphs for status and priority, a list beside a detail panel, a
   properties column, suggestions accepted in place, keyboard hints. Grey states; violet for Xevrion's own suggestions;
   amber only where a person is needed. */
.ln{display:flex;flex-direction:column;min-height:calc(100vh - 120px);margin:-8px -4px 0;font-size:13px}
.ln-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 4px 10px;border-bottom:1px solid var(--line)}
.ln-bar-t{display:flex;align-items:center;gap:8px}.ln-bar-t b{font-size:15px;font-weight:510;letter-spacing:-.01em}
.ln-count{font:500 11.5px var(--mono);color:var(--t3);padding:1px 6px;border-radius:5px;background:rgba(255,255,255,.05)}
.ln-bar-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ln-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.02)}
.ln-seg button{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:0;border-radius:5px;background:none;color:var(--t3);font:500 12px var(--font);cursor:pointer}
.ln-seg button:hover{color:var(--t1)}.ln-seg button[aria-checked=true]{background:rgba(255,255,255,.08);color:var(--t1)}
.ln-seg i{font:500 10.5px var(--mono);font-style:normal;color:var(--t3)}
.ln-stat{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--t3)}.ln-stat svg{color:var(--v200)}
.ln-flowbar{display:flex;align-items:center;gap:6px;padding:10px 4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ln-flowbar>svg{width:24px;height:8px;fill:none;stroke:var(--line2);stroke-dasharray:2 3}
.ln-ch{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--t2)}
.ln-ch i{font:500 10.5px var(--mono);font-style:normal;color:var(--t3)}
.ln-ch--live{border-color:rgba(var(--va),.45);color:var(--t1)}.ln-ch--live i{color:var(--v200)}
.ln-rules{margin-left:auto;position:relative}
.ln-rules summary{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid var(--line);border-radius:6px;color:var(--t2);font-size:12px;cursor:pointer;list-style:none}
.ln-rules summary::-webkit-details-marker{display:none}.ln-rules summary span{font:500 10.5px var(--mono);color:var(--t3)}
.ln-rules[open]>ol,.ln-rules[open]>.xp-btn{position:absolute;right:0;z-index:5}
.ln-rules ol{top:30px;width:340px;margin:0;padding:10px 10px 10px 28px;border:1px solid var(--line2);border-radius:8px;background:#111219;box-shadow:0 16px 40px rgba(0,0,0,.5);display:grid;gap:8px}
.ln-rules ol span{display:block;color:var(--t3);font-size:12px}
.ln-rules[open]>.xp-btn{top:auto;margin-top:6px;transform:translateY(calc(100% + 8px))}
.ln-split{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);min-height:0}
.ln-split--wide{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}
.ln-list,.ln-main{min-width:0;overflow:auto}.ln-main{padding:0}
.ln-grp{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:linear-gradient(rgba(255,255,255,.025),rgba(255,255,255,.025)),#0b0c10;border-bottom:1px solid var(--line)}
.ln-grp b{font-weight:510;font-size:12.5px}.ln-grp span{font:500 11px var(--mono);color:var(--t3)}
.ln-row{display:grid;grid-template-columns:16px auto 16px minmax(0,1fr) auto auto auto;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;border:0;border-bottom:1px solid rgba(255,255,255,.04);background:none;color:var(--t1);font:inherit;text-align:left;cursor:pointer;transition:background .12s}
.ln-row:hover{background:rgba(255,255,255,.03)}
.ln-row.is-sel{background:rgba(var(--vb),.10);box-shadow:inset 2px 0 0 rgb(var(--va))}
.ln-row--static{cursor:default;grid-template-columns:16px auto minmax(0,1fr) auto auto}.ln-row--static:hover{background:rgba(255,255,255,.015)}
.ln-row[disabled]{opacity:.45;cursor:not-allowed}
.ln-tpls .ln-row{grid-template-columns:16px minmax(0,1fr) auto auto;height:auto;min-height:48px;padding:8px 12px}
.ln-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.ln-title small{display:block;font-weight:400;color:var(--t3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ln-ref{font:500 11.5px var(--mono);color:var(--t3);min-width:60px}
.ln-tags{display:flex;gap:5px;justify-content:flex-end}
.ln-chip{display:inline-flex;align-items:center;height:20px;padding:0 7px;border:1px solid var(--line2);border-radius:999px;font-size:11.5px;color:var(--t2);white-space:nowrap}
.ln-chip--v{border-color:rgba(var(--va),.5);color:var(--v200)}.ln-chip--amber{border-color:rgba(242,196,107,.5);color:#f2c46b}
.ln-age{display:inline-flex;align-items:center;gap:5px;min-width:44px;justify-content:flex-end;font:500 11.5px var(--mono);color:var(--t3)}
.ln-path{font:500 11.5px var(--mono);color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.ln-av{display:inline-grid;place-items:center;width:20px;height:20px;flex:none;border-radius:50%;background:rgba(255,255,255,.1);font:600 8.5px var(--font);letter-spacing:.02em;color:var(--t1)}
.ln-av--ghost{background:none;border:1px dashed rgba(var(--va),.6);color:var(--v200)}
.ln-g{width:16px;height:16px;flex:none;fill:none;stroke:var(--t3);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ln-g--p1 rect{fill:#f2c46b;stroke:none}.ln-g--p1 path{stroke:#08090a;stroke-width:1.8}
.ln-g--bars rect{fill:rgba(255,255,255,.14);stroke:none}.ln-g--bars rect.on{fill:var(--t2)}
.ln-g--new circle{stroke:var(--t3)}.ln-g--prog circle{stroke:rgb(var(--va))}.ln-g--prog path{fill:rgb(var(--va));stroke:none}
.ln-g--done circle{fill:rgb(var(--vb));stroke:none}.ln-g--done path{stroke:#fff;stroke-width:1.6}
.ln-g--warn circle{stroke:#f2c46b}.ln-g--warn path{stroke:#f2c46b}.ln-g--off path{stroke:var(--t3)}
.ln-g--loop{stroke:var(--v200)}.ln-g--loop.is-off{stroke:var(--t3)}.ln-g--commit{stroke:var(--t3)}
.ln-week{display:inline-flex;gap:2px;margin-right:6px}.ln-week i{width:5px;height:12px;border-radius:1.5px;background:rgba(255,255,255,.08)}.ln-week i.on{background:rgb(var(--va))}
.ln-detail{min-width:0;overflow:auto;border-left:1px solid var(--line);padding:18px 20px 24px;display:grid;align-content:start;gap:16px;background:rgba(255,255,255,.012)}
.ln-d-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ln-d-t{flex-basis:100%;margin:2px 0 0;font-size:18px;font-weight:510;letter-spacing:-.015em;line-height:1.3}
.ln-d-from{flex-basis:100%;margin:0;color:var(--t3);font-size:12.5px}
.ln-quote{margin:0;padding:10px 12px;border-left:2px solid var(--line2);color:var(--t2);font-size:13px;line-height:1.55;background:rgba(255,255,255,.02);border-radius:0 6px 6px 0}
.ln-ai{border:1px solid rgba(var(--va),.35);border-radius:10px;background:linear-gradient(180deg,rgba(var(--vb),.10),rgba(var(--vb),.03));overflow:hidden}
.ln-ai header{display:flex;align-items:center;gap:7px;padding:9px 12px;border-bottom:1px solid rgba(var(--va),.2);color:var(--v200)}
.ln-ai header b{font-weight:510;color:var(--t1)}.ln-ai header span{margin-left:auto;font:500 11.5px var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.ln-sg{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.04)}
.ln-sg:last-child{border-bottom:0}.ln-sg>span{color:var(--t3);font-size:12px}
.ln-sg>div:nth-child(2){display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.ln-sg b{font-weight:500}.ln-sg small{flex-basis:100%;color:var(--t3);font-size:11.5px;line-height:1.4}
.ln-ok{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border:0;border-radius:6px;background:#e5e5e6;color:#08090a;font:500 12px var(--font);cursor:pointer}
.ln-props{display:grid;gap:2px}.ln-prop{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:center;min-height:30px}
.ln-prop>span{color:var(--t3);font-size:12px}.ln-prop>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.ln-props--side .ln-prop{grid-template-columns:1fr;gap:6px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.ln-sel{height:26px;max-width:100%;padding:0 8px;border:1px solid var(--line2);border-radius:6px;background:#0f1013;color:var(--t1);font:inherit;font-size:12.5px}
.ln-d-f{display:flex;flex-wrap:wrap;gap:6px}
.ln-empty{display:grid;justify-items:center;gap:6px;padding:48px 16px;text-align:center;color:var(--t3)}.ln-empty b{color:var(--t1);font-weight:510}.ln-empty .ln-g{width:22px;height:22px}
.ln-note{display:flex;align-items:center;gap:6px;margin:0;color:var(--t2)}
.ln-keys{display:flex;gap:16px;padding:8px 4px 0;border-top:1px solid var(--line);color:var(--t3);font-size:11.5px}
.ln-keys kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-right:6px;padding:0 4px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:4px;font:500 10.5px var(--mono);color:var(--t2)}
.ln-doc{display:grid;gap:10px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}
.ln-doc h3{margin:0;font-size:16px;font-weight:510;letter-spacing:-.01em}.ln-doc p{margin:0;line-height:1.6;color:var(--t1)}
.ln-doc ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--t2);line-height:1.5}
.ln-doc footer{color:var(--t3);font-size:11.5px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}
.ln-next{display:grid;gap:4px}
.ln-nx{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:none;color:var(--t1);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}
.ln-nx:hover{border-color:rgba(var(--va),.5);background:rgba(var(--vb),.06)}.ln-nx svg{color:var(--v200);flex:none}.ln-nx.is-plain{cursor:default;color:var(--t2)}
.ln-runs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.ln-runs button{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:none;color:var(--t2);font:500 11.5px var(--mono);cursor:pointer}
.ln-runs button.is-on{border-color:rgba(var(--va),.55);color:var(--t1)}
.ln-panel{padding:14px 16px 6px;border-bottom:1px solid var(--line)}.ln-panel-h{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.ln-panel-h b{font-weight:510}.ln-panel-h span{color:var(--t3);font-size:12px}
.ln-dots{width:100%;height:auto;display:block}.ln-dots text{fill:var(--t3);font:500 10px var(--mono)}
.ln-dot{fill:rgb(var(--va));opacity:0;animation:lnDot .5s ease forwards;animation-delay:var(--d)}
@keyframes lnDot{from{opacity:0;transform:translateY(-4px)}to{opacity:.9;transform:none}}
.ln-lbar{display:flex;gap:2px;width:100%;height:6px;border-radius:3px;overflow:hidden;margin-bottom:6px}
.ln-lbar i,.ln-lang i{background:hsl(calc(262 - var(--k) * 30) 55% calc(72% - var(--k) * 7%))}
.ln-lang{display:inline-flex;align-items:center;gap:5px;margin-right:10px;font-size:12px;color:var(--t2)}.ln-lang i{width:7px;height:7px;border-radius:50%}.ln-lang b{font-weight:500;color:var(--t1)}
.ln-ask{display:grid;gap:12px;padding:16px}
.ln-ask-in{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;border:1px solid var(--line2);border-radius:10px;background:#0f1013}
.ln-ask-in:focus-within{border-color:rgba(var(--va),.6);box-shadow:0 0 0 3px rgba(var(--vb),.12)}
.ln-ask-in input{flex:1;min-width:0;border:0;background:none;color:var(--t1);font:inherit;font-size:14px;outline:0}.ln-ask-in>svg{color:var(--v200)}
.ln-files{display:flex;flex-wrap:wrap;gap:5px}.ln-file{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:5px;background:rgba(255,255,255,.05);font:500 11.5px var(--mono);color:var(--t2)}
.ln-connect{max-width:520px;margin:40px auto;display:grid;gap:12px;text-align:center}.ln-connect h2{margin:0;font-size:20px;font-weight:510}.ln-connect p{margin:0;color:var(--t2)}
.ln-connect .xp-form{text-align:left;margin-top:8px}.ln-connect-art svg{width:240px;margin:0 auto;display:block}
.ln-art rect{fill:rgba(255,255,255,.03);stroke:var(--line2)}.ln-art path{fill:none;stroke:var(--t3);stroke-width:1.5;stroke-linecap:round}
.ln-art .ln-art-wire{stroke:rgba(var(--va),.6);stroke-dasharray:3 4;animation:tpFlow 1.4s linear infinite}
.ln-connect-art text{fill:var(--t3);font:500 10px var(--mono)}
@media (max-width:1100px){.ln-split,.ln-split--wide{grid-template-columns:1fr}.ln-detail{border-left:0;border-top:1px solid var(--line)}.ln-tags,.ln-week{display:none}.ln-row{grid-template-columns:16px auto 16px minmax(0,1fr) auto auto}}
@media (prefers-reduced-motion:reduce){.ln-dot{animation:none;opacity:.9}.ln-art .ln-art-wire{animation:none}}
.ln-row--loop{grid-template-columns:16px auto minmax(0,1fr) auto auto auto}.ln-row--health{grid-template-columns:16px minmax(0,1fr) auto}.ln-dots{max-height:150px}.ln-prop>div .ln-g--done{margin-right:2px}
.ln-band{fill:rgba(var(--vb),.07)}.ln-gl{stroke:rgba(255,255,255,.05)}.ln-dot{filter:drop-shadow(0 0 4px rgba(139,114,255,.6))}.ln-cap{display:flex;align-items:center;gap:8px;margin:4px 0 8px;color:var(--t3);font-size:12px}.ln-cap-band{width:14px;height:8px;border-radius:2px;background:rgba(var(--vb),.25)}

/* ================================================================================================ the shell, Linear grade
   One layer over everything above, so every page inherits it: a quiet sidebar, the work in an inset panel, 13px type,
   hairline panels instead of floating cards, compact controls, sentence-case labels, and one sharp purple (#7357FF)
   used flat, never as a glow. Grey for states, purple for Xevrion and selection, amber where a person is needed. */
.xp{--bg0:#08090a;--bg1:#0b0c0e;--bg2:#101113;--bg3:#16171a;--panel:#0f1012;--panel2:#141518;
  --line:rgba(255,255,255,.065);--line2:rgba(255,255,255,.1);--line3:rgba(255,255,255,.16);
  --t1:#f7f8f8;--t2:#c9ced6;--t3:#8a8f98;--v500:#7357ff;--v400:#8b72ff;--v200:#b8a9ff;--va:139,114,255;--vb:115,87,255;--vwash:rgba(115,87,255,.12);
  --side:236px;--top:46px;--r:8px;font-size:13px;line-height:1.5;letter-spacing:-.006em;background:var(--bg0)}
.xp .xp-grid-bg{display:none}
/* sidebar */
.xp-side{background:var(--bg0);border-right:0}
.xp-brand{height:var(--top);padding:0 14px;border-bottom:0;gap:9px}.xp-brand svg{width:20px;height:20px}
.xp-brand b{font-size:12px;letter-spacing:.14em}.xp-brand span{font-size:10px;padding:2px 5px;color:var(--v200);border-color:rgba(var(--va),.45)}
.xp-org{padding:4px 10px 4px}.xp-org label{display:none}
.xp-org select{height:30px;border-radius:7px;font-size:13px;font-weight:500;background-color:var(--bg2);border-color:var(--line)}
.xp-org .xp-role{margin:6px 4px 2px;font-size:11.5px}
.xp-nav{padding:4px 8px 12px}
.xp-nav h6{margin:14px 8px 3px;font:500 11.5px/1.4 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}
.xp-nav button,.xp-nav .xp-nav-a{min-height:28px;gap:9px;padding:0 8px;border-radius:6px;font-size:13px;color:var(--t2)}
.xp-nav button svg,.xp-nav .xp-nav-a svg{width:16px;height:16px;opacity:.7}
.xp-nav button:hover,.xp-nav .xp-nav-a:hover{background:rgba(255,255,255,.04)}
.xp-nav button[aria-current=page]{background:rgba(255,255,255,.075);color:var(--t1)}
.xp-nav button[aria-current=page]::before{display:none}
.xp-nav button[aria-current=page] svg{color:var(--t1)}
.xp-nav button[data-child]{min-height:26px;margin-left:16px;width:calc(100% - 16px);padding-left:12px;font-size:12.5px;border-radius:0 6px 6px 0}
.xp-nav button[data-within] svg{color:var(--t1)}
.xp-side-foot{padding:10px 14px;border-top:1px solid var(--line)}
.xp-live{font-size:10.5px}.xp-live i{box-shadow:none;width:6px;height:6px}
.xp-badge{min-width:18px;height:18px;font-size:10.5px}.xp-badge[data-tone=violet]{background:var(--v500);color:#fff}
/* the work sits in one inset panel */
.xp-top{margin:8px 8px 0 0;padding:0 14px;gap:10px;border:1px solid var(--line);border-bottom-color:var(--line);border-radius:10px 10px 0 0;background:var(--panel)}
.xp-main{margin:0 8px 8px 0;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;background:var(--panel)}
.xp-crumb{font-size:13px;gap:8px}.xp-crumb b{font-weight:500}
.xp-crumb-custom{height:28px;padding:0 10px;border-radius:6px;font-size:12.5px;border-color:var(--line)}
.xp-search{height:28px;min-width:220px;border-radius:6px;font-size:12.5px;border-color:var(--line);background:var(--bg2)}.xp-search kbd{font-size:10px;padding:2px 5px}
.xp-iconbtn{width:28px;height:28px;border-radius:6px;border-color:var(--line);background:transparent}.xp-iconbtn svg{width:15px;height:15px}
.xp-iconbtn .xp-dot{top:5px;right:5px;width:6px;height:6px;background:var(--v500)}
.xp-page{padding:20px 24px 56px;gap:16px}
/* page headers: flat, the name and one line */
.xp-hero{padding:2px 0 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;gap:20px}
.xp-hero::before,.xp-hero::after{display:none}
.xp-hero h1,.xp-hero--bar h1{font-size:20px;line-height:1.25;letter-spacing:-.015em;font-weight:510;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--t1)}
.xp-hero p.xp-lead,.xp-hero--bar p.xp-lead{margin-top:4px;font-size:13px;color:var(--t3);max-width:76ch}
.xp-hero .xp-hero-meta{margin-top:10px;gap:6px}.xp-hero .xp-hero-actions{margin-top:12px;gap:6px}
.xp-hero.xp-hero--bar{padding:2px 0 14px}
.xp-hero-viz{min-height:180px;border:1px solid var(--line);border-radius:8px;background:var(--bg1)}
.xp-eyebrow{font:500 11.5px/1 var(--font);letter-spacing:0;text-transform:none;color:var(--t3);margin-bottom:8px}.xp-eyebrow::before{display:none}
.xp-section-title{margin:6px 0 -6px}.xp-section-title h2{font-size:13px;font-weight:510}.xp-section-title span{font:500 11.5px var(--font);letter-spacing:0;text-transform:none}
/* panels */
.xp-g{gap:12px}
.xp-card{padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--bg1);box-shadow:none}
.xp-card--hud::after{display:none}
.xp-card-h{margin-bottom:12px;gap:10px}.xp-card-h h3{font-size:13px;font-weight:510;letter-spacing:-.005em}.xp-card-h p{margin-top:2px;font-size:12px}
.xp-card-h .xp-tag{font:500 11px var(--font);letter-spacing:0;text-transform:none}
.xp-card-f{margin-top:12px;gap:6px}
.xp-note{font-size:12px}
/* figures */
.xp-kpi{min-height:0;padding:12px 14px}
.xp-kpi .xp-k-l{font:500 12px/1.3 var(--font);letter-spacing:0;text-transform:none;color:var(--t3)}.xp-kpi .xp-k-l svg{width:13px;height:13px;color:var(--t3)}
.xp-kpi .xp-k-v{margin-top:8px;font-size:22px;letter-spacing:-.02em;font-weight:510}
.xp-kpi .xp-k-s{margin-top:4px;font-size:12px}.xp-kpi .xp-spark{height:30px;opacity:.7}
.xp-kpi[data-tone=violet]{background:var(--bg1);border-color:var(--line);box-shadow:inset 2px 0 0 var(--v500)}
.xp-meter{height:4px;margin-top:8px}.xp-meter i{background:var(--v500)}
/* small controls */
.xp-chip{height:20px;padding:0 7px;gap:5px;font:500 11.5px/1 var(--font);letter-spacing:0;background:transparent;border-color:var(--line2)}
.xp-chip i{width:5px;height:5px}
.xp-chip[data-tone=violet]{color:var(--v200);border-color:rgba(var(--va),.55);background:rgba(var(--vb),.08)}
.xp-chip[data-tone=ok]{background:transparent}.xp-chip[data-tone=warn]{background:transparent}.xp-chip[data-tone=risk]{background:transparent}.xp-chip[data-tone=info]{background:transparent}
.xp-btn{min-height:28px;padding:0 10px;gap:6px;border-radius:6px;font-size:12.5px;border-color:var(--line2);background:rgba(255,255,255,.03)}
.xp-btn svg{width:14px;height:14px}
.xp-btn--primary{background:#e6e6e7;border-color:#e6e6e7;color:#08090a}.xp-btn--primary:hover{background:#fff;box-shadow:none}
.xp-btn--violet{background:var(--v500);border-color:var(--v500);color:#fff}.xp-btn--violet:hover{background:#6646ff;box-shadow:none}
.xp-btn--sm{min-height:24px;padding:0 8px;font-size:12px;border-radius:5px}
.xp-form{gap:10px}.xp-field{gap:5px}.xp-field>span{font-size:12px}
.xp-field input,.xp-field select,.xp-field textarea{min-height:30px;padding:5px 10px;border-radius:6px;font-size:13px;background:var(--bg0);border-color:var(--line2)}
.xp-field select{background-position:calc(100% - 15px) 13px,calc(100% - 10px) 13px}
.xp-field input:focus,.xp-field select:focus,.xp-field textarea:focus{border-color:var(--v500);box-shadow:0 0 0 2px rgba(var(--vb),.25)}
.xp-check{font-size:13px}.xp-check input{width:14px;height:14px;accent-color:var(--v500)}
.xp-option{padding:9px 11px;border-radius:7px}
/* tables and lists */
.xp-table{font-size:13px}
.xp-table th{font:500 11.5px/1.2 var(--font);letter-spacing:0;text-transform:none;padding:0 10px 8px}
.xp-table td{padding:8px 10px;border-bottom-color:rgba(255,255,255,.045)}
.xp-table tbody tr[data-row]:hover{background:rgba(255,255,255,.03)}
.xp-li{gap:10px;padding:8px 2px;border-bottom-color:rgba(255,255,255,.045)}.xp-li small{font-size:12px;margin-top:1px}
.xp-avatar,.xp-ico{width:28px;height:28px;border-radius:7px}.xp-ico svg{width:15px;height:15px}
.xp-avatar{background:var(--bg3);border-color:var(--line2);font-size:11px}
.xp-empty{padding:24px 12px;font-size:13px}.xp-empty svg{width:44px;height:44px}
.xp-related{padding-top:14px}.xp-related>p{font:500 11.5px var(--font);letter-spacing:0;text-transform:none}
.xp-related button{padding:9px 11px;border-radius:7px;background:transparent}
.xp-way h4{font:500 12px var(--font);letter-spacing:0;text-transform:none;color:var(--t2)}.xp-way button{padding:4px 9px;font-size:12px}
@media (max-width:900px){.xp-top{margin:0;border-radius:0;border-left:0;border-right:0}.xp-main{margin:0;border:0;border-radius:0}}

/* ------------------------------------------------------------------ Agents (agents.js) and the shared ws- list parts
   Linear's list and inspector, with the Xevrion twist: the violet Slice on anything a model made, evidence chips on
   every AI claim, and one health ring per project. Grey by default; violet for AI; amber only where a person is needed. */
.ws-slice{display:inline-grid;place-items:center;width:16px;height:16px;flex:none;border-radius:5px;background:linear-gradient(135deg,rgb(var(--vb)),#b07cff);color:#fff;box-shadow:0 0 0 1px rgba(var(--va),.35),0 2px 8px rgba(var(--vb),.35)}
.ws-slice svg{width:10px;height:10px;stroke-width:2.2}
.ws-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;margin:12px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}
.ws-stats>div{display:grid;gap:2px;padding:10px 14px;background:#0c0d11}.ws-stats span{color:var(--t3);font-size:12px}.ws-stats b{font:560 18px var(--font);letter-spacing:-.015em}
.ws-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ws-note{margin:0;color:var(--t3);font-size:12.5px;line-height:1.5}.ws-note b{color:var(--t2);font-weight:510}
.ws-lead{max-width:760px;margin:6px 0 16px;color:var(--t2);font-size:13.5px;line-height:1.55}
.ws-link{padding:0;border:0;background:none;color:var(--v200);font:500 12px var(--font);cursor:pointer}.ws-link:hover{text-decoration:underline}
.ws-h4{margin:14px 0 8px;font-size:12px;font-weight:560;letter-spacing:.02em;text-transform:uppercase;color:var(--t3);display:flex;align-items:center;gap:6px}
.ln-detail .ln-ai .ws-note{padding:10px 12px}.ln-detail .ln-ai .ws-actions{padding:0 12px 12px}
/* the workspace: top bar, section tree, stage, inspector */
.ws{display:flex;flex-direction:column;height:calc(100vh - 112px);min-height:560px;margin:-8px -4px 0}
.ws-top{display:flex;align-items:center;gap:10px;padding:0 4px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ws-node{display:flex;align-items:center;border-radius:6px}.ws-node:hover{background:rgba(255,255,255,.03)}
.ws-node.is-sel{background:rgba(var(--vb),.12);box-shadow:inset 2px 0 0 rgb(var(--va))}
.ws-sw{display:grid;place-items:center;height:24px;border-radius:5px;border:1px solid var(--line2);font-weight:600;font-size:12px}
.ws-finding{display:grid;grid-template-columns:76px minmax(0,1fr);gap:4px 10px;padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--t3);border-radius:6px;font-size:12.5px}
.ws-finding b{font-weight:560;font-size:11.5px;text-transform:uppercase;letter-spacing:.02em;color:var(--t3)}.ws-finding span{color:var(--t2)}.ws-finding em{display:block;color:var(--t3);font-style:normal;margin-top:2px}
.ws-finding .ws-link{grid-column:2;justify-self:start}
.ws-finding[data-s=block]{border-left-color:var(--risk)}.ws-finding[data-s=block] b{color:var(--risk)}.ws-finding[data-s=fix]{border-left-color:var(--warn)}.ws-finding[data-s=fix] b{color:var(--warn)}
.ws-change{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:12.5px}.ws-change small{color:var(--t3);word-break:break-word}
/* agents */
.ag-bar{display:flex;align-items:center;gap:10px;padding:12px 4px;flex-wrap:wrap}
.ag-list{display:grid;gap:10px;padding:4px}
.ag-item{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015)}
.ag-item header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ag-item header b{font-size:14px;font-weight:540}
.ag-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.06);font:600 11px var(--mono);color:var(--t2)}
.ag-item p{margin:8px 0;color:var(--t2);line-height:1.55}
.ag-figs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ag-fig{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid rgba(var(--va),.4);border-radius:999px;background:rgba(var(--vb),.08);color:var(--t1);font:500 12px var(--mono);cursor:pointer}
.ag-fig small{color:var(--v200);font-size:10.5px}
.ag-item footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--t2);font-size:12.5px}.ag-item footer span:first-child{flex:1}
.ag-conf{color:var(--t3);font:11.5px var(--mono)}
.ag-goal{display:flex;gap:10px;align-items:flex-start;padding:12px 4px}
.ag-goal textarea{flex:1;min-height:52px;padding:10px 12px;border:1px solid rgba(var(--va),.35);border-radius:8px;background:rgba(var(--vb),.05);color:var(--t1);font:inherit;resize:vertical}
/* website connections */
.cn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
/* AI and add-ons */
.ai-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}
.ai-meter{display:grid;gap:10px;padding:16px;border:1px solid rgba(var(--va),.35);border-radius:12px;background:linear-gradient(180deg,rgba(var(--vb),.12),rgba(var(--vb),.02))}
.ai-meter-h{display:flex;align-items:center;gap:8px}.ai-meter-h b{flex:1;font-size:15px;font-weight:560}
.ai-addons{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.ai-addon{display:grid;gap:8px;align-content:start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015)}
.ai-addon.is-live{border-color:rgba(var(--va),.4)}
.ai-addon header{display:flex;align-items:center;gap:8px}.ai-addon header b{flex:1;font-weight:540}.ai-addon p{margin:0;color:var(--t2);font-size:12.5px;line-height:1.5}
.ai-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.ai-price b{font-size:20px;font-weight:600;letter-spacing:-.02em}.ai-price span{color:var(--t3)}.ai-price small{flex-basis:100%;color:var(--t3);font-size:12px}
@media (max-width:1100px){.ai-grid{grid-template-columns:1fr}}
@media (max-width:760px){.ws{height:auto}}

/* ================================================================ List views, Linear pass
   Full-bleed list views with one 24px gutter, a two-level header (Studio tabs; a project's tabs beside its switcher),
   single-line rows and a properties panel. Later rules here override the earlier ln- and ws- rules on purpose. */
.ln,.ws{--g:24px}
.ln{height:100%;min-height:0;margin:0}
.ws{height:100%;min-height:560px;margin:0}
.ln>.ln-bar,.ws>.ln-bar{min-height:48px;padding:6px var(--g);flex-wrap:wrap;row-gap:6px;border-bottom:1px solid var(--line)}
.ln>.ln-flowbar{padding:10px var(--g)}
.ln .ln-grp{padding:0 var(--g)}
.ln .ln-row{padding:0 var(--g)}
.ln .ln-detail{padding:20px var(--g) 28px}
.ln>.ln-keys,.ws>.ln-keys{padding:8px var(--g);margin:0}
.st-scroll{flex:1;min-height:0;overflow:auto}
.st-scroll>.xp-page{max-width:1120px;padding:24px var(--g) 64px;margin:0}

/* the workspace toolbar under the project header */
.ws>.ws-top{padding:8px var(--g);gap:12px}

/* Agents and Site health inside the same shell */
.ln>.ag-bar,.ln>.ag-goal{padding:12px var(--g)}
.ln>.ag-list{padding:4px var(--g) 24px;overflow:auto}
.ag-fig svg{color:var(--v200)}

@media (max-width:900px){
  .ln,.ws{--g:16px}
}

/* quiet type: sentence-case group labels, tabular figures in the text face (no mono data labels in list views) */

.ws-h4{text-transform:none;letter-spacing:-.003em;font-size:12.5px;font-weight:560;color:var(--t2)}
.ln[data-ln=history] .ln-age{font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:0}
.ln .ln-detail .ws-h4{margin:4px 0 0}
.ln .ln-detail>.ws-stats{margin:0}
.ln[data-ln=history] .ln-row{grid-template-columns:16px 30px 16px minmax(0,1fr) auto}
.ln[data-ln=history] .ln-title small{display:inline;margin-left:10px;font-size:12.5px}

.ln .xp-field :is(input,select,textarea),.ws .xp-field :is(input,select,textarea){border-color:#62666f}
.ag-conf{font-family:var(--font)}
@media (max-height:960px){.ws>.ln-keys{display:none}}

/* ================================================================ Linear frame */
.xp[data-shell=ln]{--top:44px}
.xp[data-shell=ln] .xp-side-h{display:flex;align-items:center;gap:2px;height:52px;padding:8px 8px 6px 8px;flex:none}
.xp-ws-switch{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border:0;border-radius:7px;background:none;color:var(--t1);font:560 13.5px/1 var(--font);letter-spacing:-.01em;cursor:pointer;text-align:left}
.xp-ws-switch:hover,.xp-ws-switch[aria-expanded=true]{background:rgba(255,255,255,.05);box-shadow:none}
.xp-ws-switch .xo-ws-mark{display:inline-grid;place-items:center;width:22px;height:22px;flex:none;border-radius:6px;background:linear-gradient(140deg,var(--v400),var(--v500));color:#fff;font:650 10px/1 var(--font);letter-spacing:0}
.xp-ws-switch b{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:560}
.xp-chev{width:12px;height:12px;flex:none;fill:none;stroke:var(--t3);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.xp-side-ic{display:grid;place-items:center;width:30px;height:30px;flex:none;border:0;border-radius:7px;background:none;color:var(--t3);cursor:pointer}
.xp-side-ic:hover{background:rgba(255,255,255,.05);color:var(--t1)}
.xp-side-ic svg{width:15px;height:15px}
.xp[data-shell=ln] .xp-org{display:none}
.xp[data-shell=ln] .xp-nav{padding:2px 8px 12px}
.xp[data-shell=ln] .xp-nav h6{display:none}
.xp-nav-d>summary{display:flex;align-items:center;gap:6px;margin:10px 0 2px;padding:3px 8px;border-radius:6px;list-style:none;color:var(--t3);font:500 12px/1.4 var(--font);cursor:pointer;user-select:none}
.xp-nav-d:first-child>summary{margin-top:2px}
.xp-nav-d>summary::-webkit-details-marker{display:none}
.xp-nav-d>summary:hover{color:var(--t1);background:rgba(255,255,255,.03)}
.xp-nav-d>summary svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .15s var(--ease)}
.xp-nav-d:not([open])>summary svg{transform:rotate(-90deg)}
.xp[data-shell=ln] .xp-nav button span small{display:none}
.xp[data-shell=ln] .xp-nav button:has(small){min-height:28px;padding-top:0;padding-bottom:0;align-items:center}
.xp[data-shell=ln] .xp-nav button:has(small) svg{margin-top:0}
/* the twist: the open page carries the violet Slice */
.xp[data-shell=ln] .xp-nav button[aria-current=page]::before{display:block;content:"";position:absolute;left:-6px;top:6px;bottom:6px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--v200),var(--v500));transform:skewY(-28deg);box-shadow:0 0 10px rgba(var(--va),.45)}
.xp[data-shell=ln] .xp-side-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px 12px;border-top:0}
.xp[data-shell=ln] .xp-brand{height:auto;padding:0;gap:7px;color:var(--t3);border:0}
.xp[data-shell=ln] .xp-brand svg{width:15px;height:15px}
.xp[data-shell=ln] .xp-brand b{font:560 12px/1 var(--font);letter-spacing:0;color:var(--t2)}
.xp[data-shell=ln] .xp-brand:hover b{color:var(--t1)}
.xp[data-shell=ln] .xp-top{min-height:44px;padding:0 10px 0 16px}
.xp[data-shell=ln] .xp-iconbtn{border-color:transparent;background:none}
.xp[data-shell=ln] .xp-iconbtn:hover{background:rgba(255,255,255,.05);color:var(--t1)}
.xp[data-shell=ln] .xp-crumb-custom{width:28px;height:28px;padding:0;justify-content:center;border-color:transparent;color:var(--t3)}
.xp[data-shell=ln] .xp-crumb-custom span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.xp[data-shell=ln] .xp-crumb-custom:hover{background:rgba(255,255,255,.05);color:var(--t1)}
.xp[data-shell=ln] .xp-ask{height:28px;padding:0 10px;margin:0 4px;gap:6px;border-radius:6px;border-color:rgba(var(--va),.35);background:rgba(var(--vb),.08);font-size:12.5px}
.xp[data-shell=ln] .xp-ask:hover{background:rgba(var(--vb),.16)}
.xp[data-shell=ln] .xp-pop{top:48px;left:8px;right:auto;width:270px;border-radius:10px;background:#111215}
.xp[data-shell=ln] .xp-pop .xo-ws-mark{width:22px;height:22px;border-radius:6px;font-size:10px}
.xp-pop-l{display:block;padding:6px 10px 2px;color:var(--t3);font-size:11.5px}
@media (max-width:980px){.xp[data-shell=ln] .xp-ask span{display:none}}
@media (prefers-reduced-motion:reduce){.xp-nav-d>summary svg{transition:none}}

/* Linear frame, no global header */
@media (min-width:901px){
  .xp[data-shell=ln]{--top:0px;grid-template-rows:minmax(0,1fr)}
  .xp[data-shell=ln] .xp-top{display:none}
  .xp[data-shell=ln] .xp-side{grid-row:1}
  .xp[data-shell=ln] .xp-main{grid-row:1;margin:8px 8px 8px 0;border:1px solid var(--line);border-radius:10px}
}
.xp-side-ask{padding:0 8px 4px;flex:none}
.xp[data-shell=ln] .xp-side-ask .xp-ask{display:flex;width:100%;height:30px;margin:0;padding:0 8px;gap:9px;justify-content:flex-start;border:1px solid rgba(var(--va),.3);border-radius:7px;background:linear-gradient(90deg,rgba(var(--vb),.14),rgba(var(--vb),.03));color:var(--t1);font:500 13px var(--font)}
.xp[data-shell=ln] .xp-side-ask .xp-ask span{display:inline}
.xp[data-shell=ln] .xp-side-ask .xp-ask:hover{border-color:rgba(var(--va),.55);background:linear-gradient(90deg,rgba(var(--vb),.22),rgba(var(--vb),.05))}
.xp[data-shell=ln] .xp-side-ic.xp-iconbtn{width:30px;height:30px;border:0}
.xp[data-shell=ln] .xp-side-ic .xp-dot{top:6px;right:6px}
.xp[data-shell=ln] .xp-side-foot{flex-direction:column;align-items:flex-start;gap:6px}
.xp[data-shell=ln] .xp-pop{top:52px}

/* Linear frame, widths */
.xp[data-shell=ln]{--side:252px}

/* ================================================================ any colour, any look */
.xp[data-font=system]{--font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.xp[data-font=serif]{--font:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;letter-spacing:0}
.xp[data-font=mono]{--font:var(--mono);letter-spacing:0}

.xp[data-corners=sharp] :is(.xp-card,.xp-kpi,.xp-btn,.xp-chip,.ln-chip,.ln-seg,.ln-seg button,.xd-seg,.xd-seg button,.xp-nav button,.xp-main,.xp-ask,.ai-addon,.ag-item,.xp-pop,.ln-ai,.ws-stats,.ln-sel,.xp-accent,.xp-related button,.xp-ws-switch,.xo-ws-mark,.xp-iconbtn,.xp-side-ic){border-radius:2px}
.xp[data-corners=sharp] .xp-field :is(input,select,textarea){border-radius:2px}

.xp[data-corners=round] :is(.xp-card,.xp-kpi,.ai-addon,.ag-item,.ln-ai,.ws-stats,.xp-pop,.xp-related button){border-radius:14px}

.xp[data-corners=round] :is(.xp-btn,.xp-chip,.ln-chip,.ln-seg,.ln-seg button,.xd-seg,.xd-seg button,.xp-ask,.ln-sel,.xp-accent){border-radius:999px}
.xp[data-corners=round] :is(.xp-nav button,.xp-ws-switch,.xp-iconbtn,.xp-side-ic){border-radius:10px}
.xp[data-corners=round] .xp-main{border-radius:16px}
.xp[data-corners=round] .xp-field :is(input,select,textarea){border-radius:10px}
.xp-pref:has(.xp-accents){grid-template-columns:minmax(0,1fr)}
.xp-accent--own{display:inline-flex;align-items:center;gap:6px;padding-right:4px}
.xp-accent--own input[type=color]{width:20px;height:20px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;flex:none}
.xp-accent--own input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.xp-accent--own input[type=color]::-webkit-color-swatch{border:0;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.xp-accent--own input[type=color]::-moz-color-swatch{border:0;border-radius:50%}
.xp-hex{width:82px;height:24px;padding:0 6px;border:1px solid var(--line2);border-radius:5px;background:var(--bg2);color:var(--t1);font:12px var(--mono);text-transform:lowercase}
.xp-pref-warn:empty{display:none}
.xp-pref-warn{margin-top:6px;color:var(--warn)}

/* preferences rows stack */
.xp-prefs-g .xp-pref{grid-template-columns:minmax(0,1fr);gap:8px}
.xp-prefs-g .xp-pref>div:last-child{justify-self:start;display:flex;flex-wrap:wrap;gap:6px;max-width:100%}
.xp-accents{flex-wrap:wrap;justify-content:flex-start}
.ws-own{margin:4px 0 12px}

/* Automations (automations.js): the library grid, the Design my automation composer and the workflow canvas.
   13px base, hairlines, violet only for Xevrion AI and selection, amber only where a person approves. */
.au .au-page{max-width:1240px;padding:20px var(--g) 64px;display:grid;gap:16px;font-size:13px}
.au .au-page--wide{max-width:none}
.au-lead{margin:0;color:var(--t2);max-width:80ch;line-height:1.55}
.au-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.au-search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;max-width:460px;height:32px;padding:0 10px;border:1px solid var(--line2);border-radius:8px;background:rgba(255,255,255,.02);color:var(--t3)}
.au-search input{flex:1;min-width:0;border:0;background:none;color:var(--t1);font:inherit;font-size:13px;outline:none}
.au-search:focus-within{border-color:var(--v400);box-shadow:0 0 0 3px rgba(var(--vb),.18)}
.au-pills,.au-chips{display:flex;flex-wrap:wrap;gap:6px}
.au-pill,.au-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border:1px solid var(--line2);border-radius:999px;background:none;color:var(--t2);font:500 12.5px var(--font);cursor:pointer;transition:border-color .12s,background .12s,color .12s}
.au-pill i{font:500 11px var(--mono);font-style:normal;color:var(--t3)}
.au-pill:hover,.au-chip:hover{color:var(--t1);border-color:var(--line3)}

.au-pill:focus-visible,.au-chip:focus-visible,.au-stepper button:focus-visible{outline:2px solid var(--v400);outline-offset:2px}
.au-pill[aria-pressed=true],.au-chip[aria-pressed=true]{color:#fff;border-color:rgba(var(--va),.6);background:rgba(var(--vb),.16)}
.au-chip.is-later{color:var(--t3);border-style:dashed}
.au-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.au-tile{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015);transition:border-color .15s}
.au-tile:hover{border-color:var(--line3)}
.au-tile header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.au-fn{color:var(--t3);font-size:12px}
.au-tile>b{font-size:14px;font-weight:560;color:var(--t1);line-height:1.35}
.au-tile>p{margin:0;color:var(--t2);line-height:1.5}
.au-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0}
.au-meta div{min-width:0}.au-meta dt{color:var(--t3);font-size:11.5px}.au-meta dd{margin:0;color:var(--t1);font-size:12.5px}
.au-syss{display:flex;flex-wrap:wrap;gap:4px}
.au-sys{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:0 7px;border-radius:5px;background:rgba(255,255,255,.05);color:var(--t2);font-size:11.5px}
.au-sys::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--v400)}
.au-sys[data-ready=false]{color:var(--t3)}.au-sys[data-ready=false]::before{background:none;border:1px solid var(--t3)}
.au-appr{display:flex;align-items:center;gap:6px;margin:0;color:#f2c46b;font-size:12px}
.au-tile footer{display:flex;gap:8px;margin-top:auto;padding-top:4px}
.au-comp{display:grid;gap:16px;max-width:880px}
.au-comp-h{display:flex;gap:10px;align-items:flex-start}.au-comp-h b{font-size:15px;font-weight:560}.au-comp-h p{margin:4px 0 0;color:var(--t2);line-height:1.5}
.au-stepper{display:flex;gap:6px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.au-stepper button{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px 0 6px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--t3);font:500 12.5px var(--font);cursor:pointer}
.au-stepper span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.06);font:500 11px var(--mono)}
.au-stepper button[aria-current=step]{color:var(--t1);border-color:rgba(var(--va),.6);background:rgba(var(--vb),.1)}
.au-stepper button[aria-current=step] span{background:var(--v500);color:#fff}.au-stepper button[data-done] span{background:rgba(var(--vb),.3);color:#fff}
.au-qs{display:grid;border:1px solid var(--line);border-radius:10px;padding:0 16px}
.au-q{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.au-q:last-child{border-bottom:0}
.au-q-l b{display:block;font-weight:540;color:var(--t1)}.au-q-l small{display:block;margin-top:3px;color:var(--t3);line-height:1.45}
.au-in{width:100%;min-height:32px;padding:6px 10px;border:1px solid var(--line2);border-radius:8px;background:rgba(255,255,255,.03);color:var(--t1);font:inherit;font-size:13px}
textarea.au-in{resize:vertical;line-height:1.5}
.au-in:focus{outline:none;border-color:var(--v400);box-shadow:0 0 0 3px rgba(var(--vb),.18)}
.au-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.au-row .au-in{width:auto}
.au-mini{display:grid;gap:4px;color:var(--t3);font-size:12px}
.au-seg{flex-wrap:wrap}
.au-sysbox{display:grid;gap:10px;max-height:300px;overflow:auto;padding-right:6px}
.au-sysgrp h5{margin:0 0 6px;color:var(--t3);font-size:12px;font-weight:500}
.au-nav{display:flex;justify-content:space-between;gap:8px}
.au-review{display:grid;gap:2px;margin-top:6px;padding:12px;border:1px dashed var(--line2);border-radius:8px}
.au-review h5{margin:0 0 6px;font-size:12.5px;font-weight:540}
.au-dh>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.au-dh h2{margin:8px 0 4px;font-size:18px;font-weight:560}.au-dh p{margin:0;color:var(--t2);line-height:1.55;max-width:80ch}
.au-src{display:inline-flex;align-items:center;gap:6px;color:var(--t3);font-size:12px}
.au-notes{margin:0;padding-left:18px;color:var(--t2);display:grid;gap:3px;line-height:1.45}
.au-canvas{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}
.au-col{flex:0 0 250px;display:flex;flex-direction:column;gap:8px;scroll-snap-align:start}
.au-col header{display:flex;align-items:center;gap:8px;padding:0 2px 6px;border-bottom:1px solid var(--line)}
.au-col header b{font-weight:540}.au-col header i{margin-left:auto;font:500 11px var(--mono);font-style:normal;color:var(--t3)}
.au-n{display:inline-grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.07);color:var(--t2);font:500 10.5px var(--mono)}
.au-card{position:relative;display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line2);border-radius:8px;background:rgba(255,255,255,.02)}
.au-card-k{display:flex;align-items:center;gap:6px;color:var(--t3);font-size:11.5px}.au-card-k em{margin-left:auto;font-style:normal;color:var(--t2)}
.au-card>b{font-weight:520;line-height:1.35}
.au-card>p{margin:0;color:var(--t2);font-size:12.5px;line-height:1.45}
.au-card[data-kind=ai]{border-left:3px solid #7357ff;background:linear-gradient(90deg,rgba(115,87,255,.13),rgba(115,87,255,.02))}
.au-card[data-kind=ai] .au-card-k{color:#b8a9ff}
.au-card[data-kind=approval]{border-color:rgba(242,196,107,.55);background:rgba(242,196,107,.07)}
.au-card[data-kind=approval] .au-card-k{color:#f2c46b}
.au-card[data-kind=trigger]{border-color:rgba(var(--va),.35)}
.au-card[data-bo]{border-style:dashed}
.au-card[data-sim=skip]{opacity:.38}
.au-card[data-sim=failed],.au-card[data-sim=declined],.au-card[data-sim=needs_input]{box-shadow:0 0 0 2px rgba(242,196,107,.6)}
.au-card[data-sim]:not([data-sim=skip])::after{content:"";position:absolute;top:9px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--v400)}
.au-ap{margin:0;color:#f2c46b;font-size:12px}
.au-br{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.au-br li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 6px;border-radius:6px;background:rgba(255,255,255,.04);font-size:12px}
.au-br span{font-weight:540;color:var(--t1)}.au-br code{font:11.5px var(--mono);color:var(--v200)}.au-br small{color:var(--t3)}
.au-card-f{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.au-card-f:empty{display:none}.au-card-f small{width:100%;color:var(--t3);font-size:11.5px}
.au-legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--t3);font-size:12px}
.au-legend span::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:3px;vertical-align:-1px;border:1px solid var(--line3)}
.au-legend [data-k=ai]::before{background:#7357ff;border-color:#7357ff}.au-legend [data-k=approval]::before{background:rgba(242,196,107,.3);border-color:#f2c46b}
.au-legend [data-k=bo]::before{border-style:dashed}.au-legend [data-k=ran]::before{width:6px;height:6px;border-radius:50%;background:var(--v400);border:0}
.au-secs{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.au-sec{display:grid;gap:8px;align-content:start;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px}
.au-sec h5{margin:0;font-size:12.5px;font-weight:560}
.au-ul,.au-roll,.au-trace{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.au-ul li,.au-roll li,.au-trace li{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.au-ul li small,.au-roll small,.au-trace small{display:block;width:100%;color:var(--t3);line-height:1.45}
.au-tests li>b{flex:1}
.au-roll li>div,.au-trace li>div{flex:1;min-width:0}
.au-tbl{width:100%;border-collapse:collapse;font-size:12px}.au-tbl th{text-align:left;color:var(--t3);font-weight:500;padding:4px 6px;border-bottom:1px solid var(--line)}
.au-tbl td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:top;word-break:break-word}
.au-sim{display:grid;gap:10px;padding:14px;border:1px solid rgba(var(--va),.35);border-radius:10px;background:rgba(var(--vb),.05)}
.au-sim header{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.au-sim header span{color:var(--t3)}
.au-sim-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:12px;align-items:start}
.au-sim-opts{display:grid;gap:8px}
.au-trace li[data-o=declined] b,.au-trace li[data-o=failed] b{color:#f2c46b}
.au-drawer{display:grid;gap:14px}.au-drawer .au-col{flex-basis:220px}.au-drawer .au-secs{grid-template-columns:1fr}
@media (max-width:900px){.au-sim-in{grid-template-columns:1fr}.au-q{grid-template-columns:1fr;gap:8px}.au-meta{grid-template-columns:1fr}.au-col{flex-basis:230px}}

/* ================================================================================================ the service frame
   servicePage() in kit.js: every service page has the same header and the same four sections. 13px base; panels
   #0F1012 on #08090A; text #F7F8F8 / #C9CED6 / #8A8F98; purple #7357FF (flat) for actions and Xevrion acting; amber
   #F2C46B only where a person is needed; red #FF5C6C only for failures; green #4FD69C only for small "done" dots. */
.xp .sv-page{font-size:13px;color:#c9ced6}
.xp .sv-page .xp-btn--primary{background:#7357ff;border-color:#7357ff;color:#fff}.xp .sv-page .xp-btn--primary:hover{background:#6646ff;border-color:#6646ff}
.xp .sv-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id figs" "acts acts" "nav nav";gap:14px 24px;align-items:start;padding:2px 0 0;border-bottom:1px solid rgba(255,255,255,.065)}
.xp .sv-id{grid-area:id;min-width:0}.xp .sv-figs{grid-area:figs;display:flex;gap:10px}.xp .sv-actions{grid-area:acts;display:flex;flex-wrap:wrap;gap:6px}
.xp .sv-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.xp .sv-name h1{margin:0;font-size:20px;font-weight:510;letter-spacing:-.015em;color:#f7f8f8}
.xp .sv-head .xp-lead{margin:4px 0 0;color:#8a8f98;font-size:13px;max-width:76ch}
.xp .sv-last{margin:6px 0 0;color:#8a8f98;font-size:12px}.xp .sv-last time{color:#c9ced6;font-size:11.5px}
.xp .sv-status,.xp .sv-flag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:12px;font-weight:500;color:#c9ced6}
.xp .sv-status[data-t=purple]{color:#f7f8f8;border-color:rgba(115,87,255,.55)}.xp .sv-status[data-t=amber],.xp .sv-flag[data-t=amber]{color:#f2c46b;border-color:rgba(242,196,107,.4)}
.xp .sv-flag[data-t=red]{color:#ff5c6c;border-color:rgba(255,92,108,.45)}
.xp .sv-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#8a8f98}
.xp .sv-dot[data-t=purple]{background:#7357ff}.xp .sv-dot[data-t=amber]{background:#f2c46b}.xp .sv-dot[data-t=red]{background:#ff5c6c}.xp .sv-dot[data-t=green]{background:#4fd69c}
.xp .sv-dot[data-t=grey]{background:transparent;border:1px solid #8a8f98}
.xp .sv-fig{display:grid;gap:2px;min-width:150px;padding:10px 12px;border:1px solid rgba(255,255,255,.065);border-radius:8px;background:#0f1012}
.xp .sv-k{color:#8a8f98;font-size:12px}.xp .sv-fig b{font-size:22px;font-weight:510;letter-spacing:-.02em;color:#f7f8f8;font-variant-numeric:tabular-nums}
.xp .sv-fig b small{margin-left:2px;font-size:12px;color:#8a8f98;font-weight:500}.xp .sv-sub{color:#8a8f98;font-size:12px}
.xp .sv-fig--needs[data-n="1"]{border-color:rgba(242,196,107,.45)}.xp .sv-fig--needs[data-n="1"] b{color:#f2c46b}
.xp .sv-trend{display:inline-flex;align-items:center;gap:5px;color:#c9ced6;font-size:12px}.xp .sv-trend svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.xp .sv-nav{grid-area:nav;display:flex;flex-wrap:wrap;gap:2px;margin:0 -6px}
.xp .sv-nav button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 8px;border:0;border-bottom:2px solid transparent;background:none;color:#8a8f98;font:inherit;font-size:12.5px;cursor:pointer}
.xp .sv-nav button:hover{color:#f7f8f8}.xp .sv-nav button:focus-visible,.xp .sv-steps .xp-btn:focus-visible,.xp .sv-first .xp-btn:focus-visible{outline:2px solid #7357ff;outline-offset:1px}
.xp .sv-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;font:500 10.5px/1 var(--mono);background:rgba(255,255,255,.06);color:#8a8f98}
.xp .sv-count[data-n="1"],.xp .sv-nav .sv-count{background:rgba(242,196,107,.14);color:#f2c46b}
.xp .sv-first{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(242,196,107,.35);border-radius:8px;background:#0f1012}
.xp .sv-first>div{flex:1;min-width:0}.xp .sv-first b{color:#f7f8f8;font-weight:510}.xp .sv-first p{margin:2px 0 0;color:#8a8f98;font-size:12.5px}.xp .sv-first-i{color:#f2c46b;display:inline-flex}
.xp .sv-sec{display:grid;gap:10px;scroll-margin-top:12px}
.xp .sv-sec-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.xp .sv-sec-h h2{margin:0;font-size:13px;font-weight:560;color:#f7f8f8}
.xp .sv-sec-h p{margin:0;flex-basis:100%;color:#8a8f98;font-size:12px}
.xp .sv-sec-b{display:grid;gap:12px;min-width:0}
.xp .sv-steps{list-style:none;margin:0;padding:0;border:1px solid rgba(255,255,255,.065);border-radius:8px;background:#0f1012}
.xp .sv-steps li{display:grid;grid-template-columns:20px 8px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:38px;padding:4px 12px;border-bottom:1px solid rgba(255,255,255,.04)}
.xp .sv-steps li:last-child{border-bottom:0}.xp .sv-steps .sv-n{color:#8a8f98;font:500 11.5px var(--mono)}.xp .sv-steps li small{color:#8a8f98;font-size:12px}
.xp .sv-steps li[data-done="1"]>span:nth-child(3){color:#8a8f98}.xp .sv-steps li[data-done="0"]>span:nth-child(3){color:#f7f8f8}
.xp .sv-feed{list-style:none;margin:0;padding:0;border:1px solid rgba(255,255,255,.065);border-radius:8px;background:#0f1012}
.xp .sv-feed li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:36px;padding:4px 12px;border-bottom:1px solid rgba(255,255,255,.04)}
.xp .sv-feed li:last-child{border-bottom:0}.xp .sv-feed b{font-weight:510;color:#f7f8f8}.xp .sv-feed small{display:block;color:#8a8f98;font-size:12px}.xp .sv-feed time{color:#8a8f98;font:500 11.5px var(--mono)}
.xp .sv-page .sv-sc{display:grid;gap:12px;padding:0}
.xp .sv-ln{height:auto;min-height:0;margin:0;border:1px solid rgba(255,255,255,.065);border-radius:8px;overflow:hidden;background:#0f1012}
.xp .sv-ln .ln-split{min-height:380px}.xp .sv-ln--map .bm{height:min(640px,72vh)}
.xp .sv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.065)}
@media (max-width:900px){.xp .sv-head{grid-template-columns:1fr;grid-template-areas:"id" "figs" "acts" "nav"}.xp .sv-figs{flex-wrap:wrap}.xp .sv-fig{flex:1}}
@media (prefers-reduced-motion:reduce){.xp .sv-nav button,.xp .sv-page .xp-btn{transition:none}}

/* ================================================================================================ elevation pass
   The Ops website's language, brought into the app: calm dark surfaces, crisp 1px hairlines, dense but airy rows, one
   flat purple for actions, selection and Xevrion acting, amber only where a person is needed, red only for failures and
   green only for small "done" dots. Radius follows hierarchy (window 12, card 10, row and control 6, chip 5); cards are
   flat (only overlays cast a shadow); no gradient decoration. Primary actions and product windows carry the blade cut
   (the top-right corner) from the website. This layer comes last, so it wins over the passes above. */
.xp{--bg0:#08090a;--bg1:#0b0c0e;--bg2:#0f1012;--bg3:#141518;--panel:#0f1012;--panel2:#141518;
  --line:rgba(255,255,255,.06);--line2:rgba(255,255,255,.09);--line3:rgba(255,255,255,.14);--t4:#62666d;
  --r-win:12px;--r-card:10px;--r-row:6px;--r-chip:5px;--blade:7px;--hl-in:60ms;--hl-out:160ms;--ease-q:cubic-bezier(.25,.46,.45,.94);
  --amber-wash:rgba(242,196,107,.12);--red-wash:rgba(255,92,108,.1);
  font-size:13px;line-height:1.5;letter-spacing:-.006em;font-feature-settings:"cv11","ss03";background:var(--bg0)}
.xp ::selection{background:rgba(115,87,255,.4)}
.xp :focus-visible{outline:2px solid var(--v200);outline-offset:2px;border-radius:var(--r-row)}
.xp b,.xp strong{font-weight:510}
.xp .xp-mono,.xp time,.xp kbd{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- the sidebar */
.xp[data-shell=ln] .xp-side{background:var(--bg0);border-right:0}
.xp[data-shell=ln] .xp-side-h{height:48px;padding:8px 8px 4px;gap:0}
.xp-ws-switch{height:30px;padding:0 6px;gap:8px;border-radius:var(--r-row);font:510 13px/1 var(--font);letter-spacing:-.01em}
.xp-ws-switch .xo-ws-mark{width:20px;height:20px;border-radius:5px;background:var(--v500);font:600 9.5px/1 var(--font)}
.xp-ws-switch:hover,.xp-ws-switch[aria-expanded=true]{background:rgba(255,255,255,.04)}
.xp-side-ic{width:28px;height:28px;border-radius:var(--r-row);color:var(--t3);transition:background var(--hl-out),color var(--hl-out)}
.xp-side-ic:hover{background:rgba(255,255,255,.05);color:var(--t1);transition-duration:var(--hl-in)}
.xp-rail-b[aria-pressed=true]{color:var(--v200)}
.xp[data-shell=ln] .xp-side-ask{padding:2px 8px 6px}
.xp[data-shell=ln] .xp-side-ask .xp-ask{height:30px;padding:0 8px;gap:9px;border:1px solid var(--line2);border-radius:var(--r-row);background:rgba(255,255,255,.025);color:var(--t1);font:450 13px var(--font);transition:background var(--hl-out),border-color var(--hl-out)}
.xp[data-shell=ln] .xp-side-ask .xp-ask svg{color:var(--v200)}
.xp[data-shell=ln] .xp-side-ask .xp-ask:hover{background:rgba(255,255,255,.05);border-color:var(--line3);transition-duration:var(--hl-in)}
.xp[data-shell=ln] .xp-nav{padding:0 8px 12px}
.xp-nav-d>summary{margin:14px 0 2px;padding:3px 8px;border-radius:var(--r-row);color:var(--t4);font:500 11.5px/1.4 var(--font);transition:color var(--hl-out)}
.xp-nav-d:first-child>summary{margin-top:4px}
.xp-nav-d>summary:hover{color:var(--t2);background:none}
.xp-nav-d>summary svg{opacity:0;transition:opacity var(--hl-out),transform .15s var(--ease)}
.xp-nav-d>summary:hover svg,.xp-nav-d:not([open])>summary svg{opacity:1}
.xp[data-shell=ln] .xp-nav button,.xp[data-shell=ln] .xp-nav .xp-nav-a{min-height:28px;gap:10px;padding:0 8px;border-radius:var(--r-row);font:450 13px/1.3 var(--font);color:var(--t2);transition:background var(--hl-out),color var(--hl-out)}
.xp[data-shell=ln] .xp-nav button svg,.xp[data-shell=ln] .xp-nav .xp-nav-a svg{width:16px;height:16px;opacity:1;color:var(--t3)}
.xp[data-shell=ln] .xp-nav button:hover,.xp[data-shell=ln] .xp-nav .xp-nav-a:hover{background:rgba(255,255,255,.04);color:var(--t1);transition-duration:var(--hl-in)}
.xp[data-shell=ln] .xp-nav button[aria-current=page]{background:rgba(255,255,255,.06);color:var(--t1)}
.xp[data-shell=ln] .xp-nav button[aria-current=page] svg,.xp[data-shell=ln] .xp-nav button[data-within] svg{color:var(--v200)}
.xp[data-shell=ln] .xp-nav button[aria-current=page]::before{left:-8px;top:7px;bottom:7px;width:2px;border-radius:0;background:var(--v500);box-shadow:none;transform:skewY(-30deg)}
.xp[data-shell=ln] .xp-nav button[data-child]{min-height:26px;margin-left:15px;width:calc(100% - 15px);padding-left:12px;border-left:1px solid var(--line2);border-radius:0 var(--r-row) var(--r-row) 0;font-size:12.5px}
.xp[data-shell=ln] .xp-nav button[data-child][aria-current=page]::before{display:none}
.xp-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;font:500 10.5px/18px var(--mono);text-align:center;background:rgba(255,255,255,.07);color:var(--t2);box-shadow:none}
.xp-badge[data-tone=violet]{background:rgba(115,87,255,.2);color:var(--v200)}
.xp-badge[data-tone=warn]{background:var(--amber-wash);color:var(--warn)}
.xp[data-shell=ln] .xp-side-foot{padding:10px 14px 12px;gap:4px}
.xp-live{font:500 10.5px/1.3 var(--mono);letter-spacing:.02em;color:var(--t4)}
.xp-live i{width:6px;height:6px;box-shadow:none}

/* the narrow menu: icons only, each name its tooltip */
.xp[data-shell=ln][data-rail="1"]{--side:56px}
.xp[data-rail="1"] .xp-side-h{flex-direction:column;height:auto;gap:2px;padding:8px}
.xp[data-rail="1"] .xp-ws-switch{width:30px;flex:none;padding:0 5px}
.xp[data-rail="1"] .xp-ws-switch>:not(.xo-ws-mark){display:none}
.xp[data-rail="1"] .xp-side-ask .xp-ask{width:30px;padding:0 6px;margin:0 auto}
.xp[data-rail="1"] .xp-side-ask .xp-ask span,.xp[data-rail="1"] .xp-nav button>span:not(.xp-badge),.xp[data-rail="1"] .xp-nav .xp-nav-a>span,.xp[data-rail="1"] .xp-nav .xp-nav-a svg:last-child,
.xp[data-rail="1"] .xp-brand b,.xp[data-rail="1"] .xp-live span{display:none}
.xp[data-rail="1"] .xp-nav{padding:0 8px 12px}
.xp[data-rail="1"] .xp-nav-d>summary{height:1px;margin:10px 6px;padding:0;overflow:hidden;color:transparent;background:var(--line2)}
.xp[data-rail="1"] .xp-nav button,.xp[data-rail="1"] .xp-nav .xp-nav-a{position:relative;justify-content:center;padding:0;width:40px;margin:0 auto}
.xp[data-rail="1"] .xp-nav button[data-child]{display:none}
.xp[data-rail="1"] .xp-nav .xp-badge{position:absolute;top:2px;right:2px;min-width:8px;width:8px;height:8px;padding:0;font-size:0;line-height:0}
.xp[data-rail="1"] .xp-side-foot{align-items:center}
@media (max-width:900px){.xp[data-rail="1"]{--side:272px}.xp-rail-b{display:none}}

/* ---------------------------------------------------------------- the work panel and page headers */
.xp-main:focus{outline:none}
@media (min-width:901px){.xp[data-shell=ln] .xp-main{margin:8px 8px 8px 0;border:1px solid var(--line);border-radius:var(--r-win);background:var(--bg1)}}
.xp-page{max-width:1320px;padding:24px 32px 64px;gap:20px}
.xp-hero,.xp-hero.xp-hero--bar{padding:0 0 18px;gap:12px 24px;border-bottom:1px solid var(--line)}
.xp-hero h1,.xp-hero--bar h1,.xp .sv-name h1{font-size:20px;line-height:1.25;font-weight:510;letter-spacing:-.022em;color:var(--t1);text-wrap:balance}
.xp-hero p.xp-lead,.xp-hero--bar p.xp-lead,.xp .sv-head .xp-lead{margin-top:4px;font-size:13px;line-height:1.5;color:var(--t3);max-width:72ch}
.xp-hero .xp-hero-meta{margin-top:10px;gap:6px;align-items:center}
.xp-hero.xp-hero--bar .xp-hero-actions{gap:6px}
.xc-date{font:500 11.5px var(--mono);color:var(--t4)}
.xp-section-title h2{font-size:13px;font-weight:510;letter-spacing:-.01em}

/* ---------------------------------------------------------------- cards: flat, hairline, one radius for the level */
.xp-card{padding:16px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg2);box-shadow:none}
.xp-card-h{margin-bottom:12px;gap:12px;align-items:flex-start}
.xp-card-h h3{font-size:13px;font-weight:510;letter-spacing:-.01em;color:var(--t1)}
.xp-card-h p{margin-top:2px;font-size:12px;line-height:1.45;color:var(--t3)}
.xp-kpi{border-radius:var(--r-card);background:var(--bg2)}
.xp-kpi[data-tone=violet]{box-shadow:none;border-color:rgba(115,87,255,.35)}
.xp-empty{padding:28px 16px;gap:6px;border:1px dashed var(--line2);border-radius:var(--r-card);background:none;color:var(--t3)}
.xp-empty svg{width:36px;height:36px;opacity:.8}.xp-empty b{color:var(--t1);font-weight:510;font-size:13px}.xp-empty span{font-size:12.5px;max-width:52ch}

/* ---------------------------------------------------------------- controls */
.xp-btn{min-height:28px;padding:0 10px;gap:6px;border-radius:var(--r-row);border:1px solid var(--line2);background:rgba(255,255,255,.035);color:var(--t1);font:500 12.5px/1 var(--font);letter-spacing:-.005em;box-shadow:none;
  transition:background var(--hl-out) var(--ease-q),border-color var(--hl-out),color var(--hl-out),transform .12s var(--ease-q)}
.xp-btn:hover{background:rgba(255,255,255,.065);border-color:var(--line3);box-shadow:none;transition-duration:var(--hl-in)}
.xp-btn:active{transform:scale(.98)}
.xp-btn svg{width:14px;height:14px;color:var(--t3)}.xp-btn:hover svg{color:var(--t1)}
.xp-btn--primary,.xp-btn--violet,.xp .sv-page .xp-btn--primary{padding-right:13px;border-color:transparent;background:var(--v500);color:#fff;box-shadow:none;
  clip-path:polygon(0 0,calc(100% - var(--blade)) 0,100% var(--blade),100% 100%,0 100%)}
.xp-btn--primary svg,.xp-btn--violet svg{color:rgba(255,255,255,.85)}
.xp-btn--primary:hover,.xp-btn--violet:hover,.xp .sv-page .xp-btn--primary:hover{background:#6646ff;border-color:transparent;box-shadow:none}
.xp-btn--primary:hover svg,.xp-btn--violet:hover svg{color:#fff}
.xp-btn--primary:focus-visible,.xp-btn--violet:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px var(--v500)}
.xp-btn--ghost{border-color:transparent;background:transparent;color:var(--t2)}.xp-btn--ghost:hover{background:rgba(255,255,255,.05);color:var(--t1)}
.xp-btn--danger{color:#ff8a96;border-color:rgba(255,92,108,.3);background:transparent}.xp-btn--danger:hover{background:var(--red-wash);border-color:rgba(255,92,108,.5)}
.xp-btn--sm{min-height:24px;padding:0 8px;font-size:12px;border-radius:5px;--blade:5px}
.xp-btn--primary.xp-btn--sm,.xp-btn--violet.xp-btn--sm{padding-right:10px}
.xp-btn[disabled]{opacity:.4}
.xp-iconbtn{border-radius:var(--r-row)}
.xp-chip{height:20px;padding:0 7px;gap:5px;border-radius:var(--r-chip);border:1px solid var(--line2);background:transparent;font:500 11.5px/1 var(--font);color:var(--t2)}
.xp-chip[data-tone=violet]{color:var(--v200);border-color:rgba(115,87,255,.45);background:transparent}
.xp-chip[data-tone=warn]{color:var(--warn);border-color:rgba(242,196,107,.35)}
.xp-chip[data-tone=risk]{color:var(--risk);border-color:rgba(255,92,108,.4)}
.xp-chip[data-tone=ok]{color:var(--t2)}.xp-chip[data-tone=ok] i{background:var(--ok)}
.xp-field>span{font-size:12px;font-weight:500;color:var(--t2)}.xp-field>span small{margin-left:6px;color:var(--t3);font-weight:400}
.xp-field input,.xp-field select,.xp-field textarea{min-height:32px;padding:6px 10px;border:1px solid var(--line2);border-radius:var(--r-row);background:var(--bg0);font-size:13px;color:var(--t1);
  transition:border-color var(--hl-out),box-shadow var(--hl-out)}
.xp-field input:hover,.xp-field select:hover,.xp-field textarea:hover{border-color:var(--line3)}
.xp-field input:focus,.xp-field select:focus,.xp-field textarea:focus{outline:none;border-color:var(--v500);box-shadow:0 0 0 1px var(--v500)}
.xp-field input::placeholder,.xp-field textarea::placeholder{color:var(--t4)}
.xp kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:1px solid var(--line2);border-radius:4px;background:rgba(255,255,255,.03);font-size:10.5px;color:var(--t3)}

/* ---------------------------------------------------------------- rows: a status dot, the title, mono meta, the time on the right */
.xp .sv-feed,.xp .sv-steps{border-color:var(--line);border-radius:var(--r-card);background:var(--bg2);overflow:hidden}
.xp .sv-feed li{grid-template-columns:8px minmax(0,1fr) auto;gap:12px;min-height:40px;padding:6px 14px;border-bottom-color:var(--line);transition:background var(--hl-out)}
.xp .sv-feed li:hover{background:rgba(255,255,255,.02);transition-duration:var(--hl-in)}
.xp .sv-feed b{font-weight:510;color:var(--t1)}.xp .sv-feed small{margin-top:1px;font-size:12px;color:var(--t3)}
.xp .sv-feed time{font:500 11.5px var(--mono);color:var(--t4);white-space:nowrap}
.xp .sv-steps li{min-height:40px;padding:4px 14px;border-bottom-color:var(--line)}
.xp-table th{font:500 11.5px/1.2 var(--font);color:var(--t3);border-bottom:1px solid var(--line)}
.xp-table td{border-bottom-color:var(--line)}
.xp-table tbody tr[data-row]{transition:background var(--hl-out)}.xp-table tbody tr[data-row]:hover{background:rgba(255,255,255,.025);transition-duration:var(--hl-in)}

/* "Needs you": one list of rows, most urgent first; the edge says why it waits (amber a person, red a failure) */
.xp-todo{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.xp-card>.xp-todo{margin:0 -16px -16px;border:0;border-top:1px solid var(--line);border-radius:0 0 var(--r-card) var(--r-card)}
.xp-todo-i{position:relative;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;transition:background var(--hl-out)}
.xp-todo-i:last-child{border-bottom:0}
.xp-todo-i:hover{background:rgba(255,255,255,.02);transition-duration:var(--hl-in)}
.xp-todo-i::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background:var(--t4)}
.xp-todo-i[data-tone=warn]::before{background:var(--warn)}.xp-todo-i[data-tone=risk]::before{background:var(--risk)}.xp-todo-i[data-tone=violet]::before{background:var(--v500)}
.xp-todo-i[data-tone=warn],.xp-todo-i[data-tone=risk]{border-color:var(--line)}
.xp-todo-i .xp-ico{width:24px;height:24px;border-radius:var(--r-row);border:1px solid var(--line2);background:transparent;color:var(--t3)}
.xp-todo-i .xp-ico svg{width:14px;height:14px}
.xp-todo-i[data-tone=warn] .xp-ico{color:var(--warn)}.xp-todo-i[data-tone=risk] .xp-ico{color:var(--risk)}.xp-todo-i[data-tone=violet] .xp-ico{color:var(--v200)}
.xp-todo-i b{font-size:13px;font-weight:510;line-height:1.4}.xp-todo-i small{font-size:12px;color:var(--t3)}
.xp-todo-a{gap:6px}
.xp-todo-none{gap:12px;padding:12px 14px;border:1px dashed var(--line2);border-radius:var(--r-card)}
.xp-todo-none b{font-weight:510}

/* "What you can do": each service's first steps, as rows */
.xp-do{gap:12px}
.xp-do-g{padding:12px;border-radius:var(--r-card);background:var(--bg1);gap:6px}
.xp-do-g header{gap:10px;padding-bottom:8px;align-items:center}
.xp-do-g header .xp-ico{width:24px;height:24px;border-radius:var(--r-row);border:1px solid var(--line2);background:transparent;color:var(--t3)}
.xp-do-g header .xp-ico svg{width:14px;height:14px}
.xp-do-g header b{font-weight:510}
.xp-do-i{padding:7px 8px;border-radius:var(--r-row);transition:background var(--hl-out)}
.xp-do-i:hover{background:rgba(255,255,255,.035);transition-duration:var(--hl-in)}
.xp-do-i b{font-weight:450;font-size:13px}.xp-do-i small{font-size:12px}
.xp-do-i:focus-visible{background:rgba(255,255,255,.035);outline:2px solid var(--v200);outline-offset:-2px}

/* ---------------------------------------------------------------- the Command centre */
.xc-pulse{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg2);overflow:hidden}
.xc-kpi{gap:2px;padding:14px 16px 16px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;transition:background var(--hl-out)}
.xc-kpi:last-child{border-right:0}
.xc-kpi:hover{transform:none;border-color:var(--line);background:rgba(255,255,255,.02);transition-duration:var(--hl-in)}
.xc-kpi-h{font:500 12px var(--font);color:var(--t3)}.xc-kpi-h svg{color:var(--t4)}
.xc-kpi b{margin-top:6px;font-size:20px;font-weight:510;letter-spacing:-.022em;font-variant-numeric:tabular-nums}
.xc-kpi>small{font-size:12px;color:var(--t3)}
.xc-kpi[data-tone=warn]{background:transparent;border-color:var(--line)}.xc-kpi[data-tone=warn] b{color:var(--warn)}.xc-kpi[data-tone=warn] .xc-kpi-h{color:var(--t3)}
.xc-kpi[data-tone=risk] b{color:var(--risk)}.xc-kpi[data-tone=violet] .xc-kpi-h,.xc-kpi[data-tone=ok] .xc-kpi-h{color:var(--t3)}
.xc-kpi-s{opacity:.45}
@media (max-width:1280px){.xc-pulse{grid-template-columns:repeat(3,minmax(0,1fr))}.xc-kpi{border-bottom:1px solid var(--line)}}
@media (max-width:640px){.xc-pulse{grid-template-columns:repeat(2,minmax(0,1fr))}}
.xc-grid{gap:16px;margin:0}.xc-col{gap:16px}
.xc-feed button{padding:8px 6px;border-radius:var(--r-row);border-bottom-color:var(--line);transition:background var(--hl-out)}
.xc-feed button:hover{background:rgba(255,255,255,.025);transition-duration:var(--hl-in)}
.xc-feed-i{width:24px;height:24px;border-radius:var(--r-row);background:transparent;border:1px solid var(--line2);color:var(--t3)}
.xc-feed-i[data-tone=risk]{background:transparent;border-color:rgba(255,92,108,.4)}
.xc-feed time{font-size:11.5px;color:var(--t4)}
.xc-job{padding:8px;border-radius:var(--r-row);transition:background var(--hl-out),color var(--hl-out)}
.xc-job:hover{background:rgba(255,255,255,.03);transition-duration:var(--hl-in)}
.xc-job .xp-ico{width:28px;height:28px;border-radius:var(--r-row);background:transparent;border:1px solid var(--line2)}
.xc-job-t b{font-size:13px;font-weight:510}

/* every service at a glance: one row each, the same columns as the header */
.xc-svc-head,.xc-svc-r{display:grid;grid-template-columns:8px minmax(150px,1.3fr) minmax(130px,1fr) minmax(150px,1.1fr) 92px 14px;gap:16px;align-items:center}
.xc-svc-head{padding:0 14px 8px;border-bottom:1px solid var(--line);margin:0 -16px;color:var(--t3);font-size:11.5px}
.xc-svc-head span:first-child{grid-column:2}.xc-svc-head span:nth-child(4){text-align:right}
.xc-svc{list-style:none;margin:0 -16px -16px;padding:0}
.xc-svc li+li{border-top:1px solid var(--line)}
.xc-svc-r{width:100%;min-height:56px;padding:8px 14px;border:0;background:none;color:var(--t2);font:inherit;text-align:left;cursor:pointer;transition:background var(--hl-out)}
.xc-svc li:last-child .xc-svc-r{border-radius:0 0 var(--r-card) var(--r-card)}
.xc-svc-r:hover{background:rgba(255,255,255,.025);transition-duration:var(--hl-in)}
.xc-svc-r>svg{color:var(--t4);opacity:0;transition:opacity var(--hl-out),transform var(--hl-out)}
.xc-svc-r:hover>svg,.xc-svc-r:focus-visible>svg{opacity:1;transform:translateX(2px);color:var(--t2)}
.xc-svc-n,.xc-svc-k,.xc-svc-s{display:grid;gap:1px;min-width:0}
.xc-svc-n b{font-weight:510;color:var(--t1)}
.xc-svc-n small,.xc-svc-k small,.xc-svc-s small{font-size:12px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xc-svc-k b{font-size:17px;line-height:1.2;font-weight:510;letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums}
.xc-svc-k b small{margin-left:1px;font-size:12px;color:var(--t3)}
.xc-svc-s{grid-template-columns:auto;justify-items:start}
.xc-svc-w{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.xc-svc-clear{font-size:12px;color:var(--t4)}
.xp .sv-spark{display:block;width:76px;height:22px;overflow:visible}
.xp .sv-spark polyline,.xp .sv-spark path{fill:none;stroke:var(--v400);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.xp .sv-spark circle{fill:var(--v400)}
.xp .sv-spark[data-t=grey] polyline,.xp .sv-spark[data-t=none] path{stroke:var(--t4)}.xp .sv-spark[data-t=grey] circle{fill:var(--t3)}
@media (max-width:1080px){.xc-svc-head{display:none}.xc-svc-r{grid-template-columns:8px minmax(0,1fr) auto auto;row-gap:4px}.xc-svc-k{grid-column:2}.xc-svc-s{grid-column:3;grid-row:1/span 2;align-self:center}.xc-svc-w{grid-column:4;grid-row:1/span 2}.xc-svc-r>svg{display:none}}
@media (max-width:600px){.xc-svc-s{display:none}.xc-svc-w{grid-column:3}}

.xc-auto-h{border-color:var(--line);border-radius:var(--r-row)}
.xc-auto-dot{box-shadow:none}

/* ---------------------------------------------------------------- overlays: the only surfaces that cast a shadow */
.xp-scrim{background:rgba(4,5,6,.55)}
.xp-cmd{top:14%;width:min(620px,calc(100% - 32px));border:1px solid var(--line2);border-radius:var(--r-win);background:var(--bg2);box-shadow:0 0 0 1px rgba(0,0,0,.5),0 30px 90px -20px rgba(0,0,0,.85)}
.xp-cmd-in{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px 0 16px;border-bottom:1px solid var(--line)}
.xp-cmd-in>svg{flex:none;color:var(--t3)}
.xp-cmd .xp-cmd-in input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;font-size:14.5px;color:var(--t1)}
.xp-cmd .xp-cmd-in input::placeholder{color:var(--t4)}
.xp-cmd .xp-cmd-in input:focus,.xp-cmd .xp-cmd-in input:focus-visible{outline:none;box-shadow:none}
.xp-cmd-in:focus-within{border-bottom-color:rgba(115,87,255,.5)}
.xp-cmd .xp-cmd-in input::-webkit-search-cancel-button{display:none}
.xp-cmd ul{max-height:min(400px,56vh);padding:6px}
.xp-cmd-g{padding:8px 10px 4px;font:500 11.5px var(--font);color:var(--t4)}
.xp-cmd li button{gap:10px;min-height:36px;padding:0 10px;border-radius:var(--r-row);font-size:13px;color:var(--t2)}
.xp-cmd li button span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.xp-cmd li button svg{width:16px;height:16px;color:var(--t3)}
.xp-cmd li button small{font:500 11.5px var(--font);color:var(--t4)}
.xp-cmd li button:hover{background:rgba(255,255,255,.035)}
.xp-cmd li button[aria-selected=true]{background:rgba(255,255,255,.06);color:var(--t1)}
.xp-cmd li button[aria-selected=true] svg{color:var(--v200)}
.xp-cmd-none{padding:18px 12px;color:var(--t3);font-size:12.5px}
.xp-cmd-f{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--line);color:var(--t4);font-size:11.5px}
.xp-cmd-f span{display:inline-flex;align-items:center;gap:4px}
.xp-drawer{background:var(--bg2);border-left-color:var(--line2);box-shadow:-24px 0 70px rgba(0,0,0,.55)}
.xp-drawer header{padding:18px 20px 14px}.xp-drawer header h3{font-size:15px;font-weight:510;letter-spacing:-.015em}.xp-drawer header p{font-size:12.5px}
.xp-drawer .xp-drawer-b{padding:16px 20px}.xp-drawer footer{padding:12px 20px;gap:8px;background:var(--bg1)}
.xp-dialog{border-radius:var(--r-win);background:var(--bg2);border-color:var(--line2)}.xp-dialog h3{font-size:15px;font-weight:510}.xp-dialog p{font-size:13px}
.xp-toast{border-radius:8px;background:var(--bg3);font-size:13px}
.xp-pop{border-radius:var(--r-card);background:var(--bg2);border-color:var(--line2)}

/* ---------------------------------------------------------------- the service frame, tightened */
.xp .sv-head{gap:12px 24px;padding:0;border-bottom-color:var(--line)}
.xp .sv-name{gap:6px 10px}
.xp .sv-status,.xp .sv-flag{height:22px;padding:0 8px;border-color:var(--line2);border-radius:var(--r-chip);font-size:12px}
.xp .sv-status[data-t=purple]{border-color:rgba(115,87,255,.45);color:var(--t1)}
.xp .sv-last{font-size:12px;color:var(--t3)}.xp .sv-last time{color:var(--t2)}
.xp .sv-figs{gap:8px}
.xp .sv-fig{min-width:168px;padding:10px 14px 12px;border-color:var(--line);border-radius:var(--r-card);background:var(--bg2)}
.xp .sv-k{font-size:12px;color:var(--t3)}.xp .sv-fig b{margin-top:2px;font-size:20px;font-weight:510;letter-spacing:-.022em}
.xp .sv-fig--needs[data-n="1"]{border-color:rgba(242,196,107,.35)}
.xp .sv-trend{font-size:12px;color:var(--t3)}.xp .sv-trend[data-dir=up]{color:var(--t2)}
.xp .sv-actions{gap:6px}
.xp .sv-nav{gap:4px;margin:0 -8px}
.xp .sv-nav button{height:34px;padding:0 8px;border-bottom:2px solid transparent;color:var(--t3);font:500 12.5px var(--font);transition:color var(--hl-out),border-color var(--hl-out)}
.xp .sv-nav button:hover{color:var(--t1);border-bottom-color:var(--line3);transition-duration:var(--hl-in)}
.xp .sv-count{min-width:18px;height:18px;border-radius:9px;font:500 10.5px/18px var(--mono)}
.xp .sv-first{padding:12px 14px;border-color:rgba(242,196,107,.3);border-radius:var(--r-card);background:var(--bg2)}
.xp .sv-sec{gap:10px}
.xp .sv-sec-h h2{font-size:13px;font-weight:510;letter-spacing:-.01em}.xp .sv-sec-h p{font-size:12px;color:var(--t3)}
.xp .sv-ln{border-color:var(--line);border-radius:var(--r-card);background:var(--bg2)}
.xp .sv-dot[data-t=grey]{border-color:var(--t3)}
.xp-related{border-top:1px solid var(--line);padding-top:16px}
.xp-related button{border-color:var(--line);border-radius:var(--r-row);transition:background var(--hl-out),border-color var(--hl-out)}
.xp-related button:hover{background:rgba(255,255,255,.03);border-color:var(--line2)}
.ws-node{border-radius:var(--r-row);transition:background var(--hl-out)}
.ws-node:hover{background:rgba(255,255,255,.035)}
.ws-node.is-sel{background:rgba(255,255,255,.06);box-shadow:none}
.ws-note{font-size:12px;line-height:1.5;color:var(--t3)}
.ws>.ws-top{padding:8px var(--g);border-bottom-color:var(--line);background:var(--bg1)}
.ws-finding{border-radius:var(--r-row);border-color:var(--line)}

/* ---------------------------------------------------------------- sign in: a lit stage with the product, beside a plain form */
.xp[data-screen=auth]{display:block;background:var(--bg0)}
.xp-auth{position:relative;height:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(400px,.8fr);overflow:auto}
.xp-auth-stage{position:relative;display:grid;align-content:center;gap:clamp(28px,4vh,48px);min-width:0;padding:clamp(32px,6vh,72px) clamp(28px,5vw,80px);border-right:1px solid var(--line);overflow:hidden;isolation:isolate}
.xp-auth-stage::before{content:"";position:absolute;left:-10%;right:-10%;top:30%;bottom:-20%;z-index:-1;pointer-events:none;
  background:radial-gradient(50% 46% at 50% 62%,rgba(226,229,238,.13),rgba(150,138,235,.05) 45%,transparent 72%)}
.xp-auth-copy{max-width:560px}
.xp-auth-eye{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;font:500 12px var(--font);color:var(--t3)}
.xp-auth-eye span{width:6px;height:6px;border-radius:50%;background:var(--v500)}
.xp-auth-copy h2{font-size:clamp(30px,3.4vw,46px);line-height:1.04;letter-spacing:-.036em;font-weight:510;color:var(--t1);max-width:15ch;text-wrap:balance}
.xp-auth-copy p{margin-top:14px;max-width:50ch;font-size:15px;line-height:1.55;color:var(--t3)}
.xp-auth-win{position:relative;margin:0;max-width:720px;border:1px solid var(--line3);border-radius:var(--r-win);background:linear-gradient(180deg,#101114,#0b0c0e 60%);overflow:hidden;
  box-shadow:0 0 0 1px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.06) inset,0 50px 120px -40px rgba(0,0,0,.9);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.xp-auth-win::before{content:"";position:absolute;left:6%;right:6%;top:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35) 30%,rgba(184,169,255,.5) 52%,rgba(255,255,255,.3) 70%,transparent)}
.xaw-bar{display:flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-bottom:1px solid var(--line2);font-size:12.5px;color:var(--t3)}
.xaw-bar b{font-weight:510;color:var(--t1)}.xaw-sep{color:var(--t4)}
.xaw-org{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:var(--v500);color:#fff;font:600 8.5px/1 var(--font)}
.xaw-demo{margin-left:auto;padding:3px 6px;border:1px solid var(--line2);border-radius:4px;font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t4)}
.xaw-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);min-height:0}
.xaw-col{display:grid;align-content:start;gap:10px;padding:16px;min-width:0}
.xaw-col--r{border-left:1px solid var(--line)}
.xaw-h{display:flex;align-items:center;gap:6px;margin:0;font:500 11.5px var(--font);color:var(--t3)}
.xaw-svc{list-style:none;margin:0;padding:0;display:grid}
.xaw-svc li{display:grid;grid-template-columns:8px minmax(0,1fr) auto 56px;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.xaw-svc li:first-child{border-top:0}
.xaw-svc .sv-dot{grid-row:1/span 2}
.xaw-svc b{font-weight:510;font-size:12.5px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xaw-svc small{grid-column:2/4;font-size:11.5px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xaw-n{font:510 14px var(--font);letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums;text-align:right}
.xaw-spark{grid-column:4;grid-row:1/span 2;width:56px;height:16px}
.xaw-spark polyline{fill:none;stroke:var(--v400);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.xaw-card{border:1px solid var(--line2);border-radius:9px;background:rgba(255,255,255,.02);overflow:hidden}
.xaw-card-h{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line)}
.xaw-card-h b{font-weight:510;font-size:12.5px;color:var(--t1)}
.xaw-ref{margin-left:auto;font:500 10.5px var(--mono);color:var(--t4)}
.xaw-card p{margin:0;padding:10px 12px 4px;font-size:12px;line-height:1.5;color:var(--t2)}
.xaw-card-f{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px 10px}
.xaw-card-f small{font-size:11px;color:var(--t4)}
.xaw-ok{display:inline-flex;align-items:center;height:24px;padding:0 10px 0 9px;background:var(--v500);color:#fff;font:500 11.5px var(--font);border-radius:5px;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,0 100%)}
.xaw-work{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.xaw-spin{width:12px;height:12px;flex:none;border-radius:50%;border:1.5px solid rgba(255,255,255,.14);border-top-color:var(--v200)}
.xaw-shimmer{color:var(--t3)}
.xaw-ledger{display:grid;gap:2px;margin-top:auto;padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.xaw-ledger small{font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t4)}
.xaw-ledger b{font-size:18px;font-weight:510;letter-spacing:-.02em;color:var(--t1)}
.xaw-ledger span{font-size:11.5px;color:var(--t3)}
.xp-auth-panel{display:grid;align-content:center;justify-items:center;padding:clamp(32px,6vh,64px) clamp(24px,4vw,56px);background:var(--bg1)}
.xp-auth-card{width:min(380px,100%);display:grid;gap:16px}
.xp-auth-brand{display:inline-flex;align-items:center;gap:9px;margin-bottom:8px;color:var(--t1);text-decoration:none}
.xp-auth-brand svg{width:22px;height:22px}.xp-auth-brand b{font:600 12px/1 var(--font);letter-spacing:.16em}
.xp-auth-brand span{padding:2px 5px;border:1px solid rgba(115,87,255,.45);border-radius:4px;font:500 10px/1 var(--mono);letter-spacing:.08em;color:var(--v200)}
.xp-auth .xp-tabs{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:2px;border:1px solid var(--line2);border-radius:8px;background:var(--bg0)}
.xp-auth .xp-tabs button{height:30px;border:0;border-radius:6px;background:transparent;color:var(--t3);font:500 12.5px var(--font);cursor:pointer;transition:background var(--hl-out),color var(--hl-out)}
.xp-auth .xp-tabs button:hover{color:var(--t1)}
.xp-auth .xp-tabs button[aria-selected=true]{background:rgba(255,255,255,.08);color:var(--t1)}
.xp-auth .xp-form{gap:12px}
.xp-auth-h{display:grid;gap:6px;margin-bottom:2px}
.xp-auth-h h1,.xp-auth-card>.xp-auth-h h1{font-size:20px;line-height:1.25;font-weight:510;letter-spacing:-.022em;color:var(--t1)}
.xp-auth-h p,.xp-auth-h .xp-note{margin:0;font-size:13px;line-height:1.5;color:var(--t3)}
.xp-auth .xp-field input{min-height:36px;font-size:13.5px}
.xp-auth .xp-auth-go{width:100%;min-height:36px;margin-top:4px;font-size:13px}
.xp-auth-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px}
.xp-auth-link{padding:2px 0;border:0;background:none;color:var(--t3);font:500 12.5px var(--font);cursor:pointer;text-decoration:underline;text-decoration-color:var(--line3);text-underline-offset:3px;transition:color var(--hl-out)}
.xp-auth-link:hover{color:var(--t1);text-decoration-color:var(--t3)}
.xp-auth-step{display:grid;gap:10px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.xp-auth-step>p{margin:0;font-size:12.5px;color:var(--t3)}.xp-auth-step>p b{color:var(--t2)}
.xp-auth .xp-err:empty{display:none}
.xp-auth-legal{margin:4px 0 0;font-size:11.5px;line-height:1.5;color:var(--t4)}
@media (prefers-reduced-motion:no-preference){
  .xp-auth-copy,.xp-auth-win{animation:xr-in .9s cubic-bezier(.16,1,.3,1) both}
  .xp-auth-win{animation-delay:.12s}
  .xaw-svc li{animation:xr-in .6s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 70ms + 380ms)}
  .xaw-card{animation:xr-in .6s cubic-bezier(.16,1,.3,1) .8s both}
  .xaw-spin{animation:xh-rot .8s linear infinite}
  .xaw-shimmer{background:linear-gradient(90deg,var(--t4) 0%,var(--t1) 45%,var(--t4) 70%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:xh-sh 1.8s linear infinite}
}
@keyframes xr-in{from{opacity:0;filter:blur(8px);transform:translateY(14px)}to{opacity:1;filter:none;transform:none}}
@keyframes xh-rot{to{transform:rotate(360deg)}}
@keyframes xh-sh{from{background-position:100% 0}to{background-position:-150% 0}}
@media (max-width:1080px){.xp-auth{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}.xaw-body{grid-template-columns:1fr}.xaw-col--r{border-left:0;border-top:1px solid var(--line)}}
@media (max-width:860px){.xp-auth{grid-template-columns:minmax(0,1fr);align-content:start}.xp-auth-stage{order:2;border-right:0;border-top:1px solid var(--line);padding:32px 20px}
  .xp-auth-panel{order:1;padding:32px 20px 28px}.xp-auth-copy h2{font-size:clamp(26px,7vw,34px)}.xp-auth-win{display:none}}
@media (forced-colors:active){.xp-auth-win,.xp-btn--primary,.xp-btn--violet,.xaw-ok{clip-path:none;border:1px solid CanvasText}}
@media (prefers-reduced-motion:reduce){.xp *,.xp *::before,.xp *::after{transition-duration:0s!important}.xc-svc-r:hover>svg{transform:none}}

/* ================================================================================================ Linear app
   The customer portal's shell and work views after Linear's app (scoped to data-app=lx, so the owner console keeps its
   own frame): a 240px sidebar (workspace switcher, search and New; Inbox and Home; the workspace's areas; help at the
   foot), the work panel inset with a 44px header bar (breadcrumb, views, Filter, Display, one primary action), dense
   grouped rows, the peek beside them, the selection bar, Filter and Display menus, the shortcuts sheet and small toasts
   at the bottom left. Geist 13px, muted greys, purple only where Xevrion acts or something is selected, amber where a
   person is needed, red for failures, green for small passes. This layer comes last, so it wins. */
.xp[data-app=lx]{--side:240px;--lx-row:38px;--lx-hover:rgba(255,255,255,.028);--lx-focus:rgba(255,255,255,.05);--lx-sel:rgba(115,87,255,.11);--t1:#f7f8f8;--t2:#c9ced6;--t3:#8a8f98;
  background:var(--bg0)}
.xp[data-app=lx] .xp-grid-bg{display:none}

/* ---------------------------------------------------------------- sidebar */
.xp[data-app=lx] .xp-side{background:var(--bg0);border-right:0}
.xp[data-app=lx] .xp-side-h{height:52px;padding:10px 8px 6px 10px;gap:2px}
.xp[data-app=lx] .xp-ws-switch{height:28px;padding:0 6px;gap:8px;font:510 13px/1 var(--font)}
.xp[data-app=lx] .xp-ws-switch .xo-ws-mark{width:18px;height:18px;border-radius:5px;font-size:9px}
.xp[data-app=lx] .xp-side-ic{width:28px;height:28px;border:0;border-radius:var(--r-row);background:none;color:var(--t3)}
.xp[data-app=lx] .xp-side-ic svg{width:15px;height:15px}
.xp[data-app=lx] .xp-side-ic:hover{background:rgba(255,255,255,.05);color:var(--t1)}
.xp[data-app=lx] .xp-nav{padding:2px 8px 12px}
.xp[data-app=lx] .xp-nav-flat{display:grid;gap:1px;margin:0 0 6px}
.xp[data-app=lx] .xp-nav-d>summary{margin:12px 0 2px;padding:2px 8px;font:500 11.5px/1.5 var(--font);color:var(--t3)}
.xp[data-app=lx] .xp-nav-d:first-child>summary{margin-top:2px}
.xp[data-app=lx] .xp-nav button,.xp[data-app=lx] .xp-nav .xp-nav-a{display:flex;align-items:center;width:100%;min-height:28px;height:28px;gap:9px;padding:0 8px;border:0;border-radius:var(--r-row);background:none;
  font:450 13px/1 var(--font);letter-spacing:-.006em;color:var(--t2);text-align:left;cursor:pointer}
.xp[data-app=lx] .xp-nav button>span:first-of-type{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.xp[data-app=lx] .xp-nav button svg{width:16px;height:16px;flex:none;color:var(--t3)}
.xp[data-app=lx] .xp-nav button:hover{background:var(--lx-hover);color:var(--t1)}
.xp[data-app=lx] .xp-nav button[aria-current=page]{background:rgba(255,255,255,.065);color:var(--t1)}
.xp[data-app=lx] .xp-nav button[aria-current=page] svg{color:var(--t1)}
.xp[data-app=lx] .xp-nav button[aria-current=page]::before{display:none}
.xp[data-app=lx] .xp-nav button[data-within] svg{color:var(--t2)}
.xp[data-app=lx] .xp-nav button[data-child]{height:26px;min-height:26px;margin-left:16px;width:calc(100% - 16px);padding-left:12px;border-left:1px solid var(--line2);border-radius:0 var(--r-row) var(--r-row) 0;font-size:12.5px}
/* counts: right-aligned muted numbers, as in Linear; amber only when the count is people's work waiting */
.xp[data-app=lx] .xp-nav .xp-badge{min-width:0;height:auto;padding:0;border-radius:0;background:none;color:var(--t3);font:500 11.5px/1 var(--font);font-variant-numeric:tabular-nums}
.xp[data-app=lx] .xp-nav .xp-badge[data-tone=warn]{color:var(--t3)}
.xp[data-app=lx] .xp-side-foot{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;padding:8px 8px 10px;border-top:0}
.xp[data-app=lx] .xp-side-ask{padding:0}
.xp[data-app=lx] .xp-side-ask .xp-ask{height:28px;border-color:var(--line);background:none;font:450 13px var(--font);color:var(--t2)}
.xp[data-app=lx] .xp-side-ask .xp-ask:hover{background:var(--lx-hover);color:var(--t1)}
.xp[data-app=lx] .xp-foot{display:flex;align-items:center;gap:0}
.xp[data-app=lx] .xp-foot .xp-live{min-width:0;margin-left:auto;padding-right:4px;font:500 10.5px/1 var(--mono);color:var(--t4);white-space:nowrap;overflow:hidden}
.xp[data-app=lx] .xp-foot .xp-live span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.xp[data-app=lx] .xp-foot .xp-live i{width:6px;height:6px}
.xp[data-app=lx] .xp-foot .xp-dot{top:5px;right:5px}
.xp[data-app=lx][data-rail="1"]{--side:52px}
.xp[data-app=lx][data-rail="1"] .xp-foot{flex-direction:column;gap:2px}
.xp[data-app=lx][data-rail="1"] .xp-foot .xp-live{margin:4px 0 0;padding:0}
.xp[data-app=lx][data-rail="1"] .xp-nav button{width:36px;justify-content:center;padding:0;margin:0 auto}
.xp[data-app=lx][data-rail="1"] .xp-nav .xp-badge{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--t3);font-size:0}
.xp[data-app=lx][data-rail="1"] .xp-side-h{flex-direction:column;align-items:center;height:auto;gap:2px;padding:10px 8px 8px}
.xp[data-app=lx][data-rail="1"] .xp-nav-d>summary{height:1px;margin:8px 6px;padding:0;overflow:hidden;color:transparent;background:var(--line2)}
.xp[data-app=lx][data-rail="1"] .xp-nav button[data-child]{display:none}
.xp[data-app=lx][data-rail="1"] .xp-side-ask .xp-ask{width:36px;margin:0 auto;padding:0;justify-content:center}

/* ---------------------------------------------------------------- the work panel and its header bar */
.xp[data-app=lx] .xp-top{display:flex;align-items:center;gap:8px;min-width:0;padding:0 8px 0 12px;background:var(--bg1);border-bottom:1px solid var(--line)}
@media (min-width:901px){
  .xp[data-app=lx]{--top:52px;grid-template-rows:var(--top) minmax(0,1fr)}
  .xp[data-app=lx] .xp-side{grid-row:1/-1}
  .xp[data-app=lx] .xp-top{display:flex;grid-row:1;grid-column:2;height:44px;margin:8px 8px 0 0;border:1px solid var(--line);border-bottom-color:var(--line);border-radius:var(--r-win) var(--r-win) 0 0}
  .xp[data-app=lx] .xp-main{grid-row:2;margin:0 8px 8px 0;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r-win) var(--r-win);background:var(--bg1)}
}
.lx-head{flex:1;min-width:0;display:flex;align-items:center;gap:12px;height:100%}
.lx-crumb{display:flex;align-items:center;gap:6px;min-width:0;flex:none;max-width:40%;font:500 13px/1 var(--font);color:var(--t3)}
.lx-crumb b,.lx-crumb .xp-crumb-l{display:inline-flex;align-items:center;gap:7px;min-width:0;height:26px;padding:0 6px;border:0;border-radius:var(--r-row);background:none;font:inherit;color:var(--t3);white-space:nowrap}
.lx-crumb b{color:var(--t1);font-weight:510}
.lx-crumb b span,.lx-crumb .xp-crumb-l span{overflow:hidden;text-overflow:ellipsis}
.lx-crumb svg{width:15px;height:15px;flex:none;color:var(--t3)}
.lx-crumb .xp-crumb-l{cursor:pointer}.lx-crumb .xp-crumb-l:hover{background:var(--lx-hover);color:var(--t1);text-decoration:none}
.lx-crumb i{font-style:normal;color:var(--t4)}
.lx-tabs{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}
.lx-tabs::-webkit-scrollbar{display:none}
.lx-tabs button{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid transparent;border-radius:var(--r-row);background:none;color:var(--t3);font:500 12px/1 var(--font);white-space:nowrap;cursor:pointer;transition:background var(--hl-out),color var(--hl-out)}
.lx-tabs button:hover{background:var(--lx-hover);color:var(--t1);transition-duration:var(--hl-in)}
.lx-tabs button[aria-pressed=true]{border-color:var(--line2);background:rgba(255,255,255,.05);color:var(--t1)}
.lx-tabs button i{font-style:normal;color:var(--t4);font-variant-numeric:tabular-nums}
.lx-tabs button[aria-pressed=true] i{color:var(--t3)}
.lx-head-r{margin-left:auto;display:flex;align-items:center;gap:4px;flex:none}
.lx-head-a{display:inline-flex;align-items:center;gap:6px;margin-left:4px}
.lx-hbtn{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border:1px solid var(--line2);border-radius:var(--r-row);background:none;color:var(--t2);font:500 12px/1 var(--font);cursor:pointer}
.lx-hbtn svg{width:14px;height:14px;color:var(--t3)}
.lx-hbtn:hover,.lx-hbtn[aria-expanded=true]{background:rgba(255,255,255,.05);color:var(--t1)}
.lx-hbtn[data-on="1"]{border-color:rgba(115,87,255,.45);color:var(--t1)}.lx-hbtn[data-on="1"] svg{color:var(--v200)}
.xp[data-app=lx] .lx-head .xp-crumb-custom,.xp[data-app=lx] .lx-hic{width:26px;height:26px;padding:0;border:0;border-radius:var(--r-row);background:none;color:var(--t3)}
.xp[data-app=lx] .lx-head .xp-crumb-custom:hover,.xp[data-app=lx] .lx-hic:hover{background:rgba(255,255,255,.05);color:var(--t1)}
.xp[data-app=lx] .lx-head .xp-crumb-custom svg,.xp[data-app=lx] .lx-hic svg{width:15px;height:15px}
.lx-search{display:inline-flex;align-items:center;gap:6px;height:24px;width:150px;padding:0 8px;border:1px solid var(--line2);border-radius:var(--r-row);color:var(--t3)}
.lx-search:focus-within{border-color:rgba(115,87,255,.55)}
.lx-search input{flex:1;min-width:0;height:100%;padding:0;border:0;background:none;color:var(--t1);font:450 12px var(--font);outline:none}
.lx-search input::-webkit-search-cancel-button{display:none}
@media (max-width:1100px){.lx-hbtn span{display:none}.lx-search{width:110px}.lx-crumb{max-width:32%}}
@media (max-width:900px){.xp[data-app=lx] .xp-top{height:48px}.lx-tabs{display:none}.lx-search{display:none}}
@media (max-width:720px){.xp[data-app=lx] .lx-hic,.xp[data-app=lx] .lx-head .xp-crumb-custom{display:none}.lx-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.lx-fig{padding:10px 16px;border-bottom:1px solid var(--line)}.lx-page>.xp-g,.lx-page>.xp-card{margin-left:12px;margin-right:12px}}

/* ---------------------------------------------------------------- list pages */
.xp[data-app=lx] .xp-page.lx-page{max-width:none;padding:0 0 96px;gap:0}

.lx-page>.xp-g,.lx-page>.xp-card,.lx-page>.lx-strip,.lx-page>.lx-ws{margin:0 24px}
.lx-page>.xp-g{margin-top:16px}
.lx-page>.xp-card{margin-top:16px}
.lx-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;border-bottom:1px solid var(--line)}
.lx-page>.lx-strip{margin:0}
.lx-fig{display:grid;gap:3px;padding:12px 24px 12px;border-right:1px solid var(--line);min-width:0}
.lx-fig:last-child{border-right:0}
.lx-fig span{font:500 11.5px/1.3 var(--font);color:var(--t3)}
.lx-fig b{font:510 17px/1.2 var(--font);letter-spacing:-.02em;color:var(--t1);font-variant-numeric:tabular-nums;white-space:nowrap}
.lx-fig b small{font-size:12px;color:var(--t3);font-weight:450}
.lx-fig small{font:450 11.5px/1.3 var(--font);color:var(--t4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lx-fig[data-t=amber] b{color:var(--warn)}.lx-fig[data-t=green] b{color:var(--t1)}
.lx-fig[data-t=green] span::after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--ok);vertical-align:1px}
.lx-spark{display:block;height:26px;color:var(--v400)}.lx-spark svg{display:block;width:100%;max-width:180px;height:26px}
.lx-ws{display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap;margin:0!important;padding:14px 24px;border-bottom:1px solid var(--line);background:none}
.lx-ws .xo-ws-facts{margin:0}

/* ---------------------------------------------------------------- the list: groups and rows */
.lx-host{position:relative}
.lx-list{font-size:13px}
.lx-grp-h{position:sticky;top:0;z-index:2;display:flex;align-items:center;height:36px;margin:0;padding:0 16px 0 14px;border-bottom:1px solid var(--line);background:#101113}
.lx-grp-h>button[data-lx=fold]{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 6px;border:0;border-radius:var(--r-row);background:none;color:var(--t1);font:510 13px/1 var(--font);cursor:pointer}
.lx-grp-h>button[data-lx=fold]:hover{background:var(--lx-hover)}
.lx-grp-h i{font-style:normal;font-weight:450;color:var(--t3);font-variant-numeric:tabular-nums}
.lx-grp-h>button>svg:not(.lx-chev):not(.lx-g){width:14px;height:14px;color:var(--t3)}
.lx-chev{width:12px;height:12px;fill:none;stroke:var(--t3);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transition:transform .12s var(--ease)}
.lx-grp[data-folded="1"] .lx-chev{transform:none}
.lx-add{margin-left:auto;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:var(--r-row);background:none;color:var(--t3);cursor:pointer}
.lx-add:hover{background:rgba(255,255,255,.06);color:var(--t1)}
.lx-add svg{width:14px;height:14px}
.lx-grp ul{margin:0;padding:0;list-style:none}
.lx-row{position:relative;display:grid;grid-template-columns:18px 16px calc(var(--lx-idw,0ch) + 6px) minmax(0,1fr) auto auto 20px 46px;align-items:center;gap:10px;height:var(--lx-row);padding:0 16px 0 14px;
  border-bottom:1px solid var(--line);color:var(--t2);cursor:default;outline:none;transition:background var(--hl-out)}
.lx-row:hover{background:var(--lx-hover);transition-duration:var(--hl-in)}
.lx-row[data-focus="1"]{background:var(--lx-focus)}
.lx-row[data-focus="1"]::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--t3)}
.lx-row:focus-visible{box-shadow:inset 0 0 0 1px rgba(184,169,255,.55);border-radius:0}
.lx-row[aria-selected=true]{background:var(--lx-sel)}
.lx-row[aria-selected=true][data-focus="1"]{background:rgba(115,87,255,.16)}
.lx-row[aria-selected=true][data-focus="1"]::before{background:var(--v500)}
.lx-check{display:grid;place-items:center;width:15px;height:15px;border:1px solid var(--line3);border-radius:4px;opacity:0;cursor:pointer;transition:opacity var(--hl-out)}
.lx-check svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.lx-row:hover .lx-check,.lx-row[data-focus="1"] .lx-check,.lx-row[aria-selected=true] .lx-check{opacity:1}
.lx-row[aria-selected=true] .lx-check{border-color:var(--v500);background:var(--v500)}
.lx-row[aria-selected=true] .lx-check svg{opacity:1}
.lx-ic{display:grid;place-items:center;color:var(--t3)}.lx-ic svg{width:15px;height:15px}
.lx-ref{font:450 12px/1 var(--mono);color:var(--t3);white-space:nowrap;letter-spacing:0}
.lx-t{display:flex;align-items:baseline;gap:10px;min-width:0;overflow:hidden}
.lx-title{flex:none;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--t1);font-weight:450}
.lx-sub{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--t3);font-size:12px}
.lx-labels{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}
.lx-label{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border:1px solid var(--line2);border-radius:10px;color:var(--t2);font:500 11.5px/1 var(--font);white-space:nowrap}
.lx-label i{width:6px;height:6px;border-radius:50%;background:var(--t4)}
.lx-label[data-t=amber] i{background:var(--warn)}.lx-label[data-t=violet] i{background:var(--v500)}.lx-label[data-t=red] i{background:var(--risk)}.lx-label[data-t=green] i{background:var(--ok)}
.lx-meta{display:flex;align-items:center;gap:10px;justify-content:flex-end;color:var(--t3);font-size:12px;white-space:nowrap}
.lx-money{font:500 12.5px/1 var(--mono);color:var(--t1);font-variant-numeric:tabular-nums}.lx-money small{font-family:var(--font);color:var(--t3);font-size:11px}
.lx-conf{position:relative;display:inline-block;width:36px;height:4px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
.lx-conf i{position:absolute;inset:0 auto 0 0;background:var(--t3);border-radius:2px}
.lx-time{font:450 11.5px/1 var(--mono);color:var(--t3);text-align:right;white-space:nowrap}
.lx-av,.lx-av-gap{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;flex:none}
.lx-av{background:#2a2c33;color:var(--t2);font:600 8.5px/1 var(--font);letter-spacing:0}
.lx-av--x{background:var(--v500)}.lx-av--x svg{width:11px;height:11px;fill:#fff}
.lx-av--none{background:none;border:1px dashed var(--line3)}
/* status glyphs: open ring, partial, needs-you, done, cancelled, failed */
.lx-g{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;color:var(--t3);overflow:visible}
.lx-g .f{fill:currentColor;stroke:none}.lx-g .k{stroke:var(--bg1);stroke-width:1.7;fill:none}
.lx-g[data-g=progress]{color:var(--v400)}.lx-g[data-g=needs]{color:var(--warn)}.lx-g[data-g=done]{color:var(--v500)}
.lx-g[data-g=cancelled]{color:var(--t4)}.lx-g[data-g=failed]{color:var(--risk)}.lx-g[data-g=draft]{color:var(--t3)}
@media (max-width:1100px){.lx-row{grid-template-columns:18px 16px calc(var(--lx-idw,0ch) + 6px) minmax(0,1fr) auto 20px 40px}.lx-row .lx-meta{display:none}.lx-sub{display:none}}
@media (max-width:720px){.lx-row{grid-template-columns:16px minmax(0,1fr) 40px;gap:8px;padding:0 12px}.lx-row .lx-check,.lx-row .lx-ref,.lx-row .lx-labels,.lx-row .lx-av,.lx-row .lx-av-gap{display:none}}

/* ---------------------------------------------------------------- empty states */
.lx-empty{display:grid;justify-items:center;gap:8px;max-width:420px;margin:72px auto;padding:0 24px;text-align:center}
.lx-empty-i{display:grid;place-items:center;width:40px;height:40px;margin-bottom:4px;border:1px solid var(--line2);border-radius:10px;color:var(--t3)}
.lx-empty b{font:510 14px/1.3 var(--font);color:var(--t1)}
.lx-empty p{margin:0;font-size:13px;color:var(--t3);line-height:1.5}
.lx-empty-a{display:flex;align-items:center;gap:12px;margin-top:8px}
.lx-empty-k{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--t4)}
.lx-keys{display:inline-flex;align-items:center;gap:3px}
.lx-keys em{font-style:normal;font-size:11px;color:var(--t4);margin:0 2px}
.xp[data-app=lx] .lx-keys kbd,.xp[data-app=lx] .xp-cmd kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:1px solid var(--line2);border-radius:4px;background:rgba(255,255,255,.04);color:var(--t2);font:500 10.5px/1 var(--font)}

/* ---------------------------------------------------------------- the selection bar */
.lx-bulk{position:absolute;z-index:40;bottom:22px;left:calc(var(--side) + (100% - var(--side)) / 2);transform:translateX(-50%);display:flex;align-items:center;gap:4px;width:max-content;height:40px;padding:0 6px 0 14px;
  border:1px solid var(--line2);border-radius:10px;background:#16171a;box-shadow:0 12px 40px rgba(0,0,0,.55);animation:lx-up .16s var(--ease-q)}
.lx-bulk-n{margin-right:8px;font:450 12.5px var(--font);color:var(--t2);white-space:nowrap}.lx-bulk-n b{color:var(--t1)}
.lx-bulk-b,.lx-bulk-x{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:0;border-radius:var(--r-row);background:none;color:var(--t2);font:500 12.5px var(--font);white-space:nowrap;cursor:pointer}
.lx-bulk-b svg,.lx-bulk-x svg{width:14px;height:14px;flex:none;color:var(--t3)}
.lx-bulk-b:hover,.lx-bulk-x:hover{background:rgba(255,255,255,.06);color:var(--t1)}
.lx-bulk-b[data-tone=primary]{color:var(--t1)}.lx-bulk-b[data-tone=primary] svg{color:var(--v200)}
.lx-bulk-b[data-busy]{opacity:.5;pointer-events:none}
.lx-bulk-x{width:28px;padding:0;justify-content:center;margin-left:4px;border-left:1px solid var(--line);border-radius:0 var(--r-row) var(--r-row) 0}
@keyframes lx-up{from{opacity:0;transform:translate(-50%,8px)}}
@media (max-width:900px){.lx-bulk{left:50%;bottom:14px;width:auto;max-width:calc(100% - 24px);overflow-x:auto}}

/* ---------------------------------------------------------------- the peek */
.xp-scrim:has(+.lx-peek){background:rgba(4,5,6,.28)}
.xp .lx-peek:focus-visible,.xp .lx-peek:focus{outline:none}
.lx-peek{position:absolute;z-index:61;top:8px;right:8px;bottom:8px;width:min(760px,calc(100% - 16px));display:grid;grid-template-rows:44px minmax(0,1fr);border:1px solid var(--line2);border-radius:var(--r-win);
  background:var(--bg2);box-shadow:-20px 0 60px rgba(0,0,0,.5);outline:none;animation:lx-in .16s var(--ease-q);overflow:hidden}
@keyframes lx-in{from{opacity:0;transform:translateX(16px)}}
.lx-pk-h{display:flex;align-items:center;gap:10px;padding:0 8px 0 16px;border-bottom:1px solid var(--line)}
.lx-pk-ref{display:flex;align-items:center;gap:8px;min-width:0;font:500 12px/1 var(--mono);color:var(--t3)}
.lx-pk-ref small{font:450 12px var(--font);color:var(--t4)}
.lx-pk-nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.lx-pk-pos{margin-right:6px;font:450 11.5px var(--mono);color:var(--t4)}
.lx-pk-b{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:var(--r-row);background:none;color:var(--t3);cursor:pointer}
.lx-pk-b svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lx-pk-b:hover{background:rgba(255,255,255,.06);color:var(--t1)}
.lx-pk-body{display:grid;grid-template-columns:minmax(0,1fr) 230px;min-height:0;overflow:auto}
.lx-pk-main{padding:22px 26px 40px;min-width:0}
.lx-pk-main h2{margin:0;font:510 18px/1.3 var(--font);letter-spacing:-.02em;color:var(--t1)}
.lx-pk-sub{margin:4px 0 0;font-size:13px;color:var(--t3)}
.lx-pk-acts{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 4px}
.lx-pk-doc{display:grid;gap:14px;margin-top:18px}
.lx-pk-doc .xp-field textarea{min-height:150px;font:450 13px/1.55 var(--font)}
.lx-p{margin:0;font-size:13px;line-height:1.6;color:var(--t2)}
.lx-h4{margin:6px 0 -4px;font:510 12px/1.3 var(--font);color:var(--t3)}
.lx-quote{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.015)}
.lx-quote span{display:block;margin-bottom:6px;font:500 11.5px var(--font);color:var(--t3)}
.lx-quote p{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.6;color:var(--t2)}
.lx-callout{margin:0;padding:10px 12px;border-radius:8px;border:1px solid rgba(242,196,107,.28);background:var(--amber-wash);color:#f5d999;font-size:12.5px;line-height:1.5}
.lx-callout[data-t=red]{border-color:rgba(255,92,108,.3);background:var(--red-wash);color:#ffa3ad}
.lx-refs{margin:0;padding:0;list-style:none;display:grid;gap:4px}.lx-refs li{font-size:12px;color:var(--t2)}
.lx-steps{margin:0;padding:0;list-style:none;display:grid;gap:0;border:1px solid var(--line);border-radius:8px}
.lx-steps li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:9px 12px;border-bottom:1px solid var(--line)}
.lx-steps li:last-child{border-bottom:0}.lx-steps li>span{color:var(--t4);font-size:11.5px;padding-top:1px}
.lx-steps b{display:block;font:500 13px var(--font);color:var(--t1)}.lx-steps small{display:block;margin-top:2px;font-size:12px;color:var(--t3)}
.lx-pk-tl{margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
.lx-pk-tl h3{margin:0 0 10px;font:510 13px var(--font);color:var(--t1)}
.lx-pk-tl ol{margin:0;padding:0;list-style:none;display:grid;gap:0;position:relative}
.lx-pk-tl li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0}
.lx-pk-tl li:not(:last-child)::after{content:"";position:absolute;left:8.5px;top:27px;bottom:-7px;width:1px;background:var(--line2)}
.lx-pk-tl-t{font-size:12.5px;color:var(--t3);min-width:0}.lx-pk-tl-t b{color:var(--t2);font-weight:500}
.lx-pk-props{padding:18px 16px;border-left:1px solid var(--line);background:rgba(255,255,255,.012);display:grid;align-content:start;gap:14px}
.lx-prop{display:grid;gap:5px;min-width:0}
.lx-prop>span{font:500 11.5px var(--font);color:var(--t3)}
.lx-prop>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;font-size:12.5px;color:var(--t1);overflow-wrap:anywhere}
.lx-prop .xp-mono{font-size:11.5px;color:var(--t2)}
@media (max-width:820px){.lx-pk-body{grid-template-columns:1fr}.lx-pk-props{border-left:0;border-top:1px solid var(--line)}.lx-peek{top:0;right:0;bottom:0;width:100%;border-radius:0}}

/* ---------------------------------------------------------------- Filter and Display menus */
.lx-menu{position:absolute;z-index:70;min-width:200px;max-width:280px;max-height:60vh;overflow:auto;padding:4px;border:1px solid var(--line2);border-radius:var(--r-card);background:var(--bg3);box-shadow:0 16px 50px rgba(0,0,0,.6);animation:xp-fade .12s}
.lx-menu-l{margin:0;padding:8px 8px 4px;font:500 11px/1 var(--font);color:var(--t4)}
.lx-menu hr{margin:4px 0;border:0;border-top:1px solid var(--line)}
.lx-menu button{display:flex;align-items:center;gap:8px;width:100%;height:28px;padding:0 8px;border:0;border-radius:var(--r-row);background:none;color:var(--t2);font:450 12.5px var(--font);text-align:left;cursor:pointer}
.lx-menu button span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lx-menu button i{font-style:normal;color:var(--t4);font-size:11.5px;font-variant-numeric:tabular-nums}
.lx-menu button svg{width:13px;height:13px;fill:none;stroke:var(--v200);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.lx-menu button[aria-checked=true]{color:var(--t1)}.lx-menu button[aria-checked=true] svg{opacity:1}
.lx-menu button:hover,.lx-menu button:focus-visible{background:rgba(255,255,255,.06);color:var(--t1);outline:none}

/* ---------------------------------------------------------------- the shortcuts sheet */
.lx-sheet{position:absolute;z-index:71;left:50%;top:10%;width:min(640px,calc(100% - 32px));max-height:80%;transform:translateX(-50%);display:grid;grid-template-rows:auto minmax(0,1fr);
  border:1px solid var(--line2);border-radius:var(--r-win);background:var(--bg2);box-shadow:0 30px 90px -20px rgba(0,0,0,.85);overflow:hidden}
.lx-sheet header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 18px;border-bottom:1px solid var(--line)}
.lx-sheet h3{margin:0;font:510 14px var(--font)}
.lx-sheet-b{overflow:auto;padding:8px 18px 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 28px}
.lx-sheet h4{margin:14px 0 6px;font:500 11.5px var(--font);color:var(--t3)}
.lx-sheet dl{margin:0;display:grid}
.lx-sheet dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;height:30px;border-bottom:1px solid var(--line)}
.lx-sheet dt{font-size:12.5px;color:var(--t2)}.lx-sheet dd{margin:0}

/* ---------------------------------------------------------------- palette, toasts, back link */
.xp[data-app=lx] .xp-cmd li button .lx-keys{margin-left:8px;flex:none}
.xp[data-app=lx] .xp-cmd li button small{flex:none}
.xp[data-app=lx] .xp-toasts{left:calc(var(--side) + 20px);right:auto;bottom:18px;width:min(340px,calc(100% - 40px));gap:6px}
.xp[data-app=lx] .xp-toast{padding:9px 12px;border-radius:8px;border-color:var(--line2);background:var(--bg3);font-size:12.5px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.xp[data-app=lx] .xp-toast i{width:6px;height:6px;margin-top:6px}
@media (max-width:900px){.xp[data-app=lx] .xp-toasts{left:12px}}
.lx-back{display:inline-flex;align-items:center;gap:6px;height:26px;margin:0 0 12px;padding:0 8px 0 6px;border:0;border-radius:var(--r-row);background:none;color:var(--t3);font:500 12.5px var(--font);cursor:pointer}
.lx-back:hover{background:var(--lx-hover);color:var(--t1)}.lx-back svg{width:14px;height:14px}

@media (prefers-reduced-motion:reduce){.lx-peek,.lx-bulk,.lx-menu{animation:none}.lx-row,.lx-tabs button,.lx-chev,.lx-check{transition:none}}
.xp[data-app=lx][data-motion=reduced] :is(.lx-peek,.lx-bulk,.lx-menu){animation:none}
@media (forced-colors:active){.lx-row[data-focus="1"],.lx-row[aria-selected=true]{outline:2px solid Highlight}.lx-g{color:CanvasText}}

/* who worked on it (kit.js): an avatar stack in rows, and the strip under every peek's title */
.lx-avs{display:inline-flex;align-items:center;flex:none}
.lx-avs .lx-av{box-shadow:0 0 0 2px var(--bg2)}
.lx-avs .lx-av+.lx-av{margin-left:-5px}
.lx-av--more{background:#1d1f24;color:var(--t3);font:600 8px/1 var(--mono)}
.lx-attr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:14px 0 2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.015)}
.lx-attr[hidden]{display:none}
.lx-attr-h{font:500 11.5px/1 var(--font);color:var(--t3)}
.lx-attr-l{display:contents}
.lx-attr-i{display:inline-flex;align-items:center;gap:7px;min-width:0}
.lx-attr-i>span{display:grid;gap:1px;min-width:0}
.lx-attr-i small{font:500 10.5px/1.1 var(--font);color:var(--t3)}
.lx-attr-i b{font:510 12px/1.2 var(--font);color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.lx-attr-i .lx-time{font-size:11px}
.lx-attr .lx-attr-x{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
@media (max-width:720px){.lx-attr-i .lx-time{display:none}}

/* ==================================================================== charts.js (October 2026)
   The chart kit (ch-*) and the pages drawn with it: Insights, the Ledger's overview and Connections.
   Cards on #0f1012 with a hairline; questions in #c9ced6, answers in #f7f8f8, basis in #6b7080; gridlines at
   rgba(255,255,255,.06); purple only for Xevrion, amber only where a person is needed, green/red only for pass or fail. */
.xp .ch{margin:0;min-width:0;max-width:100%;position:relative}
.xp .ch-plot{position:relative;min-width:0}
.xp .ch-svg{display:block;width:100%;max-width:100%;height:auto;overflow:visible;font-family:var(--font)}
.xp .ch-grid{stroke:rgba(255,255,255,.06);stroke-width:1;shape-rendering:crispEdges}
.xp .ch-base{stroke:rgba(255,255,255,.16);stroke-width:1;shape-rendering:crispEdges}
.xp .ch-ax{fill:#8a8f98;font:500 10.5px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}
.xp .ch-unit{fill:#8a8f98;font:500 11px var(--font)}
.xp .ch-dl{fill:#f7f8f8;font:560 11.5px var(--font);font-variant-numeric:tabular-nums}
.xp .ch-lab{fill:#c9ced6;font:500 12px var(--font)}
.xp .ch-note{fill:#8a8f98;font:450 11.5px var(--font)}
.xp .ch-m{fill:transparent;outline:none;cursor:default}
.xp .ch-m[data-on]{fill:rgba(255,255,255,.035)}
.xp circle.ch-m[data-on]{fill:rgba(255,255,255,.08)}
.xp .ch-m:focus-visible{stroke:#7357ff;stroke-width:1.5}
.xp .ch-prev{fill:none;stroke:#f7f8f8;stroke-opacity:.6;stroke-width:1.5;stroke-dasharray:3 3;stroke-linejoin:round;pointer-events:none}
.xp .ch-ref{stroke:#f7f8f8;stroke-opacity:.78;stroke-width:2;pointer-events:none}
.xp .ch-ref--t{stroke-opacity:.92}
.xp .ch-proj{stroke:#c9ced6;stroke-width:2;stroke-dasharray:3 3;pointer-events:none}
.xp .ch-cross{stroke:rgba(255,255,255,.24);stroke-width:1;visibility:hidden;pointer-events:none}
.xp .ch-on .ch-cross{visibility:visible}
.xp .ch-dot{stroke:#0f1012;stroke-width:2;pointer-events:none}
.xp .ch-line{fill:none;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}
.xp .ch-target{fill:none;stroke:#f7f8f8;stroke-opacity:.5;stroke-width:1.5;stroke-dasharray:4 4;pointer-events:none}
.xp .ch-band{fill:rgba(255,255,255,.05);pointer-events:none}
.xp .ch-stem{stroke-width:2;stroke-linecap:round;pointer-events:none}
.xp .ch-fun-link{fill:rgba(255,255,255,.035);pointer-events:none}
.xp .ch-bar,.xp .ch-barh,.xp .ch-area{pointer-events:none}
.xp .ch-tip{position:absolute;z-index:6;display:grid;gap:3px;min-width:168px;max-width:290px;padding:8px 10px 9px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#17181c;
  box-shadow:0 10px 28px rgba(0,0,0,.5);font:450 12px/1.45 var(--font);color:#c9ced6;pointer-events:none}
.xp .ch-tip[hidden]{display:none}
.xp .ch-tip b{margin-bottom:2px;font-weight:560;color:#f7f8f8}
.xp .ch-tip span{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px}
.xp .ch-tip u{overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.xp .ch-tip em{font:500 11.5px var(--mono);font-style:normal;color:#f7f8f8;font-variant-numeric:tabular-nums;white-space:nowrap}
.xp .ch-tip .ch-tip-f{margin-top:2px;padding-top:5px;border-top:1px solid rgba(255,255,255,.08)}
.xp .ch-key,.xp .ch-tip i{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--c)}
.xp .ch-key[data-k=line],.xp .ch-tip i[data-k=line],.xp .ch-key[data-k=tick],.xp .ch-tip i[data-k=tick]{width:12px;height:0;border-top:2px solid var(--c);border-radius:0;background:none}
.xp .ch-key[data-k=dash],.xp .ch-tip i[data-k=dash]{width:12px;height:0;border-top:2px dashed var(--c);border-radius:0;background:none}
.xp .ch-key[data-k=dot],.xp .ch-tip i[data-k=dot]{border-radius:50%}
.xp .ch-tip i[data-k=none],.xp .ch-tip .ch-tip-f i{visibility:hidden}
.xp .ch-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:10px}
.xp .ch-legend{display:flex;flex-wrap:wrap;gap:6px 16px;color:#8a8f98;font-size:12px}
.xp .ch-legend span{display:inline-flex;align-items:center;gap:7px}
.xp .ch-tb{margin-left:auto;padding:3px 9px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:none;color:#8a8f98;font:500 11.5px/1.5 var(--font);cursor:pointer}
.xp .ch-tb:hover{color:#f7f8f8;border-color:rgba(255,255,255,.16)}
.xp .ch-tb:focus-visible{outline:2px solid #7357ff;outline-offset:2px}
.xp .ch-tbl{margin-top:10px;max-height:300px;overflow:auto;border:1px solid rgba(255,255,255,.065);border-radius:8px}
.xp .ch-tbl[hidden]{display:none}
.xp .ch-tbl table{width:100%;border-collapse:collapse;font-size:12px}
.xp .ch-tbl caption{padding:8px 10px;text-align:left;color:#8a8f98;font-size:11.5px}
.xp .ch-tbl th,.xp .ch-tbl td{padding:5px 10px;border-top:1px solid rgba(255,255,255,.05);text-align:left;font-weight:450;color:#c9ced6}
.xp .ch-tbl thead th{position:sticky;top:0;background:#121317;color:#8a8f98;font-weight:500}
.xp .ch-tbl .ch-num{text-align:right;font-family:var(--mono);font-size:11.5px;font-variant-numeric:tabular-nums}
.xp .ch-spark{display:inline-block;vertical-align:middle;overflow:visible}
.xp .ch-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .xp .ch-anim .ch-bar{animation:chUp .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 9ms);transform-box:fill-box;transform-origin:50% 100%}
  .xp .ch-anim .ch-barh{animation:chRight .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 40ms);transform-box:fill-box;transform-origin:0 50%}
  .xp .ch-anim .ch-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:chDraw .9s cubic-bezier(.2,.7,.2,1) forwards}
  .xp .ch-anim .ch-fade{animation:chFade .6s ease both}
}
.xp .lx-peek .ch *{animation:none!important}
@keyframes chUp{from{transform:scaleY(0)}}
@keyframes chRight{from{transform:scaleX(0)}}
@keyframes chDraw{to{stroke-dashoffset:0}}
@keyframes chFade{from{opacity:0}}
/* the card every chart sits in: one question, the answer as a big number with its change, a sentence, the chart, its basis */
.xp .ch-page{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 24px 40px;font-size:13px;color:#c9ced6}
.xp .ch-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.xp .ch-card{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;padding:16px 18px 14px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:#0f1012}
.xp .ch-card--wide{grid-column:1/-1}
.xp .ch-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:22px}
.xp .ch-card-h h3{margin:0;font:510 13px/1.4 var(--font);color:#c9ced6;letter-spacing:-.003em}
.xp .ch-card-h .xp-btn{flex:none}
.xp .ch-ans{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:6px 0 2px}
.xp .ch-ans>b{font:590 30px/1.1 var(--font);letter-spacing:-.03em;color:#f7f8f8;font-variant-numeric:tabular-nums;white-space:nowrap}
.xp .ch-ans>b small{margin-left:7px;font:450 13px var(--font);letter-spacing:0;color:#8a8f98}
.xp .ch-delta{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:6px;font:500 12px/1.4 var(--font);color:#8a8f98}
.xp .ch-delta b{display:inline-flex;align-items:baseline;gap:3px;font-weight:560;color:#c9ced6;font-variant-numeric:tabular-nums}
.xp .ch-delta i{font-style:normal}
.xp .ch-delta[data-t=good] b{color:#4fd69c}
.xp .ch-delta[data-t=bad] b{color:#ff5c6c}
.xp .ch-sent{margin:4px 0 14px;max-width:76ch;color:#8a8f98;font-size:12.5px;line-height:1.55}
.xp .ch-sent b{font-weight:500;color:#c9ced6}
.xp .ch-sent .lx-label{margin-left:2px}
.xp .ch-basis{margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.05);color:#6b7080;font-size:11.5px;line-height:1.55}
.xp .ch-basis b{font-weight:500;color:#8a8f98}
.xp .ch-list{display:grid;gap:0;margin:12px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.05)}
.xp .ch-list li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12.5px}
.xp .ch-list li b{flex:1;min-width:0;overflow:hidden;font-weight:500;color:#f7f8f8;text-overflow:ellipsis;white-space:nowrap}
.xp .ch-list li span{font:500 11.5px var(--mono);color:#8a8f98;font-variant-numeric:tabular-nums}
.xp .ch-head-seg{display:inline-flex}
.xp .ch-pagenote{margin:4px 2px 0;color:#6b7080;font-size:11.5px;line-height:1.55}
.xp .ch-empty{padding:18px 0 6px;color:#8a8f98;font-size:12.5px}
@media (max-width:720px){.xp .ch-head-seg button{padding:0 7px;font-size:12px}}
@media (max-width:900px){.xp .ch-cols{grid-template-columns:minmax(0,1fr)}.xp .ch-page{padding:12px 12px 32px}.xp .ch-ans>b{font-size:26px}}
/* the Ledger's latest results inside a card, and Connections (connect.js) */
.xp .ch-card--list{padding:0;overflow:hidden}
.xp .ch-card--list .ch-card-h{align-items:center;padding:12px 18px 10px;border-bottom:1px solid rgba(255,255,255,.065)}
.xp .ch-card--list .lx-list{border:0}
.xp .cn-vol{display:inline-flex;align-items:center;gap:8px;margin-left:10px}
.xp .cn-n{min-width:3.2ch;font:500 11.5px var(--mono);color:#8a8f98;text-align:right;font-variant-numeric:tabular-nums}
.xp .cn-ib{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:8px;border:1px solid transparent;border-radius:6px;background:none;color:#8a8f98;cursor:pointer}
.xp .cn-ib:hover{color:#f7f8f8;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
.xp .cn-ib:focus-visible{outline:2px solid #7357ff;outline-offset:1px}
.xp .cn-ib-gap{display:inline-block;width:34px}
.xp .lx-row .sv-dot{grid-row:auto}
.xp .cn-perms{display:grid;gap:0;margin:0;padding:0;list-style:none;border:1px solid rgba(255,255,255,.065);border-radius:8px}
.xp .cn-perms li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 12px;border-top:1px solid rgba(255,255,255,.05);color:#8a8f98}
.xp .cn-perms li:first-child{border-top:0}
.xp .cn-perms li>svg{margin-top:2px;color:#c9ced6}
.xp .cn-perms b{display:block;font:510 13px/1.4 var(--font);color:#f7f8f8}
.xp .cn-perms span{font-size:12.5px;line-height:1.5}
.xp .cn-small{font-size:12px;color:#8a8f98}
.xp .cn-browse{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:16px 24px 40px}
.xp .cn-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.xp .cn-bar .xd-search{flex:1;min-width:220px;max-width:420px}
.xp .cn-bar .xd-search input{flex:1;min-width:0;height:auto;padding:0;border:0;background:none;outline:0;box-shadow:none}
.xp .cn-bar .xd-search:focus-within{border-color:rgba(115,87,255,.6)}
.xp .cn-chips{display:flex;flex-wrap:wrap;gap:6px}
.xp .cn-chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:99px;background:none;color:#8a8f98;font:500 12px var(--font);cursor:pointer}
.xp .cn-chip i{font:500 11px var(--mono);font-style:normal;color:#6b7080}
.xp .cn-chip:hover{color:#f7f8f8;border-color:rgba(255,255,255,.16)}
.xp .cn-chip[aria-pressed=true]{color:#f7f8f8;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.xp .cn-chip:focus-visible{outline:2px solid #7357ff;outline-offset:2px}
.xp .cn-group[hidden],.xp .cn-card[hidden],.xp .cn-none[hidden]{display:none}
.xp .cn-group h3{display:flex;align-items:center;gap:8px;margin:6px 0 8px;font:510 12.5px/1.3 var(--font);color:#c9ced6}
.xp .cn-group h3 span{font:500 11px var(--mono);color:#6b7080}
.xp .cn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.xp .cn-card{display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-width:0;padding:14px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:#0f1012;transition:border-color .15s}
.xp .cn-card:hover{border-color:rgba(255,255,255,.14)}
.xp .cn-card header{display:flex;align-items:center;gap:10px;min-width:0}
.xp .cn-card header>div{flex:1;min-width:0}
.xp .cn-card header b{display:block;overflow:hidden;font:560 13.5px/1.3 var(--font);color:#f7f8f8;text-overflow:ellipsis;white-space:nowrap}
.xp .cn-card header small{display:block;overflow:hidden;color:#8a8f98;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}
.xp .cn-logo{display:grid;flex:none;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#17181c;font:600 11.5px var(--mono);color:#c9ced6;letter-spacing:.02em}
.xp .cn-card p{display:-webkit-box;margin:0;overflow:hidden;color:#8a8f98;font-size:12.5px;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.xp .cn-card footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:28px}
.xp .cn-act{margin-left:auto}
.xp .cn-note{color:#6b7080;font-size:11.5px}
@media (max-width:720px){.xp .cn-browse{padding:12px}.xp .cn-vol .ch-spark{display:none}}

/* published statistics (research.py): the small "Source" footnote, notes and the Ledger's value model */
.xp .rs-cite{display:inline-block;margin-left:6px;font:500 11.5px/1.4 var(--font);color:#8a8f98;white-space:nowrap;vertical-align:baseline}
.xp .rs-cite a{color:#8a8f98;text-decoration:underline;text-decoration-color:rgba(138,143,152,.45);text-underline-offset:2px}
.xp .rs-cite a:hover{color:#c9ced6}.xp .rs-cite a:focus-visible{outline:2px solid #7357ff;outline-offset:1px;border-radius:2px}
.xp .rs-note{margin:8px 0 0;color:#8a8f98;font-size:12.5px;line-height:1.5}.xp .rs-note b{color:#f7f8f8;font-weight:560}
.xp .rs-model{display:grid;margin-top:8px;border:1px solid rgba(255,255,255,.065);border-radius:8px;overflow:hidden}
.xp .rs-mrow{display:grid;grid-template-columns:minmax(150px,220px) 140px minmax(0,1fr);gap:12px;align-items:start;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.045);font-size:13px;color:#c9ced6;line-height:1.5}
.xp .rs-mrow:last-child{border-bottom:0}.xp .rs-mrow b{display:block;font-weight:510;color:#f7f8f8}.xp .rs-mrow small{display:block;color:#8a8f98;font-size:12px}
.xp .rs-mhead{font:500 11.5px var(--font);color:#8a8f98;background:rgba(255,255,255,.015)}
@media (max-width:760px){.xp .rs-mrow{grid-template-columns:1fr}.xp .rs-mhead{display:none}}

/* Automations: Opportunities (coordination removed) and the redesign review (coordination.py) */
.au-opps{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.au-opp{display:grid;gap:10px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015)}
.au-opp b{display:block;color:var(--t1);font-weight:560;margin-top:2px}.au-opp p{margin:4px 0 8px;color:var(--t2);line-height:1.5}
.au-opp-n{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.au-opp-n div{padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.au-opp-n dt{color:var(--t3);font-size:11.5px}.au-opp-n dd{margin:2px 0 0;font:560 18px var(--mono);color:var(--t1)}.au-opp-n small{font:400 11.5px var(--font);color:var(--t3)}
.au-opp footer{display:flex;gap:6px;align-items:center}
.au-rd-box{border:1px solid var(--line);border-radius:10px;padding:14px}.au-rd{margin:8px 0 0;padding-left:20px;display:grid;gap:6px}
.au-rd li b{font-weight:510;color:var(--t1)}.au-rd li small{display:block;color:var(--t3);font-size:12px}.au-rd li[data-p=remove] b,.au-rd li[data-p=merge] b{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}
.au-rd-stats{margin-top:8px}
