/* ════════════════════════════════════════════════════════════════
   Task OS (tos-*) — Asana-grade work management on the CRUX dark
   "quiet authority" language. Consumes the shared :root tokens from
   app.css + cs.css (no @import). Mobile-first; @min-width:760px upgrades
   to the docked detail panel + multi-column board.
   FOUNDATION — extended by the tos render layer in app.js.
   ════════════════════════════════════════════════════════════════ */

/* People OS wordmark (UI-wave 2026-06-11): the outline "Batman Forever" face
   was oversized, collided with the iOS status-bar clock, and sat outside the
   app's type system. Replaced with .pos-wordmark — small, premium, the app's
   own display face. The custom @font-face is retired. */
.tos-shell{ position:fixed; inset:0; display:flex; flex-direction:column;
  background:var(--bg); color:var(--ink); z-index:40; }
.tos-topbar{ display:flex; align-items:center; gap:10px; padding:10px 14px;
  border-bottom:1px solid var(--line-soft); position:sticky; top:0; z-index:5; }
.tos-back{ width:34px; height:34px; flex:none; border:1px solid var(--line);
  background:transparent; color:var(--ink-dim); border-radius:var(--r-pill);
  font-size:18px; cursor:pointer; }
.tos-title{ font-weight:600; font-size:15px; }
.tos-grow{ flex:1; min-width:0; }
.tos-iconbtn{ width:34px; height:34px; flex:none; border:1px solid var(--line);
  background:transparent; color:var(--ink-dim); border-radius:var(--r-pill);
  font-size:15px; cursor:pointer; }
.tos-iconbtn:active{ transform:scale(.92); }

/* view switcher (segmented) */
.tos-seg{ display:flex; gap:2px; background:var(--bg-card); border:1px solid var(--line);
  border-radius:var(--r-pill); padding:3px; overflow-x:auto; }
.tos-seg button{ font-size:11px; font-family:var(--mono); border:none; cursor:pointer;
  white-space:nowrap; background:transparent; color:var(--ink-mute);
  padding:5px 11px; border-radius:var(--r-pill); }
.tos-seg button.on{ color:var(--accent-text); background:var(--accent); }

/* pulse — decision tiles (horizontal snap-scroll on mobile) */
.tos-pulse{ display:flex; gap:8px; overflow-x:auto; padding:10px 14px;
  scroll-snap-type:x mandatory; border-bottom:1px solid var(--line-soft); }
.tos-stat{ flex:none; min-width:118px; scroll-snap-align:start; cursor:pointer;
  border:1px solid var(--line); border-radius:var(--r-squircle);
  background:var(--bg-card); padding:10px 12px; text-align:left; }
.tos-stat__v{ font-family:var(--mono); font-size:20px; font-weight:600; line-height:1; }
.tos-stat__l{ font-size:10px; color:var(--ink-mute); text-transform:uppercase;
  letter-spacing:.05em; margin-top:4px; }
.tos-stat--alert{ background:color-mix(in srgb,var(--danger) 9%,var(--bg-card)); }
.tos-stat--alert .tos-stat__v{ color:var(--danger); }

/* body + view container */
.tos-body{ flex:1; overflow:auto; padding:12px 14px 60px; }

/* task card / row */
.tos-card{ border:1px solid var(--line); border-radius:var(--r-squircle);
  background:var(--bg-card); padding:11px 13px; margin-bottom:8px; cursor:pointer;
  display:block; width:100%; text-align:left; }
.tos-card:hover{ background:var(--bg-elev); }
.tos-card__t{ font-size:13px; font-weight:600; line-height:1.35; }
.tos-card__m{ display:flex; align-items:center; gap:8px; margin-top:7px;
  font-size:10.5px; color:var(--ink-mute); font-family:var(--mono); flex-wrap:wrap; }
.tos-eon{ font-size:9px; padding:1px 6px; border-radius:var(--r-pill);
  background:var(--gemini-grad-crux); color:#0b0b0c; font-weight:600;
  text-transform:uppercase; letter-spacing:.05em; }
.tos-pri{ font-size:9px; padding:1px 6px; border-radius:var(--r-pill);
  text-transform:uppercase; letter-spacing:.05em; }
.tos-pri--high{ background:color-mix(in srgb,var(--danger) 16%,transparent); color:var(--danger); }
.tos-pri--normal{ background:color-mix(in srgb,var(--ink-mute) 16%,transparent); color:var(--ink-dim); }
.tos-vel--stuck{ color:var(--danger); }
.tos-vel--slow{ color:var(--warn); }
.tos-vel--fast{ color:var(--ok); }

/* section headers (My Work) */
.tos-sec{ font-size:10px; text-transform:uppercase; letter-spacing:.1em;
  color:var(--ink-mute); font-family:var(--mono); margin:14px 0 8px; }

/* board columns */
.tos-board{ display:flex; gap:10px; overflow-x:auto; padding-bottom:8px; }
.tos-col{ flex:none; width:264px; }
.tos-col__h{ display:flex; justify-content:space-between; align-items:baseline;
  font-size:11px; text-transform:uppercase; letter-spacing:.06em; font-family:var(--mono);
  color:var(--ink-mute); margin-bottom:8px; }

/* empty + skeleton */
.tos-empty{ text-align:center; padding:34px 16px; color:var(--ink-mute); font-size:13px; }
.tos-empty__i{ font-size:26px; opacity:.45; margin-bottom:8px; }

/* board drag-to-transition */
.tos-col__drop{ min-height:60px; border-radius:var(--r-squircle); transition:background .15s; }
.tos-col--over{ background:color-mix(in srgb,var(--accent) 8%,transparent);
  outline:1px dashed color-mix(in srgb,var(--accent) 45%,transparent); }
.tos-card--drag{ opacity:.45; }

/* My Work — Done today roll-up */
.tos-done{ margin-top:14px; }
.tos-done summary{ list-style:none; cursor:pointer; }
.tos-done summary::-webkit-details-marker{ display:none; }
.tos-done[open] summary{ color:var(--ink-dim); }

/* detail panel — SLA gauge + meta grid */
.tos-det__row{ display:flex; gap:14px; align-items:flex-start; }
.tos-sla{ flex:none; }
.tos-det__meta{ flex:1; min-width:0; }
.tos-assignee{ width:100%; background:transparent; border:none; cursor:pointer;
  padding:0; text-align:inherit; color:inherit; font:inherit; }
.tos-assignee:disabled{ cursor:default; }

/* subtasks checklist + progress */
.tos-prog{ height:4px; border-radius:var(--r-pill); background:var(--line-soft);
  overflow:hidden; margin-bottom:10px; }
.tos-prog__fill{ height:100%; border-radius:var(--r-pill); background:var(--accent);
  transition:width .4s var(--ease-emph-decel,ease); }
.tos-sub{ display:flex; align-items:center; gap:9px; width:100%; padding:7px 2px;
  background:transparent; border:none; border-bottom:1px solid var(--line-soft);
  cursor:pointer; color:var(--ink); text-align:left; font-size:12.5px; }
.tos-sub:last-of-type{ border-bottom:none; }
.tos-sub__dot{ width:9px; height:9px; flex:none; border-radius:50%;
  border:1.5px solid var(--ink-mute); }
