:root{
  --bg:#f2f5f9; --surface:#ffffff; --surface2:#f8fafc;
  --ink:#0f172a; --ink2:#4a5b70; --ink3:#8494a8; --line:#e3e9f1; --line2:#c7d5e1;
  --navy:#001435; --data:#2170ad; --data2:#5eb3e8; --warn:#b8791d;
  --good:#0f7a5a; --good2:#249e80; --neutral:#93a3b2; --track:#e7edf4;
  --warn-tint:#fdf7ec; --good-tint:#edf7f3; --data-tint:#eef4fb;
  --brand-navy:var(--navy); --brand-blue:var(--data); --brand-red:#cc0000;
  --teal:var(--good2); --data-soft:var(--data-tint); --warn-bg:var(--warn-tint);
  --good-bg:var(--good-tint); --crit:#c0392b; --crit-bg:#fdeeec;
  --on-dark:#ffffff; --on-dark-muted:#b9cbe6; --on-dark-subtle:#8fb4e6;
  --brand-deep:#04255f; --positive-on-dark:#8fe9c8; --warning-on-dark:#f0c27a;
  --data-on-dark:#7fa3d6; --on-dark-soft:#9fb8da;
  --on-dark-secondary:#a9c0df; --chart-on-dark:#7fb6e8;
  --auth-primary:#003ebc; --auth-primary-hover:#00308f; --brand-ink:#000a1a;
  --line-on-dark:#b9c9d8; --hero-label:#bcd6ea; --hero-copy:#cfe2f1;
  --grandtotal-copy:#c3d8ea; --warn-line:#e8c98d;
  --rating-star:#f5b942; --summary-band-solid:#06265a;
  --overlay:rgba(15,23,42,.44); --modal-shadow:0 40px 90px -30px rgba(15,23,42,.60);
  --shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px -14px rgba(15,23,42,.22);
  --header-shadow:0 3px 12px rgba(16,42,67,.11); --raised-shadow:0 3px 7px rgba(16,42,67,.10),0 10px 24px rgba(16,42,67,.11);
  --brand-glow-clear:rgba(204,0,0,0); --brand-glow-strong:rgba(204,0,0,.45); --brand-glow-soft:rgba(204,0,0,.15); --brand-glow-medium:rgba(204,0,0,.30);
  --nav-overlay:rgba(7,20,33,.48); --nav-shadow:8px 0 30px rgba(7,20,33,.2);
  --hero-glow:rgba(74,144,205,.32); --hero-positive-tint:rgba(131,232,198,.15);
  --card-hover-shadow:0 12px 28px rgba(4,21,39,.14); --note-hover-shadow:0 8px 20px rgba(4,21,39,.1);
  --drawer-overlay:rgba(8,17,29,.58); --drawer-shadow:0 40px 90px -30px rgba(9,17,31,.65);
  --auth-ink:#0b2038; --auth-muted:#526579; --auth-line:#d7e0e9; --auth-field:#f8fafc; --auth-panel:#eef4f8;
  --auth-brand-muted:#b9c9d8; --auth-brand-soft:#c9d7e4; --auth-brand-faint:#a8bed1; --auth-panel-shadow:0 28px 70px rgba(5,22,38,.16);
  --hero-label:#bcd6ea; --hero-copy:#cfe2f1; --grandtotal-label:#c3d8ea; --home-star:#f5b942; --home-summary:#06265a;
  --home-hero-glow:rgba(74,144,205,.43); --positive-tint:rgba(143,233,200,.15); --warning-tint:rgba(240,194,122,.15);
  --chart-line:#7fb6e8; --on-dark-faint:#a9c0df;
  --warn-line:#e8c98d; --print-muted:#4e6274; --print-line:#dbe4ec; --print-shadow-color:rgba(0,0,0,.25);
  --header-shadow-color:rgba(16,42,67,.11); --header-shadow-soft-color:rgba(16,42,67,.10);
  --card-hover-shadow-color:rgba(4,21,39,.14); --note-hover-shadow-color:rgba(4,21,39,.1);
  --drawer-shadow-color:rgba(9,17,31,.65); --on-dark-wash:rgba(255,255,255,.045);
  --auth-deep:#000a1a; --auth-black:#000; --auth-blue:#003ebc; --auth-blue-hover:#00308f; --auth-link:#174f82;
  --auth-blue-glow:rgba(0,62,188,.55); --auth-data-glow:rgba(33,112,173,.42); --auth-data-strong:rgba(94,179,232,.75);
  --auth-data-soft:rgba(94,179,232,.22); --auth-blue-tint:rgba(0,62,188,.13); --auth-blue-ring:rgba(0,62,188,.85);
  --auth-blue-faint:rgba(0,62,188,.08); --auth-shadow-color:rgba(0,0,0,.5);
  --deck-title:#0a0a0c; --deck-brand-dark:#0b1830; --deck-tech:#123055; --deck-tech-dark:#0d1a2c; --deck-tech-line:#1c3350;
  --deck-review:rgba(255,255,255,.82); --deck-hover-shadow:0 14px 30px rgba(0,0,0,.22);
  --deck-detail-shadow:0 22px 58px rgba(0,0,0,.35); --deck-control-shadow:0 12px 35px rgba(0,0,0,.3);
  --deck-caption-overlay:rgba(0,0,0,.85); --deck-print-ink:#14222e; --chart-fill:#4a90cd; --deck-hero-glow:rgba(74,144,205,.30);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5;
  font-family:"IBM Plex Sans",-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.num,.v,td.r,th.r{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
h1,h2,h3,.disp{font-family:"Barlow Condensed","IBM Plex Sans",Helvetica,Arial,sans-serif;
  font-weight:600;letter-spacing:.01em;margin:0;text-wrap:balance}
a{color:var(--brand-blue)}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.top{position:sticky;top:0;z-index:30;height:84px;background:var(--surface);border-bottom:1px solid var(--line);transition:box-shadow 120ms ease}
.top.scrolled{box-shadow:0 3px 12px color-mix(in srgb,var(--ink) 11%,transparent)}
.topin{display:flex;align-items:center;gap:12px;height:84px}
.brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.brand img{display:block;height:48px;width:auto;max-width:100%;object-fit:contain}
@keyframes vitals-beat{
  0%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}
  8%{transform:scale(1.045);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--brand-red) 45%,transparent))}
  17%{transform:scale(1.005);filter:drop-shadow(0 0 2px color-mix(in srgb,var(--brand-red) 15%,transparent))}
  25%{transform:scale(1.028);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--brand-red) 30%,transparent))}
  36%,100%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}
}
.brand img.beat,.login-logo img.beat{transform-origin:45% 50%;animation:vitals-beat 1.4s cubic-bezier(.22,1,.36,1) 280ms 1 both;will-change:transform,filter;backface-visibility:hidden}
.brandlink{display:flex;align-items:center;gap:9px;min-width:0;text-decoration:none}
.brand-lockup{display:block;width:185px;height:52px;min-height:40px;object-fit:contain;object-position:left center}
.brand{font-family:"Barlow Condensed",sans-serif;font-size:20px;font-weight:700;line-height:1;
  color:var(--brand-navy);text-transform:uppercase;letter-spacing:.02em}
.sub{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.language-toggle{display:flex;margin-left:auto;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--surface2)}
.language-toggle form{margin:0}.language-toggle button{display:block;border:0;background:transparent;color:var(--ink2);
  padding:6px 9px;font-size:12px;font-weight:650;cursor:pointer}.top .language-toggle button{color:var(--line-on-dark)}
.language-toggle button.on{background:var(--navy);color:var(--on-dark)}
.navtoggle{display:grid;place-items:center;flex:none;border:0;background:transparent;color:var(--navy);border-radius:8px;padding:7px;cursor:pointer}
.navtoggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.nav-line{transform-origin:center;transition:transform 180ms ease,opacity 120ms ease}
.navtoggle[aria-expanded=true] .line-1{transform:translateY(6px) rotate(45deg)}.navtoggle[aria-expanded=true] .line-2{opacity:0}.navtoggle[aria-expanded=true] .line-3{transform:translateY(-6px) rotate(-45deg)}
.nav-shell{border-bottom:1px solid var(--line);background:var(--surface)}.nav-scrim{display:none}.nav-panel{display:flex;flex-direction:column;padding:16px;min-height:320px}
.nav-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.nav-panel-brand{font-family:"Barlow Condensed",sans-serif;color:var(--brand-navy);font-size:20px;font-weight:700;text-transform:uppercase}
.nav-close{border:0;background:transparent;color:var(--ink);font-size:30px;line-height:1;padding:5px 9px;border-radius:8px;cursor:pointer}.nav-panel-body{padding-top:20px}
.nav-label{padding:0 12px 7px;color:var(--ink3);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.nav-row{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:9px 13px;border-radius:8px;color:var(--ink2);text-decoration:none;font-size:14px;font-weight:550}
.nav-row svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-row:hover{color:var(--navy);background:var(--data-soft)}
.nav-row.on{color:var(--on-dark);background:var(--brand-blue)}.nav-row.on::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;background:var(--on-dark);border-radius:0 3px 3px 0}
.nav-divider{height:1px;background:var(--line);margin:14px 8px}.nav-panel-foot{margin-top:auto;padding:15px 12px 0;border-top:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:12px}
.nav-panel-foot b,.nav-panel-foot span{display:block}.nav-panel-foot b{font-size:13px}.nav-panel-foot span{color:var(--ink3);font-size:11px}.nav-panel-foot a{font-size:13px;font-weight:650}
.js-nav .nav-shell{position:fixed;inset:0;z-index:50;visibility:hidden;background:transparent;border:0;transition:visibility 0s linear 220ms}.js-nav .nav-scrim{display:block;position:absolute;inset:0;border:0;background:color-mix(in srgb,var(--ink) 48%,transparent);opacity:0;cursor:pointer;transition:opacity 220ms cubic-bezier(.16,1,.3,1)}
.js-nav .nav-panel{position:absolute;inset:0 auto 0 0;width:min(300px,88vw);min-height:100%;background:var(--surface);box-shadow:8px 0 30px color-mix(in srgb,var(--ink) 20%,transparent);transform:translateX(-100%);transition:transform 220ms cubic-bezier(.16,1,.3,1)}
.js-nav .nav-shell.open{visibility:visible;transition-delay:0s}.js-nav .nav-shell.open .nav-scrim{opacity:1}.js-nav .nav-shell.open .nav-panel{transform:translateX(0)}body.nav-open{overflow:hidden}
.language-toggle button:focus-visible,.navtoggle:focus-visible,.nav-close:focus-visible,.nav-row:focus-visible,.nav-panel-foot a:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.btn{display:inline-block;padding:6px 13px;border-radius:999px;border:1px solid var(--line2);
  background:var(--surface);color:var(--ink2);text-decoration:none;cursor:pointer;font:inherit;font-size:13px}
.btn:hover{color:var(--ink);border-color:var(--navy)}
.btn.pri{background:var(--brand-blue);border-color:var(--brand-blue);color:var(--on-dark)}
@media(max-width:620px){
   .topin{gap:6px;padding-inline:6px}.brand{flex:1 1 auto;min-width:0}.brand img{height:auto;width:100%;max-height:32px;object-fit:contain;object-position:left center}
   .language-toggle button{padding-inline:5px}.navtoggle{padding-inline:3px}
  .navtoggle{padding:5px}.language-toggle button{padding:6px 8px}
}
main{padding:22px 0 60px}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);font-weight:600;
  margin:26px 0 10px;display:flex;align-items:center;gap:10px}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--line)}
.eyebrow:first-child{margin-top:0}
.tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:900px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;box-shadow:var(--shadow)}
.tile .k{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);font-weight:600}
.tile .v{font-size:26px;font-weight:600;line-height:1.15;margin-top:5px;letter-spacing:-.02em}
.tile .f{font-size:11.5px;color:var(--ink2);margin-top:5px}
.tile.hero{background:var(--navy);border-color:var(--navy)}
.tile.hero .k{color:var(--hero-label)}.tile.hero .v{color:var(--on-dark)}.tile.hero .f{color:var(--hero-copy)}
.tile.flag{background:var(--warn-bg);border-color:var(--warn)}.tile.flag .v{color:var(--warn)}
.rating-star{display:inline-block;width:.72em;height:.72em;vertical-align:.02em;fill:var(--warn);margin-left:.1em}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px 17px;box-shadow:var(--shadow)}
.tablebox{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:var(--surface2);color:var(--ink2);text-align:left;padding:9px 12px;font-size:10.5px;
  letter-spacing:.09em;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
tbody tr:last-child td{border-bottom:none}
tr.tot td{background:var(--surface2);font-weight:600}
td.r,th.r{text-align:right}
.pill{display:inline-block;padding:1.5px 8px;border-radius:999px;font-size:11px;font-weight:600}
.pill.ok{background:var(--good-bg);color:var(--good)}
.pill.wa{background:var(--warn-bg);color:var(--warn)}
.pill.cr{background:var(--crit-bg);color:var(--crit)}
.pill.bu{background:var(--data-soft);color:var(--navy);font-weight:500}
.pill.cnew{background:var(--teal);color:var(--on-dark)}
.pill.cex{background:var(--surface2);color:var(--ink3);border:1px solid var(--line)}
.zero{color:var(--warn);font-weight:600}
.av{width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--on-dark);display:grid;place-items:center;
  font-family:"Barlow Condensed",sans-serif;font-size:21px;font-weight:700;flex:none;object-fit:cover}