.tos-sub__dot--done{ background:var(--ok); border-color:var(--ok); }
.tos-sub__t{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tos-sub__t--done{ color:var(--ink-mute); text-decoration:line-through; }
.tos-sub__s{ flex:none; font-family:var(--mono); font-size:10px; color:var(--ink-mute); }

/* dependencies */
.tos-dep{ display:flex; align-items:center; gap:8px; padding:6px 0; font-size:12.5px; }
.tos-dep__k{ flex:none; font-family:var(--mono); font-size:9.5px; text-transform:uppercase;
  letter-spacing:.06em; padding:1px 6px; border-radius:var(--r-pill);
  background:color-mix(in srgb,var(--ink-mute) 16%,transparent); color:var(--ink-dim); }
.tos-dep__k--blockedby{ background:color-mix(in srgb,var(--danger) 16%,transparent); color:var(--danger); }
.tos-dep__t{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  background:transparent; border:none; color:var(--ink); cursor:pointer; text-align:left;
  font-size:12.5px; padding:0; }
.tos-dep__x{ flex:none; background:transparent; border:none; color:var(--ink-mute);
  font-size:10.5px; cursor:pointer; font-family:var(--mono); }
.tos-dep__x:hover{ color:var(--danger); }

/* per-task Ask EON drawer */
.tos-eonchat{ max-height:46vh; min-height:120px; overflow-y:auto; display:flex;
  flex-direction:column; gap:8px; padding:6px 2px 10px; }
.tos-bub{ max-width:86%; padding:9px 12px; border-radius:14px; font-size:13px;
  line-height:1.45; white-space:pre-wrap; word-break:break-word; }
.tos-bub--me{ align-self:flex-end; background:var(--accent); color:var(--accent-text);
  border-bottom-right-radius:5px; }
.tos-bub--eon{ align-self:flex-start; background:var(--bg-elev); border:1px solid var(--line);
  border-bottom-left-radius:5px; }
.tos-bub--wait{ color:var(--ink-mute); font-style:italic; }
.tos-eonchat__bar{ display:flex; gap:8px; align-items:center; }
.tos-eonchat__bar .csw-search{ flex:1; margin:0; }

@media(min-width:760px){
  .tos-col{ width:284px; }
}
@media (prefers-reduced-motion:reduce){
  .tos-card, .tos-stat, .tos-shell{ animation:none !important; }
  .tos-prog__fill, .tos-col__drop{ transition:none !important; }
}

/* ════════════════════════════════════════════════════════════════════════
   PEOPLE OS (pos-*) — production port of docs/people_os_design_v2.html.
   A tabbed HR umbrella + an Asana-grade Tasks tab on CRUX "quiet authority".
   Reuses the shared :root from app.css + cs.css (gemini gradient, motion,
   glass, radii). Adds ONLY the tokens the mockup introduced (4px spacing
   scale, the status-glyph monochrome ramp, desaturated department hues).
   ════════════════════════════════════════════════════════════════════════ */
:root{
  /* precise 4px spacing scale (Linear discipline) */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px;
  /* status-glyph monochrome ramp — status reads without a colored pill per card */
  --st-open:#6f6f78; --st-assigned:#8b8b85; --st-ack:#9aa6c4; --st-prog:#4796E3;
  --st-block:#ff4747; --st-review:#ffb347; --st-done:#4dd6a0;
  /* department hues — desaturated (~45% sat) so 6 can coexist calmly */
  --d-sales:#e0a35c; --d-cs:#7fb8d6; --d-inv:#9fcf8f; --d-log:#c79bd6; --d-mkt:#e08fa8; --d-ops:#c4bf8a;
}

/* keyframes — quiet, decel-led; nothing bounces except a verify celebrate */
@keyframes pos-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pos-riseSoft{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes pos-breathe{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@keyframes pos-pulseDot{0%,100%{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
@keyframes pos-confetti{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--cx),var(--cy)) scale(.4) rotate(220deg)}}

/* ─── APP SHELL ─── full-screen fixed surface (matches .cs/.tos shells) */
.pos-shell{
  position:fixed; inset:0; z-index:40; display:flex; flex-direction:column;
  background:
    radial-gradient(130% 80% at 50% -25%, color-mix(in srgb,var(--g-violet) 6%, transparent) 0%, transparent 52%),
    var(--bg);
  color:var(--ink); font-size:14px; line-height:1.45;
}
.pos-mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}

/* surface header — title + role context + the live "today" line.
   Safe-area aware: on a notched iPhone the header starts BELOW the status
   bar (clock/battery), never under it. */
.pos-sh{padding:calc(var(--s4) + env(safe-area-inset-top, 0px)) var(--s6) 0;border-bottom:1px solid var(--line-soft);flex:0 0 auto;}
.pos-sh__top{display:flex;align-items:center;gap:var(--s4);}
.pos-sh__back{width:30px;height:30px;flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--ink-dim);border-radius:var(--r-pill);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--dur-3) var(--ease-emph);}
.pos-sh__back:hover{border-color:var(--line-strong);color:var(--ink);}
/* clean premium wordmark — app type system, small, left-aligned */
.pos-wordmark{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.01em;line-height:1;margin:0;color:var(--ink);white-space:nowrap;}
.pos-wordmark__os{margin-left:6px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:5px;padding:2px 5px;vertical-align:2px;}
.pos-sh__role{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);border:1px solid var(--line);border-radius:99px;padding:4px 10px;}
.pos-sh__role .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}
.pos-sh__sp{flex:1;}
.pos-switch{display:flex;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px;flex:0 0 auto;}
.pos-switch button{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);padding:5px 10px;border:none;background:none;cursor:pointer;border-radius:99px;transition:all var(--dur-3) var(--ease-emph);}
.pos-switch button.on{background:var(--ink);color:var(--bg);}
.pos-sh__date{font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:.02em;}
.pos-iconbtn{width:30px;height:30px;flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--ink-dim);border-radius:var(--r-pill);font-size:14px;cursor:pointer;transition:border-color var(--dur-3);}
.pos-iconbtn:hover{border-color:var(--line-strong);color:var(--ink);}

/* live stat strip (UI-wave 2026-06-11) — Intelligence-style cells replace the
   pipe-separated sentence that jumbled on mobile. Number over label, hairline
   dividers via grid gap, graceful wrap at 390px. */
.pos-ribbon{padding:var(--s4) 0;}
.pos-sbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line);border-radius:var(--r-md,12px);overflow:hidden;}
.pos-sbar__c{background:var(--bg-card);padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0;}
.pos-sbar__v{font-size:18px;font-weight:600;line-height:1;color:var(--ink);white-space:nowrap;}
.pos-sbar__l{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-sbar__c--warn .pos-sbar__v{color:var(--warn);}
.pos-sbar__c--danger .pos-sbar__v{color:var(--danger);}
.pos-sbar__c--ok .pos-sbar__v{color:var(--ok);}
/* legacy aliases kept harmless (old ribbon markup is gone) */
.pos-rib__sep{display:none;}

/* tab bar — Asana view-tabs, Linear underline discipline */
.pos-tabbar{display:flex;align-items:center;gap:2px;padding:0 var(--s6);border-bottom:1px solid var(--line-soft);flex:0 0 auto;overflow-x:auto;}
.pos-tab{color:var(--ink-mute);padding:11px 12px 13px;font-size:13.5px;font-weight:500;position:relative;display:flex;align-items:center;gap:7px;border:none;background:none;cursor:pointer;font-family:var(--body);white-space:nowrap;transition:color var(--dur-3) var(--ease-emph);}
.pos-tab:hover{color:var(--ink-dim);}
.pos-tab.on{color:var(--ink);font-weight:600;}
.pos-tab.on::after{content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:2.5px;border-radius:99px 99px 0 0;background:var(--accent);}
.pos-tab svg{width:15px;height:15px;opacity:.8;}
.pos-tab.on svg{opacity:1;}
.pos-tab[disabled]{opacity:.55;cursor:default;}
.pos-tab .pos-tabnum{font-family:var(--mono);font-size:10px;color:var(--ink-mute);}
.pos-tab .soon{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;color:var(--ink-faint);border:1px solid var(--line-soft);border-radius:4px;padding:1px 4px;}

.pos-surface{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;}

/* ═══ OVERVIEW (owner) ═══ */
.pos-ov{padding:var(--s6);display:grid;grid-template-columns:1fr 332px;gap:var(--s5);align-items:start;}
.pos-ov__main{display:flex;flex-direction:column;gap:var(--s5);min-width:0;}
.pos-ov__side{display:flex;flex-direction:column;gap:var(--s4);}

.pos-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-card) 96%, transparent),var(--bg-card));border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);animation:pos-riseSoft var(--dur-m) var(--ease-emph-decel) both;}
.pos-panel__h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:var(--s4);}
.pos-panel__t{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);font-family:var(--mono);}
.pos-panel__act{font-size:11.5px;color:var(--ink-mute);border:none;background:none;cursor:pointer;font-family:var(--body);transition:color var(--dur-3);}
.pos-panel__act:hover{color:var(--ink-dim);}

/* team pulse row — 4 figures, mono numerals, no tile chrome */
.pos-pulse{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.pos-pulse__c{background:var(--bg-card);padding:var(--s5) var(--s4);display:flex;flex-direction:column;gap:6px;position:relative;}
.pos-pulse__l{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);}
.pos-pulse__v{font-family:var(--display);font-size:30px;line-height:1;letter-spacing:-.02em;}
.pos-pulse__v small{font-family:var(--mono);font-size:13px;color:var(--ink-mute);letter-spacing:0;}
.pos-pulse__d{font-size:11px;display:inline-flex;align-items:center;gap:4px;}
.pos-pulse__d.up{color:var(--ok);} .pos-pulse__d.down{color:var(--danger);} .pos-pulse__d.flat{color:var(--ink-mute);}

/* leaderboard — rank · person · dept · bar · pts */
.pos-lb{display:flex;flex-direction:column;}
.pos-lb__row{display:grid;grid-template-columns:24px 1fr 92px 56px;align-items:center;gap:var(--s3);padding:10px 6px;border-top:1px solid var(--line-soft);width:100%;border-left:none;border-right:none;border-bottom:none;background:none;text-align:left;cursor:pointer;font-family:var(--body);color:var(--ink);transition:background var(--dur-3) var(--ease-emph);}
.pos-lb__row:first-child{border-top:none;}
.pos-lb__row:hover{background:color-mix(in srgb,var(--bg-card-2) 60%,transparent);}
.pos-lb__rank{font-family:var(--mono);font-size:12px;color:var(--ink-mute);text-align:center;}
.pos-lb__row--lead .pos-lb__rank{color:var(--accent);font-weight:600;}
.pos-lb__who{display:flex;align-items:center;gap:10px;min-width:0;}
.pos-lb__nm{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-lb__rl{font-size:10px;color:var(--ink-mute);font-family:var(--mono);margin-top:1px;}
.pos-lb__bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;}
.pos-lb__bar i{display:block;height:100%;border-radius:99px;background:var(--ink-faint);}
.pos-lb__row--lead .pos-lb__bar i{background:var(--gemini-grad-crux);background-size:200% 100%;animation:pos-breathe 7s var(--ease-emph) infinite alternate;}
.pos-lb__pts{font-family:var(--mono);font-size:14px;text-align:right;color:var(--ink);}
.pos-lb__star{font-size:10px;color:var(--warn);margin-left:4px;}

/* Reps tab (UI-wave 2026-06-11) — stacked rep card. The old 5-col grid
   squeezed the meta into ~150px at 390px and wrapped character-by-character.
   Now: identity line + chip line + full-width bar. */
.pos-rep2{padding:12px 6px;border-top:1px solid var(--line-soft);}
.pos-rep2:first-child{border-top:none;}
.pos-rep2__top{display:flex;align-items:center;gap:10px;min-width:0;}
.pos-rep2__rank{flex:0 0 18px;text-align:center;font-size:12px;color:var(--ink-mute);}
.pos-rep2--lead .pos-rep2__rank{color:var(--accent);font-weight:600;}
.pos-rep2__name{flex:1;min-width:0;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-rep2__rev{flex:0 0 auto;font-size:15px;font-weight:600;color:var(--ink);}
.pos-rep2--lead .pos-rep2__rev{color:var(--accent);}
.pos-rep2__chips{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0 28px;}
.pos-rep2__chip{font-family:var(--mono);font-size:10px;letter-spacing:.02em;color:var(--ink-dim);background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:99px;padding:2px 8px;white-space:nowrap;}
.pos-rep2__bar{height:5px;border-radius:99px;background:var(--line);overflow:hidden;margin:9px 0 0 28px;}
.pos-rep2__bar i{display:block;height:100%;border-radius:99px;background:var(--ink-faint);}
.pos-rep2--lead .pos-rep2__bar i{background:var(--gemini-grad-crux);background-size:200% 100%;animation:pos-breathe 7s var(--ease-emph) infinite alternate;}
.pos-repdays{display:inline-flex;gap:4px;}
.pos-repday{font-family:var(--body);font-size:11px;font-weight:600;color:var(--ink-soft);background:none;border:1px solid var(--line-soft);border-radius:999px;padding:7px 13px;min-height:32px;cursor:pointer;}
.pos-repday.on{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);}
.pos-repmap{font-family:var(--body);font-size:11px;font-weight:600;color:var(--ink);background:none;border:1px solid var(--accent);border-radius:8px;padding:5px 10px;cursor:pointer;white-space:nowrap;}
.pos-repmap:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);}
.pos-rep-unmap{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn);border-radius:4px;padding:1px 4px;margin-left:6px;vertical-align:middle;}

/* department reliability strip */
.pos-dept{display:flex;flex-direction:column;gap:1px;}
.pos-dept__r{display:grid;grid-template-columns:120px 1fr 46px;align-items:center;gap:var(--s3);padding:9px 6px;border-top:1px solid var(--line-soft);}
.pos-dept__r:first-child{border-top:none;}
.pos-dept__n{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;min-width:0;}
.pos-dept__n span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-dept__dot{width:8px;height:8px;border-radius:3px;flex:0 0 auto;}
.pos-dept__track{height:8px;border-radius:99px;background:var(--line);overflow:hidden;}
.pos-dept__track i{display:block;height:100%;border-radius:99px;}
.pos-dept__v{font-family:var(--mono);font-size:12px;text-align:right;}

/* bonus pool + pay-equity */
.pos-pool__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s3);gap:10px;}
.pos-pool__amt{font-family:var(--display);font-size:28px;letter-spacing:-.02em;}
.pos-pool__amt .cur{font-family:var(--mono);font-size:15px;color:var(--ink-mute);}
.pos-pool__cap{font-size:11px;color:var(--ink-mute);text-align:right;}
.pos-pool__bar{display:flex;height:14px;border-radius:99px;overflow:hidden;border:1px solid var(--line);}
.pos-pool__seg{height:100%;}
.pos-pool__legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:var(--s3);}
.pos-pool__li{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-dim);}
.pos-pool__li .sw{width:9px;height:9px;border-radius:3px;}
.pos-pool__li .pc{font-family:var(--mono);color:var(--ink-mute);margin-left:4px;}
.pos-equity{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line-soft);display:flex;align-items:center;gap:var(--s3);}
.pos-equity__ring{width:46px;height:46px;flex:0 0 auto;position:relative;}
.pos-equity__ring svg{transform:rotate(-90deg);}
.pos-equity__c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:600;}
.pos-equity__t{font-size:12px;color:var(--ink-dim);line-height:1.4;}
.pos-equity__t b{color:var(--ink);}
.pos-ring__bg{fill:none;stroke:var(--line);}