.thead{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.thead h2{font-size:24px;line-height:1}
.note{background:var(--surface2);border:1px solid var(--line);border-left:4px solid var(--teal);
  border-radius:0 10px 10px 0;padding:11px 15px;font-size:13px;color:var(--ink2);margin:10px 0}
.note b{color:var(--ink)}
.meeting-section{break-inside:avoid}.meeting-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.meeting-section-head .eyebrow{margin-bottom:0}.meeting-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.meeting-topic{min-height:272px;padding:18px 20px 16px;display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);break-inside:avoid}.meeting-topic:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--ink3);opacity:.35}.meeting-topic.positive:before{background:var(--good);opacity:1}.meeting-topic.improve:before{background:var(--warn);opacity:1}.meeting-topic-head{display:flex;align-items:center;gap:9px}.topic-number{width:22px;height:22px;display:grid;place-items:center;flex:none;border-radius:7px;background:var(--brand-navy);color:var(--on-dark);font-size:11.5px;font-weight:700}.meeting-topic-label,.meeting-topic-tone{color:var(--ink3);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.meeting-topic-tone{margin-left:auto;letter-spacing:.08em}.meeting-topic.positive .meeting-topic-tone{color:var(--good)}.meeting-topic.improve .meeting-topic-tone{color:var(--warn)}.meeting-topic h3{margin:12px 0 0;font:650 19px/1.22 "IBM Plex Sans",sans-serif;letter-spacing:-.017em}.ev{margin:18px 0 4px;height:34px}.evl{position:relative;height:14px;line-height:14px;font-size:10px;color:var(--ink3);font-weight:600;letter-spacing:.03em;overflow:visible}.evl span{position:absolute;top:0;white-space:nowrap}.evl .l{left:0}.evl .r{right:0}.evl .m{transform:translateX(-50%);color:var(--data)}.bar{position:relative;height:9px;margin-top:8px;border-radius:5px;background:var(--track)}.bar i{position:absolute;top:0;bottom:0;border-radius:5px;background:var(--warn);opacity:.5}.bar s{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--data);border-radius:1px}.bar b{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);border-radius:1px}.pills{display:flex;gap:4px;height:9px;margin-top:8px}.pills span{flex:1;border-radius:5px;background:var(--data)}.pills span.off{background:var(--track);box-shadow:inset 0 0 0 1.5px var(--warn)}.pills span.warn{background:var(--warn);box-shadow:none}.pills span.good{background:var(--good);box-shadow:none}.split{display:flex;gap:2px;height:9px;margin-top:8px}.split i{background:var(--data);border-radius:5px}.split u{background:var(--ink3);opacity:.28;border-radius:5px;flex:1}.meeting-topic.positive .bar i,.meeting-topic.positive .split i,.meeting-topic.positive .pills span{background:var(--good)}.meeting-topic.positive .pills span.off{background:var(--good);box-shadow:none}.topic-statement{margin:16px 0 0;color:var(--ink2);font-size:12.5px;line-height:1.5}.topic-question{margin:13px 0 0;padding-left:11px;border-left:2px solid var(--line);color:var(--ink);font-size:12.5px;font-weight:500;line-height:1.45}.topic-more{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:16px;color:var(--data);font-size:11.5px;font-weight:650;text-decoration:none}.topic-more svg{width:10px;height:10px;fill:currentColor}.topic-admin-button{font-size:11px;padding:7px 10px}.topic-admin-meta,.topic-admin-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px}.topic-admin-meta{margin-top:12px;color:var(--ink3)}.topic-admin-meta span{padding:3px 6px;border-radius:999px;background:var(--track)}.topic-admin-actions{margin-top:7px}.topic-admin-actions a,.topic-admin-actions button{border:0;padding:0;background:none;color:var(--data);font:inherit;font-weight:650;cursor:pointer;text-decoration:none}.topic-admin-actions form{margin:0}.ai-settings-form{display:grid;gap:14px}.ai-settings-form label{display:grid;gap:6px;flex:1}.code-field{font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.topic-edit-panel form{display:grid;gap:18px}.topic-edit-panel fieldset{display:grid;gap:12px;border:1px solid var(--line);border-radius:12px;padding:16px}.topic-edit-panel legend{padding:0 8px;font-weight:700}.topic-edit-panel label{display:grid;gap:6px}
.meeting-topics{grid-auto-rows:1fr}
@media(max-width:900px){.brand img{height:40px}.meeting-topics{grid-template-columns:1fr}}
.grid2{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media(max-width:900px){.grid2{grid-template-columns:1fr}}
@media(max-width:900px){.tiles{max-width:none;grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:620px){.tiles{grid-template-columns:minmax(180px,1fr)}}
@keyframes teamReveal{
  from{opacity:0;transform:translateY(14px) scale(.98)}
  to{opacity:1;transform:none}
}
@keyframes chartGrow{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
@keyframes chartDetailReveal{
  from{opacity:0}
  to{opacity:1}
}
html.team-motion .team-reveal{
  animation:teamReveal 420ms cubic-bezier(.16,1,.3,1) both;
  animation-delay:var(--reveal-delay,0ms)
}
html.team-motion .chart-bar{
  transform-box:fill-box;transform-origin:left center;
  animation:chartGrow 600ms cubic-bezier(.16,1,.3,1) both;
  animation-delay:var(--bar-delay)
}
html.team-motion .chart-detail{
  animation:chartDetailReveal 180ms ease-out both;
  animation-delay:var(--label-delay)
}
.tile .v{font-variant-numeric:tabular-nums;white-space:nowrap}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .tile{transition:transform 150ms ease-out,box-shadow 150ms ease-out}
  .tile:hover{transform:translateY(-2px);
    box-shadow:0 3px 7px color-mix(in srgb,var(--ink) 10%,transparent),0 10px 24px color-mix(in srgb,var(--ink) 11%,transparent)}
}
form.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
label{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);
  font-weight:600;margin-bottom:4px}
input,select,textarea{font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--line2);
  border-radius:8px;background:var(--surface);color:var(--ink);width:100%}
.flash{padding:10px 14px;border-radius:9px;margin:12px 0;font-size:14px}
.flash.ok{background:var(--good-bg);color:var(--good)}
.flash.error{background:var(--crit-bg);color:var(--crit)}
.muted{color:var(--ink3);font-size:12px}
.grandtotal{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--navy);color:var(--on-dark);border-radius:12px;padding:13px 18px;margin-top:12px}
.grandtotal .l{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--grandtotal-copy);font-weight:600}
.grandtotal .v{font-family:"IBM Plex Mono",monospace;font-size:16px;font-weight:600}
.linkbox{display:flex;gap:6px;align-items:center}
.linkbox input{font-size:12px;font-family:"IBM Plex Mono",monospace}
.compare-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.compare-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:16px 0}.compare-controls>div{min-width:170px;flex:1}
.resolved{padding:10px 14px;background:var(--surface2);border-radius:9px}.coverage-strip{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:10px}.coverage-strip>div{padding:10px 14px;background:var(--surface)}
.coverage-warning{margin-top:10px;padding:11px 14px;border:1px solid var(--warn);background:var(--warn-bg);color:var(--warn);border-radius:9px;font-weight:600}.compare-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.compare-flow{display:flex;align-items:baseline;gap:8px;margin:7px 0}.compare-flow strong{font-size:19px}.delta{font-weight:650}.delta.positive{color:var(--good)}.delta.warning{color:var(--warn)}.delta.neutral{color:var(--ink3)}
.presence-chip{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700}.presence-chip.new{background:var(--good-bg);color:var(--good)}.presence-chip.gone{background:var(--warn-bg);color:var(--warn)}
.period-disabled td{background:color-mix(in srgb,var(--warn-bg) 35%,var(--surface));color:var(--ink3)}.status-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800}.status-chip.active{color:var(--good);background:var(--good-bg)}.status-chip.disabled{color:var(--warn);background:var(--warn-bg)}.audit-line{display:block;margin-top:5px;color:var(--ink3)}.status-form{margin-top:8px}.period-switch{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ink2);padding:0;cursor:pointer;font:inherit;font-size:12px}.period-switch span{position:relative;width:32px;height:18px;border-radius:999px;background:var(--track)}.period-switch span:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:var(--on-dark);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 25%,transparent);transition:transform 140ms}.period-switch.on span{background:var(--good)}.period-switch.on span:after{transform:translateX(14px)}.btn.unavailable{opacity:.55;cursor:not-allowed}.btn.danger{background:var(--warn);border-color:var(--warn);color:var(--on-dark)}.confirm-card{max-width:640px;margin:48px auto}.confirm-card h2{margin-top:12px}.confirm-card hr{border:0;border-top:1px solid var(--line);margin:22px 0}.import-result{margin:14px 0}.import-result.identical{border-color:var(--good);background:var(--good-bg)}.import-result.changed{border-color:var(--warn);background:var(--warn-bg)}.import-compare tr.changed td,.import-compare tr.changed th{background:color-mix(in srgb,var(--warn-bg) 55%,var(--surface))}.import-actions{align-items:flex-end;margin-top:18px}.import-actions form:first-child{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.enable-after{display:flex;align-items:center;gap:7px;text-transform:none;letter-spacing:0;font-size:13px}
.trend-panel{overflow-x:auto}.trend-panel svg{width:100%;min-height:280px}.trend-panel label{max-width:240px}.trend-bar{fill:var(--data);opacity:.35}.trend-bar.selected{opacity:1;stroke:var(--navy);stroke-width:3}.trend-bar.selected.B{fill:var(--warn);stroke:var(--warn)}.avg-line{stroke:var(--ink3);stroke-dasharray:6 5}.empty-tick{stroke:var(--line2);stroke-width:3}.svg-tick,.svg-note,.svg-tiny,.svg-value,.svg-mark{fill:var(--ink3);font:11px "IBM Plex Sans",sans-serif;text-anchor:middle}.svg-note{text-anchor:start}.svg-tiny{font-size:9px}.svg-value,.svg-mark{fill:var(--ink);font-weight:700}
/* Company console: trends take priority; the period's instruments follow. */
.company-head{align-items:flex-end;margin-bottom:16px}.company-head h2{font-size:34px}.company-head .eyebrow{margin:0 0 7px}.period-control{margin:0 0 25px;padding:12px 15px;box-shadow:none}.company-block{margin:34px 0 42px}.company-block>.eyebrow{margin-bottom:13px;color:var(--brand-blue)}.company-trend{min-height:215px;margin-bottom:14px;padding:16px 18px 13px;box-shadow:none}.trend-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.trend-head h3,.waterfall h3{font-size:20px}.trend-head span,.trend-average{color:var(--ink3);font:11px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.history-bars{display:flex;height:145px;align-items:end;gap:7px;margin-top:12px;padding:0 2px;border-bottom:1px solid var(--line)}.history-bar{height:100%;flex:1;min-width:36px;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:4px;position:relative}.history-bar i{width:100%;max-width:42px;display:block;background:linear-gradient(180deg,var(--data),var(--navy));border-radius:3px 3px 0 0;opacity:.85;transform-origin:bottom;animation:chartGrow .5s cubic-bezier(.16,1,.3,1) both}.history-bar b{font:10px "IBM Plex Mono",monospace;color:var(--ink2);white-space:nowrap}.history-bar small{color:var(--ink3);font-size:9px}.trend-average{margin-top:12px}.productivity-trends{display:grid;grid-template-columns:1fr 1fr;gap:14px}.company-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.company-tile{grid-column:span 1!important;min-height:128px;padding:14px 15px;border-radius:10px;text-decoration:none;box-shadow:none}.company-tile .v{font-size:25px;margin-top:9px}.company-tile:hover{border-color:var(--data)}.waterfall{padding:16px 18px 18px;margin-bottom:14px;box-shadow:none;overflow-x:auto}.waterfall-steps{min-width:850px;height:255px;display:flex;align-items:stretch;gap:0;padding-top:16px}.water-step{width:100px;height:100%;display:grid;grid-template-rows:185px auto auto;justify-items:center;position:relative}.water-plot{height:185px;width:100%;position:relative;border-bottom:1px solid var(--line2)}.water-column{position:absolute;left:50%;bottom:var(--bottom);transform:translateX(-50%);width:45px;height:max(2px,var(--size));background:var(--data);border-radius:3px}.water-step.cost .water-column{background:var(--warn);opacity:.78}.water-step.total .water-column{background:var(--good)}.water-step strong{font:11px "IBM Plex Mono",monospace;margin-top:6px;white-space:nowrap}.water-step span{font-size:10px;line-height:1.2;text-align:center;color:var(--ink2);margin-top:4px;min-height:25px}.water-connector{height:185px;flex:1;min-width:12px;position:relative}.water-connector:after{content:"";position:absolute;left:0;right:0;bottom:var(--level);height:1px;background:var(--line2)}.meeting-summary{margin:4px 0 6px;color:var(--ink2);font-size:14px}.meeting-head-actions{display:flex;gap:8px;align-items:center}.meeting-layout{display:flex;flex-direction:column}.meeting-topics-block{order:1}.meeting-table-block{order:2;margin-top:26px}.meeting-charts-block{order:3;margin-top:26px}
@media(max-width:900px){.company-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.productivity-trends{grid-template-columns:1fr}}@media(max-width:620px){.company-tiles{grid-template-columns:1fr}.company-head{align-items:start}.history-bars{gap:4px}.history-bar{min-width:20px}.history-bar b{font-size:8px}.history-bar small{font-size:8px}}
.tech-period{display:flex;align-items:center;gap:10px;margin:16px 0 6px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.tech-period form{width:140px}.period-arrow{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line2);border-radius:50%;font-size:26px;line-height:1;text-decoration:none}.period-arrow.disabled{opacity:.35;cursor:not-allowed}.period-name{flex:1;text-align:center;font-size:18px}.period-coverage{text-align:center;color:var(--ink3);font-size:12px;margin-bottom:12px}.tech-empty{text-align:center;padding:45px 20px;margin-top:20px}
.tech-compare-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:16px}.tech-compare-controls>div{min-width:165px;flex:1}.job-groups{display:grid;gap:10px}.job-group{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.job-group summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;cursor:pointer}.job-group summary small{display:block;color:var(--ink3);font-weight:400}.job-group .tablebox{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
@media(max-width:800px){.compare-tiles{grid-template-columns:1fr 1fr}.coverage-strip{grid-template-columns:1fr}.compare-table{min-width:900px}}
@media(max-width:620px){.tech-period{flex-wrap:wrap}.tech-period form{width:100%}.period-name{order:2}.tech-period .btn.pri{order:3;width:100%;text-align:center}.compare-tiles{grid-template-columns:1fr}}
.stars{color:var(--warn);letter-spacing:1px;white-space:nowrap}
.quote{white-space:normal;min-width:240px;font-style:italic;color:var(--ink2)}
.foot{margin-top:34px;padding-top:14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink3);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media print{
 .brand img.beat,.login-logo img.beat{animation:none}
  body{background:var(--surface)}
  .top,nav,.noprint,.btn{display:none!important}
  .tile,.panel,.tablebox{break-inside:avoid;box-shadow:none}
  .compare-table tr{break-inside:avoid;break-after:auto}
  tr,.job-group{break-inside:avoid}.job-group>summary{display:none}.job-group:not([open])>*:not(summary){display:block}
  .trend-panel svg{min-width:100%!important}
   .company-trend,.waterfall{box-shadow:none;break-inside:avoid}.company-block{margin:18px 0}.waterfall-steps{min-width:0;transform:scale(.82);transform-origin:left bottom;width:122%}
  .team-reveal,.chart-bar,.chart-detail{animation:none!important;opacity:1!important;transform:none!important}
  .print-reconciliation{margin:18px 0;padding:16px 20px;display:flex;align-items:center;gap:26px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);break-inside:avoid}.print-reconciliation:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--data)}.print-reconciliation-lead{padding-left:6px;flex:0 1 34ch}.print-reconciliation h3{font:650 13px/1.2 "IBM Plex Sans",sans-serif;letter-spacing:-.01em;margin:0 0 3px}.print-reconciliation p{margin:0;color:var(--ink2);font-size:12px;line-height:1.45}.print-reconciliation-table{display:grid;grid-template-columns:auto auto auto;gap:3px 22px;align-items:baseline;flex:0 0 auto;font-size:12.5px}.print-rec-head{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-weight:700}.print-rec-number{text-align:right;color:var(--ink2);font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}.print-rec-key{color:var(--ink2)}.print-rec-total{padding-top:6px;margin-top:2px;border-top:1px solid var(--line);font-weight:650;color:var(--ink)}.print-reconciliation-caveat{flex:1;min-width:190px;color:var(--ink3)!important;font-size:11px!important}
  .wrap{max-width:100%;padding:0}
  .print-brand{display:flex;align-items:center;gap:18px;margin-bottom:18px}
  .print-brand img{height:150px;width:auto;max-width:100%;object-fit:contain;object-position:left center}
  .print-brand b,.print-brand span{display:block}.print-brand b{font-size:22px;color:var(--navy)}
  .print-footer{display:block;position:fixed;left:.5in;right:.5in;bottom:.15in;color:var(--ink2);
    font-size:9px;border-top:1px solid var(--line);padding-top:4px}
  .page-number::after{content:counter(page)}
  @page{size:Letter;margin:.5in}
}
@media(prefers-reduced-motion:reduce){
 .brand img.beat,.login-logo img.beat{animation:none}
  .team-reveal,.chart-bar,.chart-detail{animation:none!important;opacity:1!important;transform:none!important}
  .tile{transition:none!important}.tile:hover{transform:none!important;box-shadow:var(--shadow)!important}
  .nav-shell,.nav-scrim,.nav-panel,.nav-line{transition:none!important}
}