/* integrity / retention flags */
.pos-flag{display:flex;gap:11px;padding:11px 0;border-top:1px solid var(--line-soft);}
.pos-flag:first-child{border-top:none;padding-top:0;}
.pos-flag__ic{width:26px;height:26px;border-radius:8px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.pos-flag__ic.warn{background:var(--warn-soft);color:var(--warn);}
.pos-flag__ic.danger{background:var(--danger-soft);color:var(--danger);}
.pos-flag__ic.ok{background:var(--ok-soft);color:var(--ok);}
.pos-flag__b{flex:1;min-width:0;}
.pos-flag__t{font-size:12.5px;font-weight:500;line-height:1.35;}
.pos-flag__m{font-size:11px;color:var(--ink-mute);margin-top:2px;}

/* ═══ OVERVIEW (staff self) ═══ */
.pos-self{padding:var(--s6);max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:var(--s5);width:100%;}
.pos-self__hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);display:flex;align-items:center;gap:var(--s6);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-card) 96%,transparent),var(--bg-card));animation:pos-riseSoft var(--dur-m) var(--ease-emph-decel) both;}
.pos-self__hero::before{content:'';position:absolute;inset:0;opacity:.09;background:var(--gemini-grad-crux);background-size:300% 300%;animation:pos-breathe 10s var(--ease-emph) infinite alternate;pointer-events:none;}
.pos-ring{width:128px;height:128px;flex:0 0 auto;position:relative;z-index:1;}
.pos-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.pos-ring__fg{fill:none;stroke:url(#cswGrad);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset var(--dur-xl) var(--ease-emph-decel);}
.pos-ring__c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.pos-ring__pts{font-family:var(--display);font-size:34px;line-height:1;letter-spacing:-.02em;}
.pos-ring__tot{font-family:var(--mono);font-size:10px;color:var(--ink-mute);margin-top:3px;}
.pos-self__meta{flex:1;min-width:0;z-index:1;}
.pos-self__nm{font-family:var(--display);font-size:24px;letter-spacing:-.015em;}
.pos-self__rl{font-size:12px;color:var(--ink-mute);font-family:var(--mono);margin-top:3px;letter-spacing:.03em;}
.pos-self__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.pos-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-dim);border:1px solid var(--line);border-radius:99px;padding:5px 11px;}
.pos-chip b{color:var(--ink);}
.pos-chip--lvl{color:#fff;border:none;background:var(--gemini-grad);background-size:200% 200%;animation:pos-breathe 8s var(--ease-emph) infinite alternate;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;}
.pos-chip--streak{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent);}
.pos-chip--streak b{color:var(--accent);}
.pos-self__next{font-size:11.5px;color:var(--ink-mute);margin-top:12px;}
.pos-self__next b{color:var(--ink-dim);}
.pos-self__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);}

.pos-receipt{display:flex;flex-direction:column;}
.pos-receipt__r{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--s3);padding:9px 0;border-top:1px solid var(--line-soft);font-size:12.5px;}
.pos-receipt__r:first-child{border-top:none;}
.pos-receipt__t{color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-receipt__stars{color:var(--warn);font-size:11px;letter-spacing:1px;}
.pos-receipt__pts{font-family:var(--mono);font-size:13px;color:var(--ok);}
.pos-pb{display:flex;align-items:center;gap:var(--s4);}
.pos-pb__big{font-family:var(--display);font-size:46px;letter-spacing:-.02em;line-height:1;}
.pos-pb__lbl{font-size:12px;color:var(--ink-dim);line-height:1.4;}
.pos-pb__lbl b{color:var(--ink);}
.pos-mytasks{display:flex;flex-direction:column;gap:var(--s2);}
.pos-mytask{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);transition:border-color var(--dur-3) var(--ease-emph);cursor:pointer;width:100%;text-align:left;font-family:var(--body);color:var(--ink);}
.pos-mytask:hover{border-color:var(--line-strong);}
.pos-mytask__st{width:14px;height:14px;flex:0 0 auto;line-height:0;}
.pos-mytask__t{flex:1;min-width:0;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-mytask__due{font-family:var(--mono);font-size:10.5px;color:var(--ink-mute);}
.pos-mytask__due.over{color:var(--danger);}
.pos-mytask__pts{font-family:var(--mono);font-size:11px;color:var(--accent);}

/* ═══ TASKS — toolbar ═══ */
.pos-tk{flex:1;min-height:0;display:flex;flex-direction:column;}
.pos-tkbar{display:flex;align-items:center;gap:6px;padding:10px var(--s6);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;}
.pos-seg{display:flex;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px;}
.pos-seg button{display:flex;align-items:center;gap:7px;color:var(--ink-mute);padding:6px 12px;border:none;background:none;cursor:pointer;border-radius:7px;font-size:12.5px;font-weight:500;font-family:var(--body);transition:all var(--dur-3) var(--ease-emph);}
.pos-seg button svg{width:14px;height:14px;}
.pos-seg button.on{background:var(--bg-card-2);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.3);}
.pos-tkbar__sp{flex:1;}
.pos-tb{display:flex;align-items:center;gap:7px;color:var(--ink-dim);padding:6px 10px;border:none;background:none;cursor:pointer;border-radius:var(--r-sm);font-size:12.5px;font-weight:500;font-family:var(--body);transition:all var(--dur-3) var(--ease-emph);}
.pos-tb:hover{background:var(--bg-card);color:var(--ink);}
.pos-tb svg{width:14px;height:14px;color:var(--ink-mute);}
.pos-tb__c{font-family:var(--mono);font-size:10px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);padding:1px 6px;border-radius:99px;}
.pos-tb--new{background:var(--accent);color:var(--accent-text);font-weight:600;padding:7px 13px;box-shadow:0 2px 12px -5px color-mix(in srgb,var(--accent) 70%,transparent);}
.pos-tb--new svg{color:var(--accent-text);}
.pos-tb--new:hover{background:#c3f024;}
/* eon auto-allocate banner — EON is the PM here */
.pos-tkbar__eon{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-dim);padding:5px 11px 5px 9px;border-radius:99px;border:1px solid color-mix(in srgb,var(--g-violet) 32%,transparent);background:color-mix(in srgb,var(--g-violet) 9%,transparent);cursor:pointer;}
.pos-tkbar__eon .spark{width:14px;height:14px;color:var(--g-violet);}
.pos-tkbar__eon b{color:var(--ink);}

/* ═══ BOARD (centerpiece) ═══ */
.pos-board{flex:1;min-height:0;display:flex;gap:var(--s3);overflow-x:auto;overflow-y:hidden;padding:var(--s4) var(--s6) var(--s5);scroll-snap-type:x proximity;}
.pos-col{flex:0 0 288px;width:288px;display:flex;flex-direction:column;min-height:0;scroll-snap-align:start;}
.pos-col__head{display:flex;align-items:center;gap:9px;padding:2px 8px 12px;}
.pos-col__glyph{flex:0 0 auto;display:inline-flex;align-items:center;line-height:0;}
.pos-col__nm{font-size:13px;font-weight:600;letter-spacing:-.005em;white-space:nowrap;}
.pos-col__ct{font-family:var(--mono);font-size:11px;color:var(--ink-mute);}
.pos-col__sp{flex:1;}
.pos-col__btn{color:var(--ink-mute);font-size:15px;width:22px;height:22px;border:none;background:none;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--dur-3);}
.pos-col__btn:hover{background:var(--bg-card);color:var(--ink);}
.pos-col__wip{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:var(--ink-mute);border:1px solid var(--line);border-radius:5px;padding:1px 5px;}
.pos-col__wip.over{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent);}
.pos-col__list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:9px;padding:2px 3px 8px;}
.pos-col__list::-webkit-scrollbar{width:7px;}

/* THE CARD — thin status rail on the left edge, quiet title, one meta line */
.pos-card{position:relative;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card);padding:12px 13px 11px 15px;text-align:left;width:100%;display:flex;flex-direction:column;gap:9px;cursor:pointer;font-family:var(--body);color:var(--ink);transition:border-color var(--dur-3) var(--ease-emph),box-shadow var(--dur-3) var(--ease-emph),transform var(--dur-3) var(--ease-emph);animation:pos-rise var(--dur-m) var(--ease-emph-decel) both;}
.pos-card::before{content:'';position:absolute;left:0;top:11px;bottom:11px;width:2.5px;border-radius:99px;background:var(--rail,var(--st-open));}
.pos-card:hover{border-color:var(--line-strong);box-shadow:0 6px 20px -10px rgba(0,0,0,.7);transform:translateY(-1px);}
.pos-card.sel{border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent);}
.pos-card.eon{border-color:color-mix(in srgb,var(--g-violet) 26%,transparent);}
.pos-card.eon::after{content:'';position:absolute;left:0;top:0;right:0;height:1.5px;background:var(--gemini-grad);opacity:.9;border-radius:14px 14px 0 0;}
.pos-card__top{display:flex;align-items:flex-start;gap:8px;}
.pos-card__src{flex:0 0 auto;margin-top:1px;line-height:0;}
.pos-card__src .spark{width:13px;height:13px;color:var(--g-violet);}
.pos-card__src .person{width:13px;height:13px;color:var(--ink-mute);}
.pos-card__title{flex:1;font-size:13px;line-height:1.34;color:var(--ink);font-weight:500;letter-spacing:-.004em;}
.pos-card.done .pos-card__title{color:var(--ink-mute);text-decoration:line-through;text-decoration-color:var(--line-strong);}
/* the EON rationale — one quiet italic line */
.pos-card__why{font-size:11px;color:var(--ink-mute);line-height:1.4;padding-left:21px;position:relative;}
.pos-card__why::before{content:'';position:absolute;left:8px;top:7px;width:6px;height:6px;border-left:1.5px solid var(--line-strong);border-bottom:1.5px solid var(--line-strong);}
.pos-card__why em{font-style:normal;color:var(--g-violet);}
.pos-card__meta{display:flex;align-items:center;gap:10px;}
.pos-card__assignee{display:flex;align-items:center;gap:7px;min-width:0;}
.pos-card__an{font-size:11.5px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-card__msp{flex:1;}
.pos-card__due{font-family:var(--mono);font-size:10.5px;color:var(--ink-mute);display:inline-flex;align-items:center;gap:4px;}
.pos-card__due svg{width:11px;height:11px;}
.pos-card__due.over{color:var(--danger);}
.pos-card__due.soon{color:var(--warn);}
.pos-card__impact{font-family:var(--mono);font-size:11px;color:var(--accent);font-weight:600;}
/* blocked dependency — a real edge */
.pos-card__dep{display:flex;align-items:center;gap:7px;font-size:10.5px;color:#ffb3b3;background:color-mix(in srgb,var(--danger) 11%,transparent);border:1px solid color-mix(in srgb,var(--danger) 26%,transparent);border-radius:8px;padding:6px 9px;}
.pos-card__dep svg{width:12px;height:12px;flex:0 0 auto;}
.pos-card__dep b{color:#fff;}
/* handoff chain marker on card */
.pos-card__chain{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9.5px;color:var(--ink-mute);letter-spacing:.02em;flex-wrap:wrap;}
.pos-card__chain .seg{color:var(--ink-dim);}
.pos-card__chain .now{color:var(--accent);}
.pos-card__chain svg{width:9px;height:9px;color:var(--ink-faint);}
/* tags */
.pos-card__tags{display:flex;flex-wrap:wrap;gap:5px;}
.pos-tag{font-family:var(--mono);font-size:9.5px;color:var(--ink-mute);border:1px solid var(--line);border-radius:6px;padding:1px 6px;}
/* velocity dot */
.pos-vel{width:7px;height:7px;border-radius:50%;flex:0 0 auto;}
.pos-vel--fast{background:var(--ok);box-shadow:0 0 7px color-mix(in srgb,var(--ok) 70%,transparent);}
.pos-vel--ok,.pos-vel--normal{background:var(--g-blue);}
.pos-vel--slow{background:var(--warn);}
.pos-vel--stall,.pos-vel--stuck{background:var(--danger);animation:pos-pulseDot 1.6s ease-in-out infinite;}
/* verify CTA on completed cards */
.pos-card__verify{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:8px;border:1px solid color-mix(in srgb,var(--warn) 36%,transparent);background:color-mix(in srgb,var(--warn) 9%,transparent);color:var(--warn);border-radius:9px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:var(--body);transition:all var(--dur-3) var(--ease-emph);}
.pos-card__verify:hover{background:color-mix(in srgb,var(--warn) 16%,transparent);}
.pos-card__verify svg{width:13px;height:13px;}
/* verified ribbon */
.pos-card__done{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ok);}
.pos-card__done .stars{color:var(--warn);letter-spacing:1px;font-size:10px;}

.pos-col__add{margin:2px 3px 0;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r-md);border:1px dashed var(--line);background:none;color:var(--ink-mute);font-size:12px;width:calc(100% - 6px);cursor:pointer;font-family:var(--body);transition:all var(--dur-3) var(--ease-emph);}
.pos-col__add:hover{border-color:var(--line-strong);color:var(--ink-dim);background:var(--bg-card);}
.pos-col__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-size:11.5px;font-style:italic;min-height:80px;}

/* avatar (mockup gradient-hash) */
.pos-av{width:24px;height:24px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:9.5px;letter-spacing:.01em;}
.pos-av--sm{width:20px;height:20px;font-size:8.5px;}
.pos-av--lg{width:34px;height:34px;font-size:13px;}
.pos-av--ghost{background:transparent!important;border:1.5px dashed var(--line-strong);color:var(--ink-mute);font-weight:400;}

/* ═══ LIST (spreadsheet) ═══ */
.pos-listv{flex:1;min-height:0;overflow:auto;padding:0 var(--s6) var(--s6);}
.pos-lst{width:100%;min-width:920px;border-collapse:collapse;}
.pos-lst thead th{position:sticky;top:0;z-index:5;background:var(--bg-elev);text-align:left;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap;}
.pos-lst thead th.num{text-align:right;}
.pos-lst tbody tr{border-bottom:1px solid var(--line-soft);transition:background var(--dur-3) var(--ease-emph);cursor:pointer;}
.pos-lst tbody tr:hover{background:var(--bg-card);}
.pos-lst tbody tr.sel{background:color-mix(in srgb,var(--accent) 7%,transparent);}
.pos-lst td{padding:11px 12px;font-size:12.5px;vertical-align:middle;}
.pos-lst__group td{background:color-mix(in srgb,var(--bg-card-2) 50%,transparent);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);padding:8px 12px;border-bottom:1px solid var(--line);}
.pos-lst__group .gc{color:var(--ink-faint);}
.pos-lst__st{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-dim);}
.pos-lst__st svg{width:13px;height:13px;}
.pos-lst__title{display:flex;align-items:center;gap:8px;}
.pos-lst__title .spark{width:13px;height:13px;color:var(--g-violet);flex:0 0 auto;}
.pos-lst__title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;}
.pos-lst__pri{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;}
.pos-lst__assignee{display:flex;align-items:center;gap:8px;}
.pos-lst__assignee span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-lst .num{text-align:right;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;}
.pos-lst .impact{color:var(--accent);font-weight:600;}
.pos-lst .due-over{color:var(--danger);}
.pos-lst .due-soon{color:var(--warn);}
.pos-lst__dept{font-family:var(--mono);font-size:10px;color:var(--ink-mute);display:inline-flex;align-items:center;gap:6px;}
.pos-lst__dept .dot{width:7px;height:7px;border-radius:2.5px;}