.print-brand,.print-footer{display:none}

/* Light-only application contract. The dashboard uses the reference palette
   irrespective of OS preference or any stale persisted theme attribute. */

/* Login: intentionally isolated from the application theme. */
body:has(.side){margin:0;background:var(--surface);color:var(--ink);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;display:grid;grid-template-columns:46% 54%;align-items:stretch;min-height:100vh}
body:has(.side) main.wrap{display:contents}
body:has(.side) .brand{position:relative;overflow:hidden;color:var(--on-dark);padding:56px 60px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(120% 90% at 12% 6%,color-mix(in srgb,var(--auth-primary) 55%,transparent),transparent 58%),radial-gradient(90% 70% at 92% 96%,color-mix(in srgb,var(--data) 42%,transparent),transparent 62%),linear-gradient(155deg,var(--brand-deep),var(--navy) 62%,var(--brand-ink))}
body:has(.side) .grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(color-mix(in srgb,var(--on-dark) 4.5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--on-dark) 4.5%,transparent) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(80% 70% at 30% 30%,var(--ink) 30%,transparent 78%)}
body:has(.side) .ekg{position:absolute;left:0;right:0;bottom:9%;height:150px;width:100%;opacity:.6;z-index:1}
body:has(.side) .ekg path{fill:none;stroke:var(--data2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--data2) 75%,transparent))}
body:has(.side) .ekg .glow{stroke:color-mix(in srgb,var(--data2) 22%,transparent);stroke-width:8;filter:blur(5px)}
body:has(.side) .ekg .beat{stroke-dasharray:1400;stroke-dashoffset:1400;animation:trace 3.6s cubic-bezier(.5,0,.5,1) infinite}
@keyframes trace{0%{stroke-dashoffset:1400}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-1400}}
body:has(.side) .inner{position:relative;z-index:2;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transform:translateY(-24px)}
body:has(.side) .blogo{width:100%;max-width:390px;height:auto;max-height:none;display:block;filter:drop-shadow(0 14px 34px color-mix(in srgb,var(--ink) 50%,transparent))}
body:has(.side) .side{display:flex;align-items:center;justify-content:center;padding:56px 40px;background:var(--surface);min-height:100vh}
body:has(.side) .form{width:100%;max-width:388px;min-width:0}
body:has(.side) h1{margin:0;font-size:27px;font-weight:680;line-height:1.15;letter-spacing:-.028em}body:has(.side) .hi{margin:9px 0 28px;font-size:13.5px;color:var(--ink3);line-height:1.5}
body:has(.side) .lab{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);display:block;margin-bottom:7px}body:has(.side) .f{margin-bottom:17px}
body:has(.side) .f input{width:100%;border:1px solid var(--line);background:var(--surface2);border-radius:12px;padding:13px 15px;font:inherit;font-size:14px;color:var(--ink);transition:.15s}body:has(.side) .f input::placeholder{color:var(--ink3)}
body:has(.side) .f input:focus{outline:none;border-color:var(--auth-primary);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--auth-primary) 13%,transparent)}
body:has(.side) .row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:-4px 0 20px}body:has(.side) .rem{display:inline-flex;align-items:center;gap:8px;min-width:0;margin:0;font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--ink2);font-weight:400;cursor:pointer}
body:has(.side) .rem input{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;white-space:nowrap}body:has(.side) .rem i{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line);background:var(--surface2);display:block}body:has(.side) .rem input:focus-visible + i{outline:2px solid var(--auth-primary);outline-offset:2px}body:has(.side) .rem input:checked + i{background:var(--auth-primary);border-color:var(--auth-primary)}
body:has(.side) .fp{min-width:0;font-size:12.5px;font-weight:600;color:var(--auth-primary);text-align:right;text-decoration:none}body:has(.side) .btn{width:100%;border:0;border-radius:12px;padding:14px 16px;background:var(--auth-primary);color:var(--on-dark);font:inherit;font-size:14.5px;font-weight:650;cursor:pointer;box-shadow:0 8px 20px -10px color-mix(in srgb,var(--auth-primary) 85%,transparent);display:flex;align-items:center;justify-content:center;gap:9px}body:has(.side) .btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}body:has(.side) .btn:hover{background:var(--auth-primary-hover)}
body:has(.side) .lng{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:26px;font-size:12px;font-weight:650}body:has(.side) .lng form{margin:0}body:has(.side) .lng button{border:0;color:var(--ink3);background:transparent;padding:4px 10px;border-radius:8px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}body:has(.side) .lng button.on{color:var(--auth-primary);background:color-mix(in srgb,var(--auth-primary) 8%,transparent)}body:has(.side) .lng i{width:3px;height:3px;border-radius:50%;background:var(--ink3);opacity:.45;display:block}
body:has(.side) .foot{margin-top:16px;padding:0;border:0;text-align:center;font-size:11px;color:var(--ink3);display:block}
body:has(.side) .auth-message{margin:0 0 18px;padding:10px 12px;border-radius:9px;background:var(--data-tint);color:color-mix(in srgb,var(--data) 72%,var(--ink));font-size:12.5px;line-height:1.45}
body:has(.side) .auth-message.error{background:var(--crit-bg);color:var(--crit)}body:has(.side) .auth-message.ok{background:var(--good-tint);color:var(--good)}
body:has(.side) .auth-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:22px;color:var(--ink3);font-size:12.5px;font-weight:600;text-decoration:none}body:has(.side) .auth-back:hover{color:var(--auth-primary)}
body:has(.side) .auth-back svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body:has(.side) .f .otp-input{text-align:center;font:700 29px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.34em;padding-left:calc(15px + .34em);font-variant-numeric:tabular-nums}
body:has(.side) .recovery-timer{text-align:center;color:var(--ink2);margin:16px 0 10px;font-size:12px}body:has(.side) .recovery-timer strong{font-variant-numeric:tabular-nums}
body:has(.side) .resend-form{display:grid;justify-items:center;gap:7px}body:has(.side) .btn.auth-secondary{background:var(--surface2);color:var(--auth-primary);border:1px solid var(--line);box-shadow:none}body:has(.side) .btn.auth-secondary:hover{background:var(--data-tint)}body:has(.side) .btn.auth-secondary:disabled{opacity:.55;cursor:not-allowed}
body:has(.side) .resend-countdown{min-height:16px;color:var(--ink3);font-size:11.5px}
body:has(.side) .password-strength{min-height:16px;margin-top:5px;font-size:12px;font-weight:700;color:var(--ink3)}body:has(.side) .password-strength[data-score="1"]{color:var(--crit)}body:has(.side) .password-strength[data-score="2"]{color:var(--warn)}body:has(.side) .password-strength[data-score="3"],body:has(.side) .password-strength[data-score="4"]{color:var(--good)}
body:has(.side) .auth-state-icon{width:42px;height:42px;margin-bottom:18px;display:grid;place-items:center;border-radius:50%;font-size:21px;font-weight:800}body:has(.side) .auth-state-icon.success{background:var(--good-tint);color:var(--good)}body:has(.side) .auth-state-icon.invalid{background:var(--crit-bg);color:var(--crit)}
body:has(.side) .auth-state-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
body:has(.side) .auth-button-link{text-decoration:none}
body:has(.side) .auth-reference-label{margin:0 0 6px;color:var(--ink3);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}body:has(.side) .auth-reference{display:block;margin-bottom:20px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--ink2);font-weight:700;letter-spacing:.08em}
@media (prefers-reduced-motion:reduce){body:has(.side) .ekg .beat{animation:none;stroke-dashoffset:0}}
@media (max-width:900px){body:has(.side){display:block;min-height:0}body:has(.side) .brand{padding:34px 26px;min-height:0;height:auto;justify-content:flex-start;display:block}body:has(.side) .inner{max-width:none;transform:translateY(-12px)}body:has(.side) .blogo{max-width:240px}body:has(.side) .ekg{bottom:-18px;height:110px;opacity:.45}body:has(.side) .side{min-height:0;padding:34px 24px 44px}}
.idle-threshold-track{position:relative;grid-column:2;min-width:0;height:0;z-index:3;pointer-events:none}.idle-threshold{left:var(--threshold,0%)!important}
.kpi-drawer.modal-reviews,.kpi-drawer.modal-recalls{width:min(560px,calc(100vw - 40px))}
.kpi-drawer.modal-billable_hours,.kpi-drawer.modal-overtime,.kpi-drawer.modal-idle,.kpi-drawer.modal-target_pct,.kpi-drawer.modal-estimates,.kpi-drawer.modal-customers,.kpi-drawer.modal-oncall{width:min(860px,calc(100vw - 40px))}