/* priority glyph (Linear: bars, not words) */
.pos-prig{display:inline-flex;align-items:flex-end;gap:1.5px;height:11px;}
.pos-prig i{width:2.5px;background:var(--ink-faint);border-radius:1px;}
.pos-prig i:nth-child(1){height:4px;} .pos-prig i:nth-child(2){height:7px;} .pos-prig i:nth-child(3){height:10px;}
.pos-prig--urgent i{background:var(--danger);}
.pos-prig--high i:nth-child(1),.pos-prig--high i:nth-child(2),.pos-prig--high i:nth-child(3){background:var(--warn);}
.pos-prig--med i:nth-child(1),.pos-prig--med i:nth-child(2),.pos-prig--normal i:nth-child(1),.pos-prig--normal i:nth-child(2){background:var(--ink-dim);}
.pos-prig--low i:nth-child(1){background:var(--ink-mute);}

/* ═══ DETAIL PANE (right dock) ═══ */
.pos-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:48;opacity:0;pointer-events:none;transition:opacity var(--dur-4) var(--ease-emph);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.pos-scrim.on{opacity:1;pointer-events:auto;}
.pos-detail{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;z-index:49;background:var(--bg-elev);border-left:1px solid var(--line);display:flex;flex-direction:column;transform:translateX(100%);transition:transform var(--dur-4) var(--ease-emph-decel);box-shadow:-24px 0 60px -30px rgba(0,0,0,.8);}
.pos-detail.open{transform:none;}
.pos-detail__bar{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-soft);}
.pos-detail__crumb{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mute);}
.pos-detail__bsp{flex:1;}
.pos-detail__ib{width:28px;height:28px;border:none;background:none;cursor:pointer;border-radius:7px;color:var(--ink-mute);display:flex;align-items:center;justify-content:center;transition:all var(--dur-3);}
.pos-detail__ib:hover{background:var(--bg-card);color:var(--ink);}
.pos-detail__scroll{flex:1;overflow-y:auto;padding:18px 20px 28px;}
.pos-detail__eon{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;padding:4px 10px;border-radius:99px;background:var(--gemini-grad);background-size:180% 180%;animation:pos-breathe 8s var(--ease-emph) infinite alternate;margin-bottom:14px;}
.pos-detail__eon svg{width:11px;height:11px;}
.pos-detail__title{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:-.015em;line-height:1.18;}
.pos-detail__why{margin-top:14px;padding:13px 14px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--g-violet) 24%,transparent);background:color-mix(in srgb,var(--g-violet) 7%,transparent);font-size:12.5px;line-height:1.5;color:var(--ink-dim);}
.pos-detail__why b{color:var(--ink);}
.pos-detail__why .src{font-family:var(--mono);font-size:10px;color:var(--g-violet);display:block;margin-top:7px;letter-spacing:.02em;}
.pos-detail__desc{margin-top:14px;font-size:12.5px;color:var(--ink-dim);line-height:1.55;}
.pos-detail__desc b{color:var(--ink);}

/* property grid */
.pos-props{margin-top:18px;display:flex;flex-direction:column;}
.pos-prop{display:grid;grid-template-columns:108px 1fr;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line-soft);}
.pos-prop:first-child{border-top:none;}
.pos-prop__k{font-size:11px;color:var(--ink-mute);font-family:var(--mono);letter-spacing:.02em;}
.pos-prop__v{font-size:12.5px;color:var(--ink-dim);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pos-prop__v.ink{color:var(--ink);}
.pos-psel{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:none;cursor:pointer;border-radius:99px;padding:4px 10px 4px 8px;font-size:11.5px;color:var(--ink-dim);font-family:var(--body);transition:border-color var(--dur-3);}
.pos-psel:hover{border-color:var(--line-strong);}
.pos-psel svg{width:13px;height:13px;}
.pos-psel.impact{color:var(--accent);font-family:var(--mono);font-weight:600;border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);cursor:default;}

/* SLA meter */
.pos-sla{margin-top:18px;}
.pos-sla__h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;}
.pos-sla__l{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);}
.pos-sla__v{font-family:var(--mono);font-size:12px;color:var(--warn);}
.pos-sla__track{height:7px;border-radius:99px;background:var(--line);overflow:hidden;position:relative;}
.pos-sla__track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ok),var(--warn));}

/* handoff chain — cross-department stepper */
.pos-chain{margin-top:20px;padding-top:18px;border-top:1px solid var(--line-soft);}
.pos-chain__h{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px;}
.pos-chain__step{display:flex;gap:12px;position:relative;padding-bottom:16px;}
.pos-chain__step:last-child{padding-bottom:0;}
.pos-chain__rail{position:absolute;left:11px;top:24px;bottom:0;width:1.5px;background:var(--line);}
.pos-chain__step:last-child .pos-chain__rail{display:none;}
.pos-chain__node{width:24px;height:24px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-elev);font-size:11px;color:#fff;z-index:1;}
.pos-chain__node.done{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 50%,transparent);color:var(--ok);}
.pos-chain__node.now{background:var(--accent);color:var(--accent-text);box-shadow:0 0 0 4px var(--accent-soft);}
.pos-chain__node.next{background:var(--bg-card);border-color:var(--line);color:var(--ink-mute);}
.pos-chain__b{flex:1;min-width:0;padding-top:1px;}
.pos-chain__dept{font-size:12px;font-weight:600;}
.pos-chain__det{font-size:11px;color:var(--ink-mute);margin-top:2px;}
.pos-chain__who{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;color:var(--ink-dim);}

/* activity + comments in detail */
.pos-act{margin-top:20px;padding-top:18px;border-top:1px solid var(--line-soft);}
.pos-act__r{display:flex;gap:11px;padding:9px 0;}
.pos-act__dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);margin-top:6px;flex:0 0 auto;}
.pos-act__dot.eon{background:var(--g-violet);}
.pos-act__dot.pts{background:var(--accent);}
.pos-act__b{flex:1;font-size:12px;color:var(--ink-dim);line-height:1.4;}
.pos-act__b b{color:var(--ink);}
.pos-act__t{font-family:var(--mono);font-size:10px;color:var(--ink-faint);margin-top:2px;}
.pos-act__pts{font-family:var(--mono);font-size:11px;color:var(--accent);}
.pos-cmt{display:flex;gap:9px;padding:9px 0;border-top:1px solid var(--line-soft);}
.pos-cmt:first-of-type{border-top:none;}
.pos-cmt__b{flex:1;min-width:0;}
.pos-cmt__who{font-size:11.5px;font-weight:600;color:var(--ink);}
.pos-cmt__txt{font-size:12px;color:var(--ink-dim);line-height:1.4;margin-top:2px;word-break:break-word;}
.pos-cmt__t{font-family:var(--mono);font-size:9.5px;color:var(--ink-faint);margin-top:3px;}
.pos-cmt-box{display:flex;gap:8px;margin-top:12px;}
.pos-cmt-box input{flex:1;min-width:0;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font-family:var(--body);font-size:12.5px;padding:8px 11px;}
.pos-cmt-box input:focus{outline:none;border-color:color-mix(in srgb,var(--g-violet) 45%,transparent);}
.pos-cmt-box button{flex:0 0 auto;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--r-sm);font-weight:600;font-size:12px;padding:0 13px;cursor:pointer;font-family:var(--body);}

/* detail footer action rail */
.pos-detail__foot{padding:14px 20px;border-top:1px solid var(--line-soft);display:flex;gap:10px;flex-wrap:wrap;background:var(--bg-elev);}
.pos-detail__foot button{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border:none;cursor:pointer;border-radius:var(--r-md);font-size:13px;font-weight:600;font-family:var(--body);transition:all var(--dur-3) var(--ease-emph);}
.pos-detail__foot .ghost{border:1px solid var(--line);background:none;color:var(--ink-dim);}
.pos-detail__foot .ghost:hover{border-color:var(--line-strong);color:var(--ink);}
.pos-detail__foot .prime{background:var(--accent);color:var(--accent-text);box-shadow:0 2px 14px -6px color-mix(in srgb,var(--accent) 70%,transparent);}
.pos-detail__foot .prime:hover{background:#c3f024;}
.pos-detail__foot .prime[disabled]{opacity:.6;cursor:default;}
.pos-detail__foot .verify{background:color-mix(in srgb,var(--warn) 90%,#000);color:#1a1205;}

/* verify+rate sheet stars */
.pos-stars{font-size:30px;letter-spacing:6px;text-align:center;margin-bottom:8px;color:var(--warn);cursor:pointer;}
.pos-stars span{cursor:pointer;}

/* toast (verify celebrate) */
.pos-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);z-index:80;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:var(--r-pill);background:var(--bg-card-2);border:1px solid color-mix(in srgb,var(--g-violet) 40%,transparent);box-shadow:0 16px 40px -16px rgba(0,0,0,.8);opacity:0;pointer-events:none;transition:all var(--dur-4) var(--ease-spring,cubic-bezier(0.34,1.56,0.64,1));}
.pos-toast.on{opacity:1;transform:translateX(-50%);}
.pos-toast__ic{width:30px;height:30px;border-radius:50%;background:var(--gemini-grad);display:flex;align-items:center;justify-content:center;color:#fff;}
.pos-toast__t{font-size:13px;font-weight:600;}
.pos-toast__s{font-size:11px;color:var(--ink-mute);font-family:var(--mono);}

/* coming-soon stub */
.pos-soon{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 24px;color:var(--ink-mute);text-align:center;}
.pos-soon__i{font-size:34px;opacity:.4;}
.pos-soon__t{font-family:var(--display);font-size:18px;color:var(--ink-dim);}
.pos-soon__s{font-size:12.5px;max-width:340px;line-height:1.5;}

/* empty + skeleton */
.pos-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;color:var(--ink-mute);font-size:13px;text-align:center;}
.pos-empty__i{font-size:26px;opacity:.45;}
.pos-skel{background:linear-gradient(90deg,var(--bg-card),var(--bg-card-2),var(--bg-card));background-size:200% 100%;animation:pos-breathe 1.4s linear infinite;border-radius:var(--r-lg);}

/* ─── MOBILE ─── */
@media (max-width:860px){
  /* keep the wordmark clear of the iOS status bar (clock) on notched phones */
  .pos-sh{padding:calc(12px + env(safe-area-inset-top, 0px)) 16px 0;}
  .pos-wordmark{font-size:15px;}
  .pos-sh__date{display:none;}
  .pos-ribbon{gap:12px;padding:12px 0;}
  .pos-tabbar{padding:0 16px;}
  .pos-ov{grid-template-columns:1fr;padding:16px;gap:16px;}
  .pos-self{padding:16px;}
  .pos-self__hero{flex-direction:column;text-align:center;gap:18px;padding:22px;}
  .pos-self__grid{grid-template-columns:1fr;}
  .pos-tkbar{padding:10px 16px;}
  .pos-tkbar__eon{order:5;width:100%;justify-content:center;}
  .pos-board{padding:14px 16px 90px;gap:12px;scroll-snap-type:x mandatory;}
  .pos-col{flex-basis:84vw;width:84vw;scroll-snap-align:center;}
  .pos-detail{width:100%;}
  .pos-listv{padding:0 0 24px;}
  .pos-lst{min-width:640px;}
}
@media (prefers-reduced-motion:reduce){
  .pos-card,.pos-panel,.pos-self__hero,.pos-shell{animation:none!important;}
  .pos-lb__row--lead .pos-lb__bar i,.pos-chip--lvl,.pos-self__hero::before,.pos-detail__eon{animation:none!important;}
}

/* ── Personal best (self-view) — 2026-06-09 ── */
.pos-pbstats{display:flex;gap:10px;margin-bottom:12px;}
.pos-pbstat{flex:1;display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--bg-elev);}
.pos-pbstat__v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;line-height:1;color:var(--ink);}
.pos-pbstat__l{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);}
.pos-pbbar{height:6px;border-radius:var(--r-pill);background:var(--line-soft);overflow:hidden;}
.pos-pbbar i{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width var(--dur-m,.4s) var(--ease-emph,ease);}
.pos-pbcap{margin-top:8px;font-size:12px;color:var(--ink-dim);line-height:1.4;}

/* ── Orphan task in the approval tray (no eligible assignee) ── */
.hr-fric--orphan{border-color:var(--warn);background:var(--warn-soft);}
.hr-fric__badge{margin-left:8px;padding:1px 8px;border-radius:var(--r-pill);background:var(--warn);color:#1a1205;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle;}

/* ── Ask EON (per-task help, in the detail pane) — 2026-06-09 ── */
.pos-ask{border-top:1px solid var(--line-soft);}
.pos-ask .pos-chain__h .spark{width:13px;height:13px;vertical-align:-2px;margin-right:3px;color:var(--accent);}
.pos-ask__hint{font-size:12px;color:var(--ink-dim);line-height:1.45;margin:4px 0 8px;}
#pos-ask-thread{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;margin-bottom:8px;}
.pos-askmsg{display:flex;flex-direction:column;gap:2px;}
.pos-askmsg__who{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mute);}
.pos-askmsg__b{font-size:13px;line-height:1.5;color:var(--ink);white-space:pre-wrap;padding:8px 11px;border-radius:var(--r-md);border:1px solid var(--line-soft);}
.pos-askmsg--me .pos-askmsg__b{background:var(--bg-elev);}
.pos-askmsg--eon .pos-askmsg__b{background:var(--accent-soft);border-color:transparent;}
.pos-askmsg--me{align-items:flex-end;}
.pos-askmsg--me .pos-askmsg__b{max-width:88%;}
.pos-ask__typing{color:var(--ink-mute);}
.pos-ask__meta{font-size:11px;color:var(--ink-mute);margin-top:6px;font-family:var(--mono);}

/* ═══ EXECUTION analytics (People OS tab, UI wave 2 2026-06-12) ═══
   The duplicate task list is gone — this tab now reads how the team
   executes: points output, ratings, department throughput, overdue
   aging. Mobile-first at 390px; panels reuse .pos-panel/.pos-pulse. */