/* Canonical Home v4 values.  Kept scoped so the application shell remains intact. */
.home{
  --r:16px;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased
}
.home *{box-sizing:border-box}.home .band{padding:22px 0 0;grid-template-columns:396px 1fr;border-radius:20px}
.home .mk{width:38px;height:38px;border-radius:11px}.home h1{font-size:23px;font-weight:680;letter-spacing:-.024em}
.home .hero{font-size:56px;font-weight:660;letter-spacing:-.035em}.home .card{border-radius:var(--r);padding:15px 17px 14px;min-height:132px}
.home .val{font-size:31px;font-weight:650;line-height:1;letter-spacing:-.026em;font-variant-numeric:proportional-nums}
.home .bstat .v{font-size:23px;font-weight:650;letter-spacing:-.02em}.home .grid{grid-template-columns:repeat(12,1fr);gap:13px}
.home .c3{grid-column:span 3}.home .c4{grid-column:span 4}.home .c6{grid-column:span 6}.home .c8{grid-column:span 8}
.home .rank{grid-template-columns:118px 1fr 76px 62px;gap:0 12px;padding:6px 0}.home .vb{position:relative;display:flex;align-items:flex-end;gap:7px;height:214px;margin-top:auto;padding-bottom:0}.home .vbcol{position:static;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.home .vbamt{font-size:9.5px;font-weight:650;color:var(--ink2);font-variant-numeric:tabular-nums;margin-bottom:4px;white-space:nowrap}.home .vbbar{width:100%;border-radius:4px 4px 0 0;background:var(--data);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.home .vbbar.dim{background:var(--data2)}.home .vbnm{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:650;letter-spacing:.01em;color:var(--on-dark);margin-bottom:8px;white-space:nowrap}.home .vbbar.dim .vbnm{color:var(--navy)}.home .vbnm.out{color:var(--ink3);margin:0 0 5px}.home .vbmed{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed var(--warn);z-index:2}.home .vbmed span{position:absolute;left:0;right:auto;top:-8px;font-size:9px;font-weight:700;color:var(--warn);background:var(--surface);padding:1px 5px;border-radius:4px;line-height:1.3;white-space:nowrap}
.home .bars{height:34px;gap:3px}.home .spark{display:block;width:calc(100% + 34px);margin:auto -17px -14px;height:48px}
.home .wf{height:250px}.home .oncall{border-radius:20px;padding:15px 16px 16px}
@keyframes home-rise{to{opacity:1;transform:none}}@keyframes home-grow{from{width:0}}@keyframes home-growh{from{height:0}}@keyframes home-draw{from{stroke-dashoffset:var(--len)}}@keyframes home-fadein{to{opacity:1}}
.home .rv{opacity:0;transform:translateY(16px);animation:home-rise .62s cubic-bezier(.22,.72,.3,1) forwards;animation-delay:var(--d,0s)}
.home .gw{animation:home-grow .95s cubic-bezier(.3,.8,.35,1) both;animation-delay:var(--d,.15s)}
.home .gh{animation:home-growh .8s cubic-bezier(.3,.8,.35,1) both;animation-delay:var(--d,.2s)}
.home .dr{stroke-dasharray:var(--len);animation:home-draw 1.5s cubic-bezier(.35,.8,.4,1) both;animation-delay:.25s}
.home .fi{opacity:0;animation:home-fadein .7s ease forwards;animation-delay:var(--d,.9s)}
@media(max-width:900px){.home .band{grid-template-columns:1fr}.home .c3,.home .c4{grid-column:span 6}.home .c6,.home .c8{grid-column:span 12}}
@media(max-width:620px){.home{padding:0}.home .band{border-radius:16px}.home .bandL{padding:0 20px 24px}.home .hero{font-size:43px}.home .bstats{position:static;padding:0 20px;gap:15px;flex-wrap:wrap}.home .bchart{height:100px}.home .c3,.home .c4,.home .c6,.home .c8{grid-column:span 12}.home .rank{grid-template-columns:92px 1fr 55px 48px;gap:0 7px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.home .rv,.home .gw,.home .gh,.home .dr,.home .fi{animation:none!important;opacity:1!important;transform:none!important}}

/* Final cascade lock: canonical reference values must win over legacy Home rules above. */
.home{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.home .band{grid-template-columns:396px 1fr;border-radius:20px}
.home .hero{font-size:56px;font-weight:660;letter-spacing:-.035em}
.home .card{border-radius:16px;padding:15px 17px 14px;min-height:132px}
.home .val{font-size:31px;font-weight:650;letter-spacing:-.026em;font-variant-numeric:proportional-nums}
.home .grid{grid-template-columns:repeat(12,1fr);gap:13px}
.home .rank{grid-template-columns:118px 1fr 76px 62px;gap:0 12px}
@media(max-width:900px){.home .band{grid-template-columns:1fr}.home .c3,.home .c4{grid-column:span 6}.home .c6,.home .c8{grid-column:span 12}}
@media(max-width:620px){.home .hero{font-size:43px}.home .c3,.home .c4,.home .c6,.home .c8{grid-column:span 12}.home .rank{grid-template-columns:92px 1fr 55px 48px;gap:0 7px;font-size:10px}}

/* SVG fallback sizing — explicit presentation attributes remain on macro output. */
.home .mk svg{width:21px;height:21px;stroke:var(--on-dark);fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.home .nav i svg{width:9px;height:9px;fill:var(--ink3)}
.home .chip svg{width:9px;height:9px;fill:currentColor}
.home .d svg{width:8px;height:8px;fill:currentColor}
.home .si svg{width:15px;height:15px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home .lab svg{width:12px;height:12px;fill:none;stroke:var(--ink3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home .onote svg,.home .foot svg{width:13px;height:13px;flex:0 0 auto;margin-top:1px;fill:none;stroke:var(--warn);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home .foot svg{stroke:var(--ink3)}
.home .bchart{width:100%;height:172px;fill:none}.home .spark{fill:none}.home .wf{fill:none}

/* Home v4 — reference console port */
.home{--r:16px;color:var(--ink);font-family:"IBM Plex Sans",system-ui,sans-serif}.home-v4{max-width:none}.home h1,.home h2{font-family:"IBM Plex Sans",system-ui,sans-serif;text-transform:none}.home .head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}.home .brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-family:inherit;text-decoration:none}.home .mk{width:38px;height:38px;border-radius:11px;background:linear-gradient(150deg,var(--data2),var(--data));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px -6px var(--data)}.home .mk svg{width:21px;height:21px;stroke:var(--on-dark);fill:none;stroke-width:2.1}.home h1{font-size:23px;font-weight:680;letter-spacing:-.024em;line-height:1.1}.home .sub1{font-size:12.5px;color:var(--ink3);margin-top:3px;text-transform:none;letter-spacing:0}.home .sub1 b{color:var(--ink2)}.home .ctl{margin-left:auto;display:flex;align-items:center;gap:10px}.home .seg,.home .nav{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:3px;box-shadow:var(--shadow)}.home .seg button{border:0;background:none;font:600 12px inherit;color:var(--ink3);padding:6px 13px;border-radius:8px;cursor:pointer}.home .seg button.on{background:var(--navy);color:var(--on-dark)}.home .nav{gap:2px;padding:3px 4px}.home .nav a,.home .nav i{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;text-decoration:none;color:var(--ink3);font-style:normal;font-size:18px}.home .nav select{border:0;padding:0 6px;background:transparent;font-size:12px;font-weight:650;width:auto;color:var(--ink)}.home .band{background:radial-gradient(115% 190% at 88% -30%,color-mix(in srgb,var(--data) 42%,transparent),transparent 60%),linear-gradient(150deg,var(--brand-deep),var(--navy));border-radius:20px;color:var(--on-dark);padding:22px 0 0;display:grid;grid-template-columns:396px 1fr;overflow:hidden;box-shadow:0 18px 40px -26px color-mix(in srgb,var(--brand-deep) 90%,transparent)}.home .bandL{padding:0 26px 24px;color:var(--on-dark);text-decoration:none}.home .eyeb{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--on-dark-subtle)}.home .hero{font-size:56px;font-weight:650;letter-spacing:-.035em;line-height:1;margin-top:12px;font-variant-numeric:proportional-nums}.home .heroSub{font-size:13px;color:var(--on-dark-muted);margin-top:10px}.home .heroSub b{color:var(--on-dark)}.home .chip,.home .d{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:650;padding:4px 9px;border-radius:999px;margin-top:12px}.home .chip.up{color:var(--positive-on-dark);background:color-mix(in srgb,var(--positive-on-dark) 14%,transparent)}.home .chip.dn{color:var(--warning-on-dark);background:color-mix(in srgb,var(--warning-on-dark) 15%,transparent)}.home .bandR{position:relative;padding-top:6px}.home .bstats{position:absolute;top:0;right:26px;display:flex;gap:30px;z-index:2}.home .bstat .k,.home .lab{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}.home .bstat .k{color:var(--data-on-dark)}.home .bstat .v{font-size:23px;font-weight:650;letter-spacing:-.02em;margin-top:6px}.home .bstat .n{font-size:11.5px;color:var(--on-dark-soft);margin-top:3px}.home .bchart{display:block;width:100%;height:172px}.home .sec{margin-top:30px}.home .sech{display:flex;align-items:center;gap:11px;margin-bottom:13px}.home .si{width:27px;height:27px;border-radius:9px;display:grid;place-items:center}.home .si svg{width:15px;height:15px;fill:none;stroke-width:2}.home .si.p{background:var(--data-tint);color:var(--data)}.home .si.v{background:var(--good-tint);color:var(--good)}.home .si.o{background:var(--warn-tint);color:var(--warn)}.home .si.g{background:var(--track);color:var(--ink2)}.home .sech h2{font-size:15px;font-weight:680;letter-spacing:-.015em}.home .sechs{font-size:12.5px;color:var(--ink3)}.home .sechs b{color:var(--ink2)}.home .rule{flex:1;height:1px;background:var(--line);margin-left:6px}.home .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:13px}.home .c3{grid-column:span 3}.home .c4{grid-column:span 4}.home .c6{grid-column:span 6}.home .c8{grid-column:span 8}.home .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px 14px;display:flex;flex-direction:column;min-height:132px;position:relative;overflow:hidden;box-shadow:var(--shadow);color:var(--ink);text-decoration:none}.home .lab{display:flex;align-items:center;gap:6px}.home .lab svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}.home .val{font-size:31px;font-weight:650;line-height:1;letter-spacing:-.026em;margin-top:11px;font-variant-numeric:proportional-nums}.home .val small{font-size:15px;font-weight:600;color:var(--ink3);letter-spacing:0;margin-left:3px}.home .sub{font-size:11.5px;color:var(--ink2);margin-top:9px;line-height:1.4;text-transform:none;letter-spacing:0}.home .sub b,.home .lg b{color:var(--ink);font-weight:600}.home .push{margin-top:auto}.home .d{font-size:10.5px;padding:3px 7px;align-self:flex-start;margin-top:9px}.home .d.up{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.home .d.dn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.home .meter{height:6px;border-radius:4px;background:var(--track);margin-top:10px;overflow:hidden}.home .meter i{display:block;height:100%;border-radius:4px;background:var(--data)}.home .meter i.good{background:var(--good2)}.home .meter i.warn{background:var(--warn)}.home .stack{display:flex;height:9px;border-radius:5px;overflow:hidden;margin-top:11px;background:var(--track);gap:2px}.home .stack i{height:100%;border-radius:5px}.home .lg{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:10px;font-size:11px;color:var(--ink2)}.home .lg span{display:inline-flex;align-items:center;gap:5px}.home .lg u{width:8px;height:8px;border-radius:3px;display:block}.home .bars{display:flex;align-items:flex-end;gap:3px;height:34px;margin-top:auto}.home .bars span{flex:1;background:color-mix(in srgb,var(--ink3) 24%,transparent);border-radius:2px 2px 0 0}.home .bars span.now{background:var(--data)}.home .bars span.nowW{background:var(--warn)}.home .rank{display:grid;grid-template-columns:118px 1fr 76px 62px;align-items:center;gap:0 12px;font-size:12px;padding:6px 0;color:var(--ink);text-decoration:none}.home .rank+.rank{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.home .rnm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home .rbarw{position:relative;height:16px}.home .rbarw i{position:absolute;inset:0 auto 0 0;border-radius:0 4px 4px 0;background:var(--good2)}.home .rbarw i.w{background:var(--warn)}.home .rv2,.home .rm{font-variant-numeric:tabular-nums;text-align:right}.home .rv2{font-weight:650}.home .rm{color:var(--ink3);font-size:11.5px}.home .rm.bad{color:var(--warn);font-weight:650}.home .tgt{position:absolute;top:-16px;bottom:-14px;width:2px;background:var(--ink);opacity:.75;z-index:3}.home .tgtl{position:absolute;top:-14px;font-size:10px;font-weight:700;color:var(--ink);white-space:nowrap;transform:translateX(-50%)}.home .chwrap{position:relative;margin-top:26px}.home .vb{position:relative;display:flex;align-items:flex-end;gap:8px;height:176px;margin-top:auto;padding-bottom:30px;border-bottom:1px solid var(--line)}.home .vbcol{flex:1;position:relative;height:100%;display:flex;align-items:flex-end}.home .vbcol i{display:block;width:100%;border-radius:4px 4px 0 0;background:var(--data)}.home .vbcol i.dim{background:color-mix(in srgb,var(--data) 42%,transparent)}.home .vbcol em,.home .vbcol u{position:absolute;left:0;right:0;text-align:center;font-style:normal;text-decoration:none}.home .vbcol em{bottom:-16px;font-size:10px;font-weight:700;color:var(--ink2)}.home .vbcol u{bottom:-29px;font-size:9.5px;color:var(--ink3);font-variant-numeric:tabular-nums}.home .vbmed{position:absolute;left:0;right:0;bottom:88.8px;border-top:1.5px dashed var(--warn);z-index:2}.home .vbmed span{position:absolute;right:0;top:-14px;font-size:9.5px;font-weight:700;color:var(--warn)}.home .oncall{background:var(--warn-tint);border:1px solid color-mix(in srgb,var(--warn) 24%,transparent);border-radius:20px;padding:15px 16px 16px}.home .onote{font-size:11.5px;color:var(--ink2);margin-top:11px}.home .fun{display:flex;flex-direction:column;gap:7px;margin-top:12px}.home .frow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;font-size:11.5px}.home .fbar{height:24px;border-radius:6px;background:var(--data);display:flex;align-items:center;padding:0 9px;color:var(--on-dark);font-weight:600;font-size:11px;white-space:nowrap;overflow:hidden}.home .fbar.l2{background:var(--data2)}.home .fbar.l3{background:var(--good2)}.home .fpc{font-variant-numeric:tabular-nums;color:var(--ink3);font-weight:650}.home .wf{display:block;width:100%;height:250px}.home .wfl{font-size:10.5px;fill:var(--ink3);font-weight:600}.home .wfv{font-size:11.5px;font-weight:650}.home .be-label{position:relative;height:16px;font-size:10px;font-weight:700;color:var(--ink3)}.home .be-label span{position:absolute;transform:translateX(-50%);color:var(--ink)}.home .be-label b{float:right;color:var(--good)}.home .be{position:relative;height:12px;border-radius:6px;background:var(--track);margin-top:4px}.home .be i{position:absolute;inset:0 auto 0 0;background:var(--good2);border-radius:6px}.home .be s{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}.home .foot{margin-top:22px;font-size:11px;color:var(--ink3);line-height:1.5;padding:0;border:0;display:block}.home .rv{opacity:0;transform:translateY(16px);animation:rise .62s cubic-bezier(.22,.72,.3,1) forwards;animation-delay:var(--d,0s)}.home .gw{animation:grow .95s cubic-bezier(.3,.8,.35,1) both;animation-delay:var(--d,.15s)}.home .gh{animation:growh .8s cubic-bezier(.3,.8,.35,1) both;animation-delay:var(--d,.2s);transform-origin:bottom}.home .dr{stroke-dasharray:var(--len);animation:draw 1.5s cubic-bezier(.35,.8,.4,1) both;animation-delay:.25s}.home .fi{opacity:0;animation:fadein .7s ease forwards;animation-delay:var(--d,.9s)}@keyframes rise{to{opacity:1;transform:none}}@keyframes grow{from{width:0}}@keyframes growh{from{height:0}}@keyframes draw{from{stroke-dashoffset:var(--len)}}@keyframes fadein{to{opacity:1}}.home .home-v4{background:var(--bg)}@media(max-width:900px){.home .c3{grid-column:span 6}.home .c4{grid-column:span 6}.home .c6,.home .c8{grid-column:span 12}.home .band{grid-template-columns:1fr}.home .bandR{min-height:172px}}@media(max-width:620px){.home .head{align-items:flex-start}.home .ctl{margin-left:0;width:100%;overflow:auto}.home .seg{flex:none}.home .band{border-radius:16px}.home .bandL{padding:20px}.home .hero{font-size:43px}.home .bstats{position:static;padding:0 20px;gap:15px;flex-wrap:wrap}.home .bchart{height:100px}.home .c3,.home .c4,.home .c6,.home .c8{grid-column:span 12}.home .sechs{display:none}.home .rank{grid-template-columns:92px 1fr 55px 48px;gap:0 7px;font-size:10px}.home .tgt,.home .tgtl{display:none}.home .vf{overflow:auto}}@media(prefers-reduced-motion:reduce){.home .rv,.home .gw,.home .gh,.home .dr,.home .fi{animation:none!important;opacity:1!important;transform:none!important}}

.home .rv{animation-duration:.45s}
.home .gw{animation-duration:.65s}
.home .gh{animation-duration:.5s}
.home .card .vb{position:relative;display:flex;align-items:flex-end;gap:7px;height:214px;margin-top:auto;padding-bottom:0;border-bottom:0}
.home .card .vbcol{position:static;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.home .card .vbamt{position:static;font-size:9.5px;font-weight:650;color:var(--ink2);font-variant-numeric:tabular-nums;margin-bottom:4px;white-space:nowrap;text-decoration:none}
.home .card .vbbar{position:static;width:100%;border-radius:4px 4px 0 0;background:var(--data);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.home .card .vbbar.dim{background:var(--data2)}
.home .card .vbnm{position:static;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:650;letter-spacing:.01em;color:var(--on-dark);margin-bottom:8px;white-space:nowrap;font-style:normal;text-decoration:none}
.home .card .vbbar.dim .vbnm{color:var(--navy)}
.home .card .vbnm.out{color:var(--ink3);margin:0 0 5px}
.home .card .vbmed{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed var(--warn);z-index:2}
.home .card .vbmed span{position:absolute;left:0;right:auto;top:-8px;font-size:9px;font-weight:700;color:var(--warn);background:var(--surface);padding:1px 5px;border-radius:4px;line-height:1.3;white-space:nowrap}
.home .dr{animation-duration:1.25s}
.home .fi{animation-duration:.5s;animation-delay:min(var(--d,.9s),1s)}

/* Operational KPI instrument: shared team, technician, and deck tile language. */
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;max-width:none}
.tile{position:relative;display:flex;flex-direction:column;min-width:0;min-height:158px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:17px 18px 15px;box-shadow:none}
.tile .k{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3)}
.tile .v{font-family:"IBM Plex Sans",-apple-system,sans-serif;font-variant-numeric:normal;white-space:nowrap;font-size:33px;font-weight:650;line-height:1;letter-spacing:-.022em;margin-top:11px}
.tile .f{font-size:12px;line-height:1.35;color:var(--ink2);margin-top:11px}.tile .f b{font-weight:600;color:var(--ink)}
.tile.hero{grid-column:span 2;background:radial-gradient(120% 150% at 90% -10%,color-mix(in srgb,var(--data) 32%,transparent),transparent 60%),linear-gradient(160deg,var(--brand-deep),var(--navy));border-color:transparent;padding:20px 24px 0}
.tile.hero .k{color:var(--on-dark-subtle)}.tile.hero .v{font-size:45px;letter-spacing:-.03em;margin-top:12px;color:var(--on-dark)}.tile.hero .f{color:var(--on-dark-muted);margin-top:10px}.tile.hero.nospark{padding-bottom:18px;min-height:0;align-self:start}
.tile-delta{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:10px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:650;line-height:1.25}
.tile-delta.good{color:var(--good);background:color-mix(in srgb,var(--good) 13%,transparent)}
.tile-delta.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}
.tile-delta.neutral{color:var(--ink2);background:var(--track)}
.tile.hero .tile-delta{color:var(--positive-on-dark);background:color-mix(in srgb,var(--positive-on-dark) 15%,transparent)}
.tile:not(.hero):not(.tile-small){grid-column:span 2}.tile-small{grid-column:span 1}
.team-reviews{grid-column:span 1!important}
.tile.flag{background:var(--warn-tint);border-color:var(--warn-line)}.tile.flag:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--warn)}.tile.flag .v{color:var(--warn)}
.tile-meter{height:5px;margin-top:auto;overflow:hidden;border-radius:3px;background:var(--track)}.tile-meter i{display:block;width:var(--meter);height:100%;border-radius:inherit;background:var(--data);transform-origin:left;animation:tileMeter .5s .42s cubic-bezier(.16,1,.3,1) both}
.tile-bars{display:flex;align-items:flex-end;gap:3px;height:30px;margin-top:auto}.tile-bars i{flex:1;height:var(--bar);border-radius:2px 2px 0 0;background:color-mix(in srgb,var(--ink3) 26%,transparent);transform-origin:bottom;animation:tileBar .5s .42s cubic-bezier(.16,1,.3,1) both}.tile-bars i.now{background:var(--data)}.tile.flag .tile-bars i.now{background:var(--warn)}.tile-bars i.missing{height:0;background:transparent}
.hero-spark{display:block;width:calc(100% + 48px);height:56px;margin:auto -24px 0}
.tech-report-head{gap:18px;margin-bottom:14px}.tech-report-head .av{width:74px;height:74px;font-size:30px;box-shadow:0 0 0 2px var(--bg),0 0 0 4px color-mix(in srgb,var(--data) 45%,transparent)}.tech-report-head h2{font-size:34px}.tech-report-position{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.tech-report-position.good{color:var(--good);background:color-mix(in srgb,var(--good) 13%,transparent)}.tech-report-position.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}
.tech-primary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.tech-primary-grid .tech-primary-wide{grid-column:span 2;min-height:208px;padding:18px 20px 15px}.tech-primary-grid .tile-small{min-height:134px}.tech-primary-grid .hero:not(.nospark){padding-bottom:0}.tech-primary-grid .hero .v{font-size:45px}.tech-primary-grid .tech-primary-wide .v{font-size:33px}.tech-primary-grid .tile-small .v{font-size:33px}.tech-primary-grid .tile-small.zero-kpi .v{font-size:33px;color:var(--ink3)}.tech-primary-grid .tile-small .f{margin-top:auto}.tech-primary-grid .tile-small.zero-kpi .f{color:var(--ink3)}.tech-primary-grid .tile-small.flag .v{color:var(--warn)}
.tech-attainment-card.above-target .v{color:var(--good)}.tech-gauge-labels{position:relative;height:14px;line-height:14px;margin-top:auto;margin-bottom:5px;font-size:10px;font-weight:650;color:var(--ink3)}.tech-gauge-labels>span{position:absolute;top:0;white-space:nowrap}.tech-gauge-labels>span:first-child{left:0}.tech-gauge-labels .marker{transform:translateX(-50%)}.tech-gauge-labels .right{right:0}.tech-gauge-labels.hourly{height:26px}.tech-gauge-labels.hourly>span:first-child,.tech-gauge-labels.hourly .right{top:13px}.tech-gauge{position:relative;height:7px;border-radius:4px;background:var(--track)}.tech-gauge i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--data)}.tech-gauge.good i{background:var(--good)}.tech-gauge.warn i{background:var(--warn)}.tech-gauge b{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:1px;background:var(--ink2)}.tech-close-meter{height:5px;margin-top:7px;border-radius:3px;background:var(--track);overflow:hidden}.tech-close-meter i{display:block;height:100%;border-radius:inherit;background:var(--good)}
@media(max-width:900px){.tech-report-position{order:3;margin-left:92px}.tech-primary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-primary-grid .tech-primary-wide{grid-column:span 1}.tech-primary-grid .tile-small{grid-column:span 1}}@media(max-width:620px){.tech-report-head{flex-wrap:wrap}.tech-report-head .noprint{margin-left:auto!important}.tech-report-position{width:100%;margin:0;justify-content:center}.tech-primary-grid{grid-template-columns:1fr}.tech-primary-grid .tech-primary-wide,.tech-primary-grid .tile-small{grid-column:1}}
.tile-rating{display:flex;align-items:baseline;gap:8px;margin-top:11px}.tile-rating .v{margin:0}.tile-of{font-size:13px;color:var(--ink3)}.tile-stars{display:flex;gap:2.5px;margin-top:auto}.tile-stars svg{width:14px;height:14px}.tile-stars .star-empty{fill:var(--track)}.tile-stars .star-fill{fill:var(--warn)}
.kpi-drill{position:relative;color:inherit;text-decoration:none}.kpi-drill[href]{cursor:pointer;transition:transform 150ms ease,box-shadow 150ms ease,border-color 150ms ease}.kpi-drill[href]:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--ink) 14%,transparent);text-decoration:none}.kpi-drill[href]:focus-visible{outline:3px solid color-mix(in srgb,var(--data) 50%,transparent);outline-offset:3px}.tile-chevron{position:absolute;top:11px;right:13px;color:var(--ink2);font-size:22px;font-weight:500;line-height:1}.kpi-detail-note{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.kpi-detail-note span:last-child{margin-left:auto;font-size:22px;color:var(--ink2)}.kpi-detail-note:hover{text-decoration:none;box-shadow:0 8px 20px color-mix(in srgb,var(--ink) 10%,transparent)}
.drawer-open{overflow:hidden}.kpi-drawer-layer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.kpi-drawer-scrim{position:absolute;inset:0;width:100%;border:0;border-radius:0;background:var(--overlay);cursor:default;animation:modal-veil 150ms ease-out}.kpi-drawer{position:relative;width:min(860px,calc(100vw - 40px));max-height:calc(100dvh - 40px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--modal-shadow);animation:modal-in 180ms cubic-bezier(.16,1,.3,1)}.kpi-drawer:not(.idle-modal){width:min(1040px,calc(100vw - 40px))}.kpi-drawer.idle-modal{width:min(860px,calc(100vw - 40px))}@keyframes modal-veil{from{opacity:0}to{opacity:1}}@keyframes modal-in{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.kpi-drawer-head{grid-row:1;display:flex;justify-content:space-between;gap:20px;padding:20px 24px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.kpi-drawer-head .eyebrow{margin:0 0 6px;font-size:10px}.kpi-drawer-head h2{margin:0;color:var(--ink3);font:700 10px/1.2 "IBM Plex Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase}.kpi-drawer-figure{display:block;font:650 34px/1 "IBM Plex Sans",sans-serif;letter-spacing:-.03em;margin-top:8px}.drawer-x{align-self:flex-start;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--ink3);font-size:22px;line-height:1}.drawer-rule{grid-row:2;margin:0;padding:10px 24px;background:var(--surface2);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink2)}.kpi-drawer-body{grid-row:3;min-height:0;overflow:auto;padding:0 24px 14px}.drawer-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.drawer-table th{position:sticky;top:0;z-index:1;padding:13px 10px;background:var(--surface);border-bottom:1px solid var(--line);color:var(--ink2);text-align:left;white-space:nowrap}.drawer-table td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}.drawer-table .review-copy{min-width:250px;white-space:normal;line-height:1.45}.aging-chip{display:inline-flex;margin-top:4px;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--warn) 17%,transparent);color:var(--warn);font-size:10px;font-weight:800;text-transform:uppercase}.drawer-stars{white-space:nowrap}.drawer-stars i{font-style:normal;color:var(--track)}.drawer-stars i.filled{color:var(--warn)}.drawer-empty{padding:40px 0;text-align:center;color:var(--ink2)}.kpi-drawer-foot{grid-row:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 24px;border-top:1px solid var(--line);background:var(--surface2);font-size:11.5px;font-weight:400;color:var(--ink2)}.kpi-drawer-foot b{color:var(--ink)}.kpi-drawer-foot.matches{color:var(--good)}.kpi-drawer-foot.mismatch{color:var(--warn)}.idle-card{background:var(--warn-tint)!important;border-color:color-mix(in srgb,var(--warn) 28%,var(--line))!important}.idle-card .val{color:var(--warn)}.kpi-modal-trigger{position:relative;cursor:pointer;text-decoration:none;color:inherit}.kpi-modal-trigger:hover{border-color:var(--data)}.kpi-modal-trigger .chev{position:absolute;right:16px;top:13px;color:var(--ink3);opacity:.6;font-size:20px}.idle-modal-stats{grid-row:1;display:flex;gap:26px;margin-left:auto;margin-right:70px;margin-top:-68px;z-index:2}.idle-modal-stats div{display:grid;gap:2px}.idle-modal-stats span{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}.idle-modal-stats b{font:650 21px/1 "IBM Plex Mono",monospace}.idle-modal-stats small{color:var(--ink3);font-size:10px}.idle-composition{margin-top:18px}.idle-composition>div{height:11px;display:flex;gap:2px;border-radius:6px;overflow:hidden;background:var(--track)}.idle-composition i,.idle-composition u{display:block;height:100%;text-decoration:none}.idle-composition i{background:var(--warn)}.idle-composition u{background:var(--data2)}.idle-composition p,.idle-key{font-size:11px;color:var(--ink2);margin:9px 0}.idle-composition p span{margin-left:18px}.idle-table{position:relative;margin-top:28px}.idle-th,.idle-tr{display:grid;grid-template-columns:160px 1fr 92px 72px 72px;gap:12px;align-items:center}.idle-th{padding:0 0 8px;border-bottom:1px solid var(--line);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}.idle-th span:nth-child(n+3),.idle-tr>b,.idle-tr em{text-align:right}.idle-tr{min-height:38px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);color:var(--ink);font-size:12px;text-decoration:none}.idle-tr>span:first-child{font-weight:650}.idle-tr.flag>span:first-child{color:var(--warn)}.idle-tr.flag>span:first-child:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--warn);margin-right:7px;vertical-align:1px}.idle-tr em{font-style:normal;color:var(--ink3);font-size:11px}.idle-bar{height:13px;position:relative}.idle-bar i,.idle-bar u{position:absolute;left:0;top:0;bottom:0;display:block;border-radius:0 4px 4px 0}.idle-bar i{background:var(--data2)}.idle-bar u{background:var(--warn);text-decoration:none}.idle-threshold{position:absolute;top:-21px;bottom:0;left:calc(160px + 12px + (100% - 160px - 12px - 92px - 72px - 72px - 48px) * .58);width:2px;background:var(--ink);opacity:.65;pointer-events:none}.idle-threshold b{position:absolute;top:-14px;transform:translateX(-43%);font:700 9px "IBM Plex Sans",sans-serif;white-space:nowrap;color:var(--ink)}
.cost-breakdown{display:grid;gap:10px;padding-top:14px}.cost-breakdown>div,.cost-breakdown summary,.cost-components>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.cost-breakdown details{border:1px solid var(--line);border-radius:12px;padding:0 14px}.cost-breakdown summary{cursor:pointer}.cost-breakdown small{display:block;color:var(--ink2);font-weight:400;margin-top:3px}.vehicle-sub{display:grid!important;grid-template-columns:1fr auto 1fr auto;gap:8px 16px!important;font-size:12px;color:var(--ink2)}.cost-total{font-size:18px;border-top:2px solid var(--ink)!important}.recall-status{display:inline-block;padding:4px 7px;border-radius:999px;background:var(--surface2);white-space:nowrap}.recall-status.linked{color:var(--good)}.recall-status.ambiguous{color:var(--warn)}.recall-origin-form{display:flex;gap:6px;margin-top:8px}.recall-origin-form select{max-width:170px}.recall-origin-form .btn{padding:6px 9px}.deck-cost-grid{display:grid;grid-template-columns:1fr auto;gap:10px 28px;max-width:700px}.deck-cost-grid b{text-align:right}
@media(max-width:900px){.kpi-drawer-layer{display:block;padding:10px}.kpi-drawer,.kpi-drawer:not(.idle-modal),.kpi-drawer.idle-modal{width:100%;max-height:calc(100dvh - 20px);margin-top:0}.kpi-drawer-head,.kpi-drawer-foot{padding-left:18px;padding-right:18px}.kpi-drawer-body{padding-left:18px;padding-right:18px}.drawer-rule{padding-left:18px;padding-right:18px}.idle-modal-stats{margin:8px 18px 0;grid-row:2;gap:12px}.idle-modal .kpi-drawer-head{padding-bottom:12px}.idle-th,.idle-tr{grid-template-columns:130px minmax(120px,1fr) 72px 58px 58px;gap:7px}.idle-table{min-width:600px}.idle-modal .kpi-drawer-body{overflow:auto}.idle-composition p span{display:block;margin:5px 0 0}}@media(prefers-reduced-motion:reduce){.kpi-drawer,.kpi-drawer-scrim{animation:none}.kpi-drill[href]{transition:none}}
@keyframes tileMeter{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes tileBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:1100px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.tile,.tile:not(.hero):not(.tile-small),.tile-small{grid-column:span 2}}@media(max-width:700px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile,.tile-small,.tile:not(.hero):not(.tile-small){grid-column:span 1}.tile.hero{grid-column:1/-1}}@media(max-width:480px){.tiles{grid-template-columns:1fr}.tile,.tile-small,.tile:not(.hero):not(.tile-small),.tile.hero{grid-column:1}}
@media(prefers-reduced-motion:reduce){.tile-meter i,.tile-bars i{animation:none!important}}
.idle-threshold-track{position:absolute;left:172px;right:252px;top:0;bottom:0;pointer-events:none}.idle-threshold-track .idle-threshold{left:var(--threshold-left,0);top:-21px;bottom:0}.kpi-drawer-context{margin:6px 0 0;color:var(--ink2);font-size:11px;font-weight:500}
.tech-kpi-card[aria-disabled="true"]{cursor:default}
.legacy-note{display:block;margin-top:7px;color:var(--ink3);font-size:10px;line-height:1.35;font-weight:500;text-transform:none;letter-spacing:0}
.gp-margin-copy{margin-top:7px;color:var(--ink2);font-size:11px}.gp-margin-copy b{color:var(--ink)}
.margin-label{margin-top:7px}.tech-attainment-card .tech-gauge{height:6px;margin-top:2px}.tech-attainment-card .tech-gauge-labels{margin-top:8px;margin-bottom:3px}
.gp-state-passing .v{color:var(--good)!important}.gp-state-below .v{color:var(--warn)!important}.gp-state-losing{position:relative;background:var(--warn-tint)!important;border-color:var(--warn-line)!important}.gp-state-losing:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--crit)}.gp-state-losing .v{color:var(--warn)!important}
@media print{.legacy-note{font-size:8px}.tech-attainment-card{break-inside:avoid}.gp-state-losing:before{background:var(--crit)}}
.tech-kpi-card[aria-disabled="true"]:hover{transform:none;box-shadow:none}
.home-v4{max-width:1380px;margin:auto;font-family:"IBM Plex Sans",sans-serif}.home-v4 *{box-sizing:border-box}.home-v4 h1,.home-v4 h2{font-family:"IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:-.025em}.home-head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:2px 0 22px}.home-brand{display:flex;align-items:center;gap:11px}.home-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,var(--data2),var(--data));box-shadow:0 5px 15px -8px var(--data)}.home-mark svg{width:22px;fill:none;stroke:var(--on-dark);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.home-brand h1{font-size:23px;line-height:1.08;font-weight:700}.home-brand p{margin:4px 0 0;color:var(--ink3);font-size:12px}.home-controls{display:flex;gap:9px;align-items:center;margin-left:auto}.seg{display:flex;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow)}.seg button{border:0;background:transparent;border-radius:8px;padding:6px 13px;color:var(--ink3);font:650 12px "IBM Plex Sans",sans-serif;cursor:pointer}.seg button.on{background:var(--brand-navy);color:var(--on-dark)}.date-nav{display:flex;align-items:center;gap:5px;margin:0;padding:3px 7px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink3)}.date-nav select{border:0;padding:4px;width:auto;max-width:185px;font-size:12px;font-weight:650;background:transparent}.summary-band{display:grid;grid-template-columns:396px 1fr;min-height:190px;overflow:hidden;border-radius:20px;color:var(--on-dark);background:radial-gradient(110% 170% at 88% -35%,color-mix(in srgb,var(--data) 43%,transparent),transparent 60%),linear-gradient(145deg,var(--brand-deep),var(--navy));box-shadow:0 18px 40px -26px var(--navy)}.band-left{position:relative;padding:22px 26px 23px;color:var(--on-dark);text-decoration:none}.band-eyebrow,.hl{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.band-eyebrow{color:var(--on-dark-subtle)}.band-value{display:block;margin-top:9px;font:700 56px/1 "IBM Plex Mono",monospace;letter-spacing:-.06em}.band-delta{display:inline-block;margin-top:10px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--positive-on-dark) 15%,transparent);color:var(--positive-on-dark);font-size:10.5px;font-weight:700}.band-delta.warn{background:color-mix(in srgb,var(--warning-on-dark) 15%,transparent);color:var(--warning-on-dark)}.band-left p{margin:8px 0 0;color:var(--on-dark-muted);font-size:11.5px;line-height:1.45}.band-left p b{color:var(--on-dark)}.hc{position:absolute;right:15px;top:15px;width:13px;height:13px;fill:none;stroke:var(--ink3);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.band-left .hc{stroke:var(--on-dark-muted)}.band-right{position:relative;min-height:190px}.band-stats{position:absolute;z-index:2;right:26px;top:21px;display:flex;gap:28px}.band-stats div{display:grid}.band-stats small{color:var(--data-on-dark);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.band-stats b{margin-top:3px;font:650 22px "IBM Plex Mono",monospace;letter-spacing:-.05em}.band-stats span{margin-top:2px;color:var(--on-dark-secondary);font-size:10.5px}.band-chart{position:absolute;inset:auto 0 0;width:100%;height:110px}.band-chart .line{stroke:var(--chart-on-dark);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.band-chart circle{fill:var(--on-dark)}.band-no-history{position:absolute;bottom:25px;left:30px;color:var(--on-dark-secondary);font-size:12px}.home-section{margin-top:29px}.section-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}.section-head i{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;font-size:16px;font-style:normal;font-weight:700}.section-head i.blue{color:var(--data);background:var(--data-soft)}.section-head i.green{color:var(--good);background:var(--good-bg)}.section-head i.amber{color:var(--warn);background:var(--warn-tint)}.section-head i.slate{color:var(--ink2);background:var(--track)}.section-head h2{font-size:15px;font-weight:700}.section-head p{margin:0;color:var(--ink3);font-size:12px}.section-head p b{color:var(--ink2)}.section-head>span{height:1px;flex:1;margin-left:5px;background:var(--line)}.home-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:13px}.hcard{position:relative;display:flex;flex-direction:column;min-height:137px;padding:15px 17px 13px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink);text-decoration:none}.hcard:not(.c8):not(.c6):not(.c4):not(.c3){grid-column:span 3}.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c8{grid-column:span 8}.hl{color:var(--ink3);display:flex}.hv{margin-top:9px;font:650 30px/1 "IBM Plex Mono",monospace;letter-spacing:-.055em}.hv small{font:600 13px "IBM Plex Sans",sans-serif;color:var(--ink3);letter-spacing:0}.hs{margin:8px 0 0;color:var(--ink2);font-size:11px;line-height:1.42}.hs b{color:var(--ink)}.warn-card{background:color-mix(in srgb,var(--warn-tint) 40%,var(--surface))}.hbars{display:flex;align-items:flex-end;gap:3px;height:32px;margin-top:auto}.hbars i{flex:1;background:color-mix(in srgb,var(--ink3) 28%,transparent);border-radius:2px 2px 0 0}.hbars i.now{background:var(--data)}.hbars i.now.warn{background:var(--warn)}.nospark{margin-top:auto;color:var(--ink3);font-size:10px}.rank-card{min-height:285px}.rank-wrap{position:relative;margin-top:12px}.rank-row{display:grid;grid-template-columns:118px 1fr 60px 52px;gap:11px;align-items:center;padding:5px 0;color:var(--ink);text-decoration:none;font-size:11px}.rank-row+.rank-row{border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.rank-row>i{height:8px;background:var(--track);border-radius:4px;overflow:hidden}.rank-row>i em{display:block;height:100%;border-radius:4px;background:var(--good2)}.rank-row>i em.under{background:var(--warn)}.rank-row strong,.rank-row small{font:600 11px "IBM Plex Mono",monospace;text-align:right}.rank-row small{color:var(--ink3)}.rank-row small.bad{color:var(--warn)}.legend{margin-top:auto;padding-top:10px;font-size:10.5px;color:var(--ink2)}.good-dot,.warn-dot{display:inline-block;width:7px;height:7px;border-radius:3px;background:var(--good2);margin:0 4px 0 10px}.good-dot{margin-left:0}.warn-dot{background:var(--warn)}.revenue-tech{min-height:285px}.tech-columns{display:flex;align-items:end;gap:6px;flex:1;min-height:116px;margin-top:9px;border-bottom:1px solid var(--line)}.tech-columns i{position:relative;flex:1;min-height:4px;background:var(--data);border-radius:3px 3px 0 0}.tech-columns i:nth-child(n+5){background:color-mix(in srgb,var(--data) 45%,transparent)}.tech-columns b{position:absolute;bottom:-18px;width:100%;font-size:8px;text-align:center;color:var(--ink3)}.funnel{display:grid;gap:5px;margin-top:10px}.funnel i{display:block;padding:4px 7px;min-width:max-content;border-radius:4px;background:var(--data);color:var(--on-dark);font-size:10px;font-style:normal;font-weight:650}.funnel i:nth-child(2){background:var(--data2)}.funnel i:nth-child(3){background:var(--good2)}.oncall-box{padding:15px;border:1px solid color-mix(in srgb,var(--warn) 25%,transparent);border-radius:20px;background:var(--warn-tint)}.oncall-stack{display:flex;height:11px;margin-top:12px;overflow:hidden;border-radius:6px;background:var(--track);gap:2px}.oncall-stack i{background:var(--warn)}.oncall-stack i:nth-child(2){opacity:.65}.oncall-stack i:nth-child(3),.oncall-stack i:nth-child(4){background:var(--neutral)}.oncall-stack i.gp{background:var(--good2)}.waterfall{min-height:273px}.water-bars{display:flex;align-items:end;gap:8px;height:195px;margin-top:10px;border-bottom:1px solid var(--line)}.water-bars div{display:flex;flex:1;align-items:center;flex-direction:column;height:100%;justify-content:end;text-align:center}.water-bars b{font:600 9px "IBM Plex Mono",monospace;white-space:nowrap}.water-bars i{display:block;width:70%;min-height:3px;margin:5px 0;background:var(--data)}.water-bars i.cost{background:var(--warn)}.water-bars i.over{background:var(--neutral)}.water-bars i.profit{background:var(--good2)}.water-bars small{min-height:23px;color:var(--ink3);font-size:8px;line-height:1.1}.meter{position:relative;height:7px;margin-top:auto;border-radius:4px;background:var(--track)}.meter i{display:block;height:100%;border-radius:4px;background:var(--good2)}.meter b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}.home-note{display:flex;gap:6px;margin-top:21px;color:var(--ink3);font-size:10.5px;line-height:1.45}
html.team-motion .home-v4 .team-reveal{animation:teamReveal .62s cubic-bezier(.22,.72,.3,1) both}html.team-motion .home-v4 .team-reveal:nth-child(2){animation-delay:40ms}html.team-motion .home-v4 .team-reveal:nth-child(3){animation-delay:80ms}html.team-motion .home-v4 .team-reveal:nth-child(4){animation-delay:120ms}html.team-motion .home-v4 .band-chart .line{stroke-dasharray:700;animation:homeDraw 1.5s ease both}@keyframes homeDraw{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}@media(hover:hover){.home-v4 a.hcard:hover,.band-left:hover{border-color:var(--data);transform:translateY(-2px)}}@media(max-width:900px){.summary-band{grid-template-columns:1fr}.band-right{min-height:155px}.home-grid .c8{grid-column:span 12}.home-grid .c4,.home-grid .c6{grid-column:span 6}.home-grid .c3,.hcard:not(.c8):not(.c6):not(.c4):not(.c3){grid-column:span 6}}@media(max-width:620px){.home-head{align-items:start}.home-controls{width:100%;margin:0;justify-content:space-between}.seg button{padding:6px 8px;font-size:10px}.date-nav{flex:1}.date-nav select{width:100%;max-width:none}.summary-band{border-radius:16px}.band-value{font-size:43px}.band-stats{left:20px;right:auto;gap:13px;top:15px}.band-stats b{font-size:15px}.band-stats span{font-size:9px}.section-head{align-items:flex-start}.section-head p{padding-top:5px;line-height:1.25}.section-head>span{display:none}.home-grid .c8,.home-grid .c6,.home-grid .c4,.home-grid .c3,.hcard:not(.c8):not(.c6):not(.c4):not(.c3){grid-column:span 12}.rank-row{grid-template-columns:92px 1fr 50px 45px;gap:6px;font-size:10px}.waterfall{overflow-x:auto}.water-bars{min-width:560px}.oncall-box{padding:9px}.home-note{font-size:10px}}@media(prefers-reduced-motion:reduce){.home-v4 .team-reveal,.home-v4 .band-chart .line{animation:none!important;opacity:1!important;transform:none!important}}

.tech-kpi-card .tile-chevron{opacity:0;transition:opacity 150ms ease-out}
.tech-kpi-card:hover .tile-chevron,.tech-kpi-card:focus-visible .tile-chevron{opacity:1}
.tech-kpi-card.kpi-pressed{transform:scale(.985)!important;transition-duration:90ms!important}
.review-empty{font-size:22px!important;white-space:normal!important}
.counting{font-variant-numeric:tabular-nums!important}
@keyframes techKpiReveal{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
html.tech-motion .tech-kpi-card{animation:techKpiReveal 420ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--reveal-delay,0ms)}
.tech-primary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.tech-primary-grid .hero,.tech-primary-grid .tech-primary-wide{grid-column:span 2}
.tech-primary-grid .tile-small{grid-column:span 1;min-height:150px;padding:15px 14px}
.tech-primary-grid .tile-small .v{font-size:27px}
.tech-secondary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.tech-secondary-grid .tile{grid-column:span 1;min-height:138px}
.zero-kpi{background:var(--surface2)!important;border-color:var(--line)!important}
.zero-kpi .v,.zero-kpi .f{color:var(--ink3)!important}
.tech-kpi-card[aria-disabled="true"] .v,.tech-kpi-card[aria-disabled="true"] .f{color:var(--ink3)}
@media(max-width:1100px){.tech-primary-grid .hero,.tech-primary-grid .tech-primary-wide{grid-column:span 2}.tech-primary-grid .tile-small{grid-column:span 1}.tech-secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-secondary-grid .tile{grid-column:span 1}}
@media(max-width:700px){.tech-primary-grid .hero,.tech-primary-grid .tech-primary-wide{grid-column:1/-1}.tech-primary-grid .tile-small{grid-column:span 1}.tech-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){
  .tech-kpi-card{animation:none!important;opacity:1!important;transform:none!important}
  .tech-kpi-card .tile-chevron{transition:none}
  .tech-kpi-card.kpi-pressed{transform:none!important}
}
.band-left>.v{display:block;margin-top:9px;font:700 56px/1 "IBM Plex Mono",monospace;letter-spacing:-.06em}
.home-v4 .hcard>.k{position:relative;margin:0;color:var(--ink3);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.home-v4 .rating-row{display:flex;gap:2px;margin-top:8px}.home-v4 .rating-star{width:12px;height:12px;fill:var(--rating-star)}
.home-v4 .home-mark{background:var(--data)}
.home-v4 .summary-band{background:var(--summary-band-solid)}
.home-v4 .date-nav>a{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;color:var(--ink2);text-decoration:none}
.home-v4 .date-nav>a:hover{background:var(--line)}
.home-v4 .section-head>i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.home-v4 .home-note>svg{flex:0 0 14px;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.home-v4 .rank-row>i em.neutral{background:var(--neutral)}
.kpi-drawer.kpi-modal.modal-reviews,.kpi-drawer.kpi-modal.modal-recalls,.kpi-drawer.kpi-modal.modal-new_customers{width:min(560px,calc(100vw - 40px))}
.home .review-split{display:flex;height:9px;margin-top:11px;overflow:hidden;border-radius:5px;background:var(--track);gap:2px}.home .review-split i{display:block;height:100%;background:var(--good2)}.home .review-split u{display:block;height:100%;background:var(--warn);opacity:.45;text-decoration:none}.home .review-negative{background:var(--warn-tint);border-color:color-mix(in srgb,var(--warn) 48%,var(--line))}.home .review-negative .val{color:var(--crit)}.home .review-danger{background:var(--crit-bg);border-color:color-mix(in srgb,var(--crit) 55%,var(--line))}.home .review-empty{color:var(--ink3)}
.kpi-drawer.kpi-modal.reviews-modal{width:min(760px,calc(100vw - 40px));grid-template-rows:auto minmax(0,1fr) auto;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}.reviews-head{display:flex;align-items:flex-start;gap:18px;padding:20px 24px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.reviews-summary{min-width:250px}.reviews-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}.reviews-average{display:flex;align-items:baseline;gap:8px;margin-top:9px;font-size:34px;font-weight:650;line-height:1}.reviews-average em{font-style:normal;font-size:15px;color:var(--ink3)}.reviews-stars{font-size:15px;letter-spacing:1px;color:var(--warn)}.reviews-meta{margin-top:9px;font-size:11.5px;color:var(--ink3)}.reviews-meta b{color:var(--ink2)}.negative-copy{color:var(--crit)}.reviews-stats{display:flex;gap:22px;margin-left:auto}.reviews-stats div{display:grid;align-content:start}.reviews-stats span{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}.reviews-stats b{margin-top:6px;font-size:20px;line-height:1}.reviews-stats b.warn{color:var(--warn)}.reviews-stats small{margin-top:3px;color:var(--ink3);font-size:10px;white-space:nowrap}.reviews-body{min-height:0;overflow:auto;padding:16px 24px 8px}.reviews-distribution{display:grid;grid-template-columns:34px 1fr 26px;gap:4px 10px;align-items:center;font-size:11px;color:var(--ink2)}.reviews-distribution>i{height:8px;overflow:hidden;border-radius:4px;background:var(--track)}.reviews-distribution>i u{display:block;height:100%;border-radius:4px;background:var(--warn);text-decoration:none}.reviews-distribution>b{text-align:right}.reviews-section{display:flex;align-items:center;gap:11px;margin:22px 0 11px;font:700 10px/1.2 inherit;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}.reviews-section:after{content:"";flex:1;height:1px;background:var(--line)}.review-item{position:relative;overflow:hidden;margin-bottom:10px;padding:13px 15px 12px;border:1px solid var(--line);border-radius:14px}.review-item:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--good)}.review-item.unassigned{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 28%,var(--line))}.review-item.unassigned:before{background:var(--warn)}.review-item.negative{background:var(--crit-bg);border-color:color-mix(in srgb,var(--crit) 35%,var(--line))}.review-item.negative:before{background:var(--crit)}.review-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.review-item-stars{display:flex;gap:1px}.review-item-stars i{font-style:normal;font-size:12px;color:var(--warn)}.review-item-stars i.off{color:var(--track)}.review-who{padding:3px 9px;border-radius:999px;color:var(--data);background:var(--data-soft);font-size:11px;font-weight:650}.review-who.none{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}.review-bonus{font-size:11px;font-weight:650;color:var(--good)}.review-meta{margin-left:auto;color:var(--ink3);font-size:11px}.review-text{margin:10px 0 0;color:var(--ink2);font-size:12.5px;line-height:1.5}.review-text.none{color:var(--ink3);font-style:italic}.review-customer{margin:8px 0 0;color:var(--ink3);font-size:11.5px}.review-customer b{color:var(--ink2)}.review-hint{display:flex;align-items:center;gap:8px;margin-top:11px;padding:8px 10px;border:1px dashed color-mix(in srgb,var(--warn) 48%,transparent);border-radius:9px;background:var(--surface);color:var(--ink2);font-size:11.5px}.review-assign-open{margin-left:auto;padding:5px 11px;border:1px solid color-mix(in srgb,var(--data) 40%,transparent);border-radius:8px;background:var(--surface);color:var(--data);font:650 11px inherit;white-space:nowrap;cursor:pointer}.review-assign-form{display:flex;align-items:end;gap:8px;margin-top:9px}.review-assign-form label{flex:1;margin:0}.review-audit{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;color:var(--ink3);font-size:10.5px}.review-audit form{margin:0}.review-audit button{border:0;background:transparent;color:var(--data);font:650 11px inherit;cursor:pointer}.reviews-foot{padding:15px 24px 17px;border-top:1px solid var(--line);background:var(--surface2);color:var(--ink2);font-size:11.5px;line-height:1.5}.reviews-foot p{margin:0}.reviews-foot p+p{margin-top:8px}.reviews-foot b{color:var(--ink)}
@media(max-width:700px){.reviews-head{flex-wrap:wrap;padding:16px 18px}.reviews-stats{order:3;width:100%;margin:0;justify-content:space-between;gap:8px}.reviews-body,.reviews-foot{padding-left:18px;padding-right:18px}.review-hint{align-items:flex-start;flex-direction:column}.review-assign-open{margin-left:0}.review-assign-form{align-items:stretch;flex-direction:column}}
.kpi-drawer.kpi-modal.modal-reviews.reviews-modal{width:min(760px,calc(100vw - 40px))}
.job-link-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid color-mix(in srgb,var(--data) 32%,transparent);border-radius:7px;background:var(--surface);color:var(--data);font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;text-decoration:none;white-space:nowrap}.job-link-chip svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.job-link-chip.missing{border-color:var(--line);border-style:dashed;color:var(--ink3);font-weight:600}.review-item.negative .job-link-chip{border-color:color-mix(in srgb,var(--crit) 38%,transparent);color:var(--crit)}.job-link-plain{font-variant-numeric:tabular-nums}
.kpi-drawer.kpi-modal.estimates-modal{width:min(1040px,calc(100vw - 40px));grid-template-rows:auto minmax(0,1fr) auto}.estimates-head{display:flex;align-items:flex-start;gap:18px;padding:20px 24px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.estimates-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}.estimates-total{margin-top:9px;font-size:34px;font-weight:650;line-height:1}.estimates-total em{margin-left:7px;color:var(--ink3);font-size:15px;font-style:normal}.estimates-meta{margin:9px 0 0;color:var(--ink3);font-size:11.5px}.estimates-stats{display:flex;gap:26px;margin-left:auto}.estimates-stats div{display:grid}.estimates-stats span,.estimate-th{color:var(--ink3);font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.estimates-stats b{margin-top:6px;font-size:21px}.estimates-stats small{margin-top:3px;color:var(--ink3);white-space:nowrap}.estimates-body{padding:6px 24px 4px}.estimate-grid{display:grid;grid-template-columns:190px 1fr 74px 74px 74px 62px 108px;gap:0 12px;align-items:center}.estimate-grid>*:nth-child(n+3){text-align:right}.estimate-th{margin-top:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.estimate-tech{border-bottom:1px solid var(--line)}.estimate-tech summary{padding:11px 0;cursor:pointer;font-size:13px;list-style:none}.estimate-tech summary::-webkit-details-marker{display:none}.estimate-name{font-weight:650}.estimate-name:before{content:"›";display:inline-block;margin-right:8px;color:var(--ink3);transform-origin:center}.estimate-tech[open] .estimate-name:before{transform:rotate(90deg)}.estimate-bar{position:relative;height:16px}.estimate-bar i{position:absolute;inset:0 auto 0 0;border-radius:0 4px 4px 0;background:var(--data)}.estimate-rate{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.estimate-rate.high{color:var(--good)}.estimate-rate.low{color:var(--warn)}.estimate-jobs{padding:2px 0 12px 24px}.estimate-job{display:grid;grid-template-columns:142px 1fr 152px 46px 104px 96px;gap:0 12px;align-items:center;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent);font-size:12px}.estimate-job>small{color:var(--ink3)}.estimate-job>*:nth-child(4),.estimate-job>*:nth-child(5){text-align:right}.pill.neutral{color:var(--ink3);background:var(--track)}.estimates-none{padding:13px 0 4px;color:var(--ink3);font-size:12px}.estimates-none b{color:var(--ink2)}.estimate-team{margin-top:2px;padding:13px 0 4px;border-top:2px solid var(--line);font-size:13px}.estimates-foot{margin-top:14px}.estimates-mismatch{margin:30px auto}.estimates-foot b{color:var(--ink)}@media(max-width:760px){.estimates-head{flex-wrap:wrap}.estimates-stats{order:3;width:100%;margin-left:0;justify-content:space-between}.estimates-body{overflow-x:auto}.estimate-grid{min-width:850px}.estimate-job{min-width:800px}}
.drawer-error-modal{width:min(600px,calc(100vw - 40px))}.drawer-error-state{display:grid;justify-items:start;gap:10px;padding:32px 24px;color:var(--ink2)}.drawer-error-state strong{color:var(--ink)}.drawer-error-state p{margin:0}.drawer-error-state code,.safe-error-card code{padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface2);color:var(--ink2);font-weight:700;letter-spacing:.08em}.safe-error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.safe-error-card{width:min(480px,100%);display:grid;justify-items:center;gap:14px;padding:34px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.safe-error-card img{width:180px;height:auto}.safe-error-card h1,.safe-error-card p{margin:0}.safe-error-label{color:var(--data);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.kpi-drawer.kpi-modal.modal-billable_hours,.kpi-drawer.kpi-modal.modal-overtime,.kpi-drawer.kpi-modal.modal-idle,.kpi-drawer.kpi-modal.modal-target_pct,.kpi-drawer.kpi-modal.modal-estimates,.kpi-drawer.kpi-modal.modal-customers,.kpi-drawer.kpi-modal.modal-oncall{width:min(860px,calc(100vw - 40px))}
.kpi-drawer.kpi-modal.modal-revenue,.kpi-drawer.kpi-modal.modal-jobs,.kpi-drawer.kpi-modal.modal-unbilled{width:min(1040px,calc(100vw - 40px))}
.modal-back{display:inline-flex;margin-bottom:8px;color:var(--data);font-size:12px;font-weight:700;text-decoration:none}.idle-tech-sheet{padding:20px 0}.idle-tech-sheet h3{margin:6px 0 20px;font-size:26px}.idle-tech-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.idle-tech-stats>div{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.idle-tech-stats span{display:block;color:var(--ink2);font-size:10px;font-weight:700;text-transform:uppercase}.idle-tech-stats b{display:block;margin-top:6px;font:650 20px "IBM Plex Mono",monospace}
@media(max-width:900px){.kpi-drawer-layer{padding:20px}.kpi-drawer.kpi-modal{width:100%;max-width:none;max-height:calc(100dvh - 40px)}.idle-tech-stats{grid-template-columns:repeat(2,1fr)}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.home .period-heading{font-size:23px;font-weight:680;letter-spacing:-.024em;line-height:1.1}
@media(max-width:620px){.home .ctl{gap:6px;overflow:visible}.home .seg button{padding:6px 8px;font-size:10px}.home .nav{min-width:0}.home .nav select{width:90px;min-width:0;padding:0 3px;text-overflow:ellipsis}}
.verdict.data{background:var(--data-tint);color:var(--data)}
.verdict.data b{font-size:1.3rem;color:var(--data)}
.tech .verdict{padding:.4rem .85rem;margin-top:.15rem;font-size:1rem}
.tech .verdict b{font-size:1.08rem}
.tech{gap:.95rem}
.fuel-team-en{display:none}
html[lang="en"] .fuel-team-es{display:none}
html[lang="en"] .fuel-team-en{display:inline}
.fuel-cost-card{appearance:none;text-align:left}
.fuel-card-empty{color:var(--ink3);font-size:29px}
.fuel-load-now{margin-top:auto;padding-top:10px;color:var(--data);font-size:12px;font-weight:750}
.fuel-avatar{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;flex:none;background:var(--data-tint);color:var(--data);font-size:11px;font-weight:800}
.fuel-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none;overflow:visible}
.fuel-dialog::backdrop{background:color-mix(in srgb,var(--navy) 45%,transparent)}
.fuel-modal{width:min(30rem,calc(100vw - 40px));height:min(35rem,calc(100dvh - 40px));padding:21px 24px 20px;border-radius:16px;background:var(--surface);box-shadow:0 20px 50px color-mix(in srgb,var(--navy) 25%,transparent);display:flex;flex-direction:column;gap:17px;overflow:hidden}
.fuel-modalhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.fuel-modal h2{font-size:20px;font-weight:800;margin:0}.fuel-sub{font-size:13px;color:var(--ink2);line-height:1.45;margin-top:4px}.fuel-modalclose{width:30px;height:30px;display:grid;place-items:center;flex:none;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface2);color:var(--ink3);font-size:18px;cursor:pointer}
.fuel-techrows{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:9px;overflow-y:auto;padding-right:3px}
.fuel-techrow{display:flex;align-items:center;gap:13px;margin:0;letter-spacing:0;text-transform:none;font-size:14px;color:var(--ink)}
.fuel-name{flex:1;font-weight:600}.fuel-name small{display:block;margin-top:2px;color:var(--ink3);font-size:10px;font-weight:500}.fuel-techrow-unloaded .fuel-name{color:var(--ink3)}.fuel-inputwrap{position:relative;flex:none}.fuel-inputwrap>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:14px}
.fuel-inputwrap input{width:102px;padding:8px 9px 8px 24px;background:var(--surface2);font-weight:600;font-variant-numeric:tabular-nums}
.fuel-modalfoot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--line)}.fuel-hint{max-width:220px;color:var(--ink3);font-size:11px;line-height:1.4;margin:0}.fuel-btnrow{display:flex;gap:8px;flex:none}.fuel-ghost{background:var(--surface2)}
.app-resizable-modal{position:relative;min-width:min(320px,calc(100vw - 40px));min-height:min(320px,calc(100dvh - 40px))}
.modal-resize-handle{position:absolute;z-index:30;touch-action:none}.modal-resize-n{top:0;left:12px;right:12px;height:8px;cursor:ns-resize}.modal-resize-s{bottom:0;left:12px;right:12px;height:8px;cursor:ns-resize}.modal-resize-e{top:12px;right:0;bottom:12px;width:8px;cursor:ew-resize}.modal-resize-w{top:12px;left:0;bottom:12px;width:8px;cursor:ew-resize}.modal-resize-ne,.modal-resize-nw,.modal-resize-se,.modal-resize-sw{width:16px;height:16px}.modal-resize-ne{top:0;right:0;cursor:nesw-resize}.modal-resize-nw{top:0;left:0;cursor:nwse-resize}.modal-resize-se{right:0;bottom:0;cursor:nwse-resize}.modal-resize-sw{left:0;bottom:0;cursor:nesw-resize}
@media(max-width:620px){.fuel-modal{padding:20px 18px 18px}.fuel-modalfoot{align-items:stretch;flex-direction:column}.fuel-hint{max-width:none}.fuel-btnrow{justify-content:flex-end}}