.pos-exec{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s5);max-width:1080px;margin:0 auto;width:100%;}
.pos-xbar{display:flex;align-items:center;gap:10px;}
.pos-xbar__sp{flex:1;}
.pos-xcta{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-size:12.5px;font-weight:600;color:var(--accent-text);background:var(--accent);border:none;border-radius:var(--r-pill);padding:9px 16px;cursor:pointer;box-shadow:0 2px 14px -6px color-mix(in srgb,var(--accent) 70%,transparent);transition:transform var(--dur-3) var(--ease-emph);}
.pos-xcta:active{transform:scale(.96);}
.pos-xcta svg{width:15px;height:15px;}
/* daily points trend — bar strip */
.pos-xtr{display:flex;align-items:flex-end;gap:3px;height:84px;}
.pos-xtr__b{flex:1;min-width:2px;border-radius:3px 3px 0 0;background:color-mix(in srgb,var(--accent) 75%,transparent);}
.pos-xtr__b--zero{background:var(--line);}
.pos-xtr__cap{display:flex;justify-content:space-between;margin-top:7px;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);}
.pos-exec__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);align-items:start;}
/* star distribution */
.pos-xstar{display:grid;grid-template-columns:34px 1fr 30px;align-items:center;gap:var(--s3);padding:5px 0;}
.pos-xstar__l{font-family:var(--mono);font-size:11px;color:var(--ink-dim);white-space:nowrap;}
.pos-xstar__l .st{color:var(--warn);}
.pos-xstar__track{height:7px;border-radius:99px;background:var(--line);overflow:hidden;}
.pos-xstar__track i{display:block;height:100%;border-radius:99px;background:var(--warn);}
.pos-xstar__v{font-family:var(--mono);font-size:11.5px;text-align:right;color:var(--ink-dim);}
.pos-xunrated{margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--ink-mute);line-height:1.45;}
.pos-xunrated.warn{color:var(--warn);}
/* department performance rows */
.pos-xdept{display:flex;flex-direction:column;}
.pos-xdept__r{padding:10px 0;border-top:1px solid var(--line-soft);}
.pos-xdept__r:first-child{border-top:none;padding-top:0;}
.pos-xdept__top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.pos-xdept__n{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;min-width:0;}
.pos-xdept__chips{display:inline-flex;gap:5px;flex-wrap:wrap;}
.pos-xdept__chip{font-family:var(--mono);font-size:9.5px;letter-spacing:.03em;color:var(--ink-dim);background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:99px;padding:2px 7px;white-space:nowrap;}
.pos-xdept__chip.bad{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);}
.pos-xdept__chip.ok{color:var(--ok);}
.pos-xdept__bar{display:grid;grid-template-columns:1fr 40px;align-items:center;gap:var(--s3);margin-top:8px;}
.pos-xdept__rate{font-family:var(--mono);font-size:11.5px;text-align:right;}
/* overdue aging */
.pos-xage__buckets{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;}
.pos-xage__bucket{background:var(--bg-card);padding:12px;display:flex;flex-direction:column;gap:4px;}
.pos-xage__bv{font-size:22px;line-height:1;color:var(--ink);}
.pos-xage__bucket.warn .pos-xage__bv{color:var(--warn);}
.pos-xage__bucket.crit .pos-xage__bv{color:var(--danger);}
.pos-xage__bl{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);}
.pos-xage__list{display:flex;flex-direction:column;margin-top:var(--s3);}
.pos-xage__row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 4px;border:none;border-top:1px solid var(--line-soft);background:none;cursor:pointer;text-align:left;font-family:var(--body);color:var(--ink);transition:background var(--dur-3) var(--ease-emph);}
.pos-xage__row:hover{background:color-mix(in srgb,var(--bg-card-2) 60%,transparent);}
.pos-xage__t{flex:1;min-width:0;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pos-xage__who{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-dim);white-space:nowrap;}
.pos-xage__age{font-family:var(--mono);font-size:10.5px;color:var(--danger);white-space:nowrap;}
@media (max-width:760px){
  .pos-exec{padding:16px;}
  .pos-exec__grid{grid-template-columns:1fr;}
  .pos-pulse{grid-template-columns:repeat(2,1fr);}
  .pos-xtr{height:64px;}
}

/* ═══ GOALS & OKRs tab (UI wave 2 2026-06-12, backend mig 262) ═══ */
.pos-goals{padding:var(--s6);max-width:880px;margin:0 auto;width:100%;display:flex;flex-direction:column;}
.pos-goal__sec{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);margin:var(--s5) 0 var(--s2);}
.pos-goal{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-card) 96%,transparent),var(--bg-card));cursor:pointer;font-family:var(--body);color:var(--ink);transition:border-color var(--dur-3) var(--ease-emph);animation:pos-riseSoft var(--dur-m) var(--ease-emph-decel) both;}
.pos-goal:hover{border-color:var(--line-strong);}
.pos-goal--closed{opacity:.62;}
.pos-goal__ring{width:52px;height:52px;flex:0 0 auto;position:relative;}
.pos-goal__ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.pos-goal__ring circle{transition:stroke-dashoffset var(--dur-xl) var(--ease-emph-decel);}
.pos-goal__pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;}
.pos-goal__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.pos-goal__t{font-size:13.5px;font-weight:600;line-height:1.35;display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.pos-goal__nums{font-size:14px;color:var(--ink);}
.pos-goal__nums .of{color:var(--ink-mute);font-size:12px;}
.pos-goal__meta{font-size:11px;color:var(--ink-mute);font-family:var(--mono);}
.pos-goal__live{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:99px;padding:2px 7px;}
.pos-goal__live i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:pos-livepulse 1.8s ease-in-out infinite;}
@keyframes pos-livepulse{0%,100%{opacity:1;}50%{opacity:.25;}}
.pos-goal__pace{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:2px 7px;}
.pos-goal__pace.ok{color:var(--ok);background:var(--ok-soft);}
.pos-goal__pace.warn{color:var(--warn);background:var(--warn-soft);}
.pos-goal__closed{margin-top:var(--s5);}
.pos-goal__closed summary{list-style:none;}
.pos-goal__closed summary::-webkit-details-marker{display:none;}
.pos-goal__formrow{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:8px;align-items:center;}
.pos-goal__formrow .csw-search{margin:0;}
.pos-goal__acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.pos-goal__acts .csw-mini{flex:1;min-width:110px;}
@media (max-width:760px){
  .pos-goals{padding:16px;}
}
@media (prefers-reduced-motion:reduce){
  .pos-goal,.pos-goal__live i{animation:none!important;}
}

/* ── Shift-request approval queue (Operations), PR3 ──────────── */
.pos-appr__row{padding:var(--s4) 0;border-top:1px solid var(--line-soft);}
.pos-appr__row:first-of-type{border-top:none;}
.pos-appr__meta b{display:block;font-size:13px;font-weight:600;color:var(--ink);}
.pos-appr__meta span{display:block;font-size:11.5px;color:var(--ink-mute);margin-top:2px;line-height:1.45;}
.pos-appr__warn{font-size:11px;color:var(--warn);background:var(--warn-soft);border-radius:7px;padding:5px 9px;margin:7px 0 0;}
.pos-appr__acts{display:flex;gap:8px;margin-top:9px;}
.pos-appr__ok,.pos-appr__no{font-size:12px;font-weight:600;border-radius:9px;padding:7px 14px;cursor:pointer;border:1px solid var(--line);font-family:var(--body);}
.pos-appr__ok{background:var(--accent);color:var(--accent-text);border-color:var(--accent);}
.pos-appr__no{background:transparent;color:var(--ink-dim);}
.pos-appr__ok:hover{filter:brightness(1.05);}
.pos-appr__no:hover{color:var(--ink);}
