@font-face{font-family:InterDisplay;src:url(https://cdn.prod.website-files.com/6ab2a6480ebf3096efadec88/6ab2a64b0ebf3096efaded30_InterDisplay-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:InterDisplay;src:url(https://cdn.prod.website-files.com/6ab2a6480ebf3096efadec88/6ab2a64b0ebf3096efaded31_InterDisplay-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:InterDisplay;src:url(https://cdn.prod.website-files.com/6ab2a6480ebf3096efadec88/6ab2a64b0ebf3096efaded32_InterDisplay-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:InterDisplay;src:url(https://cdn.prod.website-files.com/6ab2a6480ebf3096efadec88/6ab2a64b0ebf3096efaded33_InterDisplay-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}

.tr-ov{
  --lime:#9ce069;--black:#000;--abyss:#191919;--light:#2b2b2d;--white:#fff;
  --gray:#595959;--cloud:#e6e8dd;--line:#d4d6cb;--danger:#b42318;--warn:#9a6700;
  --ok:#3d6b1e;--muted:#8a8a86;--panel:rgba(255,255,255,.88);--r:6px;--ir:5px;
  --font:InterDisplay,"Helvetica Neue",Helvetica,sans-serif;
  font-family:var(--font);font-size:13.5px;line-height:1.45;color:var(--black);
  background:var(--cloud);-webkit-font-smoothing:antialiased;min-height:100%;
  position:relative;isolation:isolate
}
.tr-ov,.tr-ov *{box-sizing:border-box}
.tr-ov button,.tr-ov input,.tr-ov select,.tr-ov textarea{font:inherit}
.tr-ov a{color:inherit;text-decoration:none}
.tr-ov ::selection{background:rgba(156,224,105,.35)}

.tr-ov::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 65% 40% at 6% -6%,rgba(156,224,105,.14),transparent 55%),
    radial-gradient(ellipse 50% 30% at 100% 0%,rgba(156,224,105,.07),transparent 50%),
    linear-gradient(180deg,var(--cloud),#dfe2d4 120%)
}
.tr-ov::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;mix-blend-mode:multiply
}
.tr-ov .app,.tr-ov .toast,.tr-ov .modal,.tr-ov .load,.tr-ov .cmd{position:relative;z-index:1}

/* —— Boot —— */
.tr-ov .load{
  position:fixed;inset:0;background:#000;display:grid;place-items:center;z-index:80;
  color:#c8c8c4;transition:opacity .45s ease,visibility .45s
}
.tr-ov .load.hide{opacity:0;visibility:hidden;pointer-events:none}
.tr-ov .load-inner{text-align:center;width:min(320px,86vw)}
.tr-ov .load-logo{
  height:36px;width:auto;display:block;margin:0 auto 28px;
  filter:brightness(0) invert(1);
  animation:ovFadeIn .5s ease both
}
.tr-ov .boot-track{
  height:1px;background:rgba(255,255,255,.12);border-radius:1px;overflow:hidden;margin:0 0 22px
}
.tr-ov .boot-bar{
  display:block;height:100%;width:0;background:var(--lime);
  transition:width .35s ease
}
.tr-ov .boot-status{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  color:#9a9a94;min-height:1.4em;font-variant-numeric:tabular-nums
}
.tr-ov .boot-status .cursor{
  display:inline-block;width:6px;height:1em;background:var(--lime);margin-left:2px;
  vertical-align:text-bottom;animation:ovBlink 1s steps(1) infinite
}
@keyframes ovFadeIn{from{opacity:0}to{opacity:1}}
@keyframes ovBlink{50%{opacity:0}}

/* —— App chrome —— */
.tr-ov .app{min-height:100vh;display:grid;grid-template-rows:52px 1fr}
.tr-ov header.top{
  background:var(--black);color:var(--white);display:flex;align-items:center;gap:14px;
  padding:0 18px;border-bottom:1px solid var(--lime);position:sticky;top:0;z-index:30;height:52px
}
.tr-ov .logo{display:flex;align-items:center;flex-shrink:0}
.tr-ov .logo img{height:22px;display:block;filter:brightness(0) invert(1)}
.tr-ov .ws{
  display:flex;align-items:center;gap:10px;min-width:0;padding-left:14px;
  border-left:1px solid rgba(255,255,255,.1)
}
.tr-ov .ws-chip{
  display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 8px;
  border:1px solid rgba(255,255,255,.1);border-radius:5px;background:rgba(255,255,255,.03)
}
.tr-ov .live-dot{
  width:6px;height:6px;border-radius:50%;background:var(--lime);flex-shrink:0
}
.tr-ov .ws-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;line-height:1;margin-bottom:2px}
.tr-ov .ws strong{color:var(--white);font-weight:600;font-size:13px;letter-spacing:-.02em}
.tr-ov .badge{
  background:transparent;color:var(--lime);border:1px solid rgba(156,224,105,.4);
  font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 8px;border-radius:3px;white-space:nowrap
}
.tr-ov .top-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.tr-ov .clock{
  font-size:11px;font-weight:500;color:#a8a8a4;font-variant-numeric:tabular-nums;
  letter-spacing:.02em;padding:0 6px;white-space:nowrap
}
.tr-ov .search-trig{
  display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px 0 12px;
  border:1px solid rgba(255,255,255,.1);border-radius:5px;background:rgba(255,255,255,.04);
  color:#a8a8a4;font-size:12px;cursor:pointer;transition:border-color .15s,color .15s,background .15s
}
.tr-ov .search-trig:hover{border-color:rgba(156,224,105,.35);color:var(--white);background:rgba(255,255,255,.06)}
.tr-ov .search-trig kbd{
  font:inherit;font-size:10px;font-weight:600;letter-spacing:.04em;
  padding:2px 5px;border:1px solid rgba(255,255,255,.12);border-radius:3px;color:#8a8a86
}
.tr-ov .user-chip{
  display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;
  border:1px solid rgba(255,255,255,.1);border-radius:5px;background:rgba(255,255,255,.03)
}
.tr-ov .user-chip .who{font-size:11px;color:#c8c8c4;line-height:1.2}
.tr-ov .user-chip .who b{color:var(--white);font-weight:600;display:block;letter-spacing:-.01em}
.tr-ov .avatar{
  width:26px;height:26px;border-radius:4px;background:var(--lime);color:var(--black);
  display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:.02em;flex-shrink:0
}

/* —— Shell / nav —— */
.tr-ov .shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 52px)}
.tr-ov nav.side{
  background:var(--abyss);color:#d6d6d2;padding:16px 10px 0;
  border-right:1px solid rgba(255,255,255,.04);display:flex;flex-direction:column
}
.tr-ov nav.side .nav-scroll{flex:1;overflow:auto;padding-bottom:12px}
.tr-ov nav.side .nav-k{
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#6e6e6a;
  padding:16px 12px 6px;font-weight:600
}
.tr-ov nav.side .nav-k:first-child{padding-top:2px}
.tr-ov nav.side a{
  position:relative;display:flex;align-items:center;gap:10px;padding:8px 12px 8px 12px;
  border-radius:5px;font-size:13px;font-weight:500;color:#a8a8a4;margin-bottom:1px;
  transition:color .18s ease,background .18s ease
}
.tr-ov nav.side a::before{
  content:"";position:absolute;left:0;top:50%;width:2px;height:0;background:var(--lime);
  border-radius:1px;transform:translateY(-50%);transition:height .22s cubic-bezier(.22,1,.36,1)
}
.tr-ov nav.side a:hover{background:rgba(255,255,255,.04);color:var(--white)}
.tr-ov nav.side a.active{background:rgba(43,43,45,.95);color:var(--white);font-weight:600}
.tr-ov nav.side a.active::before{height:58%}
.tr-ov nav.side .nav-ico{
  width:16px;height:16px;flex-shrink:0;display:grid;place-items:center;opacity:.72
}
.tr-ov nav.side .nav-ico svg{width:16px;height:16px;display:block}
.tr-ov nav.side a:hover .nav-ico,.tr-ov nav.side a.active .nav-ico{opacity:1}
.tr-ov nav.side a.active .nav-ico{color:var(--lime)}
.tr-ov nav.side .nav-label{min-width:0;flex:1;letter-spacing:-.01em}
.tr-ov nav.side .nav-count{
  margin-left:auto;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;
  min-width:18px;height:16px;padding:0 5px;border-radius:3px;display:inline-grid;place-items:center;
  background:rgba(255,255,255,.06);color:#8a8a86;flex-shrink:0
}
.tr-ov nav.side a.active .nav-count{background:rgba(156,224,105,.15);color:var(--lime)}
.tr-ov nav.side .nav-count.warn{background:rgba(180,35,24,.2);color:#f0a8a2}
.tr-ov .side-foot{
  border-top:1px solid rgba(255,255,255,.06);padding:14px 12px 18px;margin-top:auto
}
.tr-ov .side-foot .sf-name{font-size:12.5px;font-weight:600;color:var(--white);letter-spacing:-.02em}
.tr-ov .side-foot .sf-meta{font-size:11px;color:#7a7a76;margin-top:3px;font-variant-numeric:tabular-nums}

.tr-ov .mob-nav{
  display:none;gap:4px;overflow-x:auto;padding:8px 12px;background:var(--abyss);
  border-bottom:1px solid rgba(255,255,255,.06);-webkit-overflow-scrolling:touch;scrollbar-width:none
}
.tr-ov .mob-nav::-webkit-scrollbar{display:none}
.tr-ov .mob-nav a{
  flex:0 0 auto;color:#a8a8a4;font-size:12px;font-weight:600;padding:7px 11px;border-radius:4px;
  border:1px solid transparent;letter-spacing:-.01em;transition:background .15s,color .15s,border-color .15s
}
.tr-ov .mob-nav a:hover{color:var(--white)}
.tr-ov .mob-nav a.active{
  background:var(--light);color:var(--white);border-color:rgba(156,224,105,.3);
  box-shadow:inset 0 -2px 0 var(--lime)
}

/* —— Canvas —— */
.tr-ov main.canvas{padding:28px 32px 52px;max-width:1240px;width:100%;min-width:0}
.tr-ov main.canvas.view-enter{animation:ovFadeIn .18s ease both}

.tr-ov h1{
  font-size:clamp(22px,2.6vw,28px);font-weight:600;letter-spacing:-.045em;line-height:1.12;margin:0
}
.tr-ov .lede{
  color:var(--gray);margin:6px 0 0;font-size:13.5px;line-height:1.5;max-width:56ch;font-weight:400
}
.tr-ov .sec-label{
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);
  font-weight:600;margin:24px 0 10px
}
.tr-ov .num,.tr-ov .tabular{font-variant-numeric:tabular-nums}

/* —— Hero strip —— */
.tr-ov .hero-strip{
  display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto;
  column-gap:24px;row-gap:0;align-items:center;
  padding:20px 22px 18px 24px;margin:20px 0 14px;background:var(--panel);backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:var(--r);position:relative;overflow:hidden
}
.tr-ov .hero-strip::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--lime)
}
.tr-ov .ring-wrap{
  position:relative;width:88px;height:88px;flex-shrink:0;
  grid-column:1;grid-row:1;align-self:center;justify-self:center
}
.tr-ov .ring-wrap svg{display:block;transform:rotate(-90deg)}
.tr-ov .ring-wrap .ring-bg{stroke:rgba(212,214,203,.7);fill:none;stroke-width:5}
.tr-ov .ring-wrap .ring-fg{
  stroke:var(--lime);fill:none;stroke-width:5;stroke-linecap:butt;
  transition:stroke-dashoffset .8s cubic-bezier(.22,1,.36,1)
}
.tr-ov .ring-center{
  position:absolute;inset:0;display:grid;place-content:center;place-items:center;
  text-align:center;pointer-events:none;line-height:1
}
.tr-ov .ring-center .rc-n{
  font-size:22px;font-weight:600;letter-spacing:-.05em;font-variant-numeric:tabular-nums;line-height:1
}
.tr-ov .ring-center .rc-l{
  font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);font-weight:600;margin-top:4px
}
.tr-ov .hero-meta{
  grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;justify-content:center
}
.tr-ov .hero-meta .hm-k{
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);font-weight:600;
  line-height:1.2
}
.tr-ov .hero-meta .hm-v{
  font-size:32px;font-weight:600;letter-spacing:-.05em;margin-top:6px;line-height:1;
  font-variant-numeric:tabular-nums
}
.tr-ov .hero-meta .hm-s{
  font-size:12.5px;color:var(--gray);margin-top:8px;line-height:1.4;
  white-space:normal;overflow:visible;word-break:normal
}
.tr-ov .hero-stats{
  grid-column:1 / -1;grid-row:2;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 16px;margin-top:16px;padding-top:14px;
  border-top:1px solid rgba(212,214,203,.85)
}
.tr-ov .hero-stats .hs{
  min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px
}
.tr-ov .hero-stats .hs .l{
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);font-weight:600;
  line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%
}
.tr-ov .hero-stats .hs .v{
  font-size:18px;font-weight:600;letter-spacing:-.03em;line-height:1.15;
  font-variant-numeric:tabular-nums;white-space:nowrap
}

/* —— KPIs —— */
.tr-ov .kpis{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px
}
.tr-ov .kpi{
  background:var(--panel);backdrop-filter:blur(10px);padding:14px 16px 14px 18px;
  border:1px solid var(--line);border-radius:var(--r);position:relative;
  transition:border-color .15s,box-shadow .15s
}
.tr-ov .kpi::before{
  content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background:transparent;border-radius:1px
}
.tr-ov .kpi.accent::before,.tr-ov .kpi:hover::before{background:var(--lime)}
.tr-ov .kpi:hover{border-color:#c4c6bb;box-shadow:inset 0 0 0 1px rgba(156,224,105,.18)}
.tr-ov .kpi .l{font-size:9px;color:var(--gray);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.tr-ov .kpi .v{
  font-size:24px;font-weight:600;letter-spacing:-.045em;margin-top:6px;
  font-variant-numeric:tabular-nums;line-height:1
}
.tr-ov .kpi .s{font-size:11.5px;color:var(--gray);margin-top:6px;line-height:1.35}
.tr-ov .kpi .s a{border-bottom:1px solid var(--line);transition:border-color .15s}
.tr-ov .kpi .s a:hover{border-color:var(--black)}
.tr-ov .kpi .spark{display:block;margin-top:10px;height:28px;width:100%}
.tr-ov .kpi .spark path{fill:none;stroke:var(--lime);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.tr-ov .kpi .spark .area{fill:rgba(156,224,105,.12);stroke:none}
.tr-ov .on{color:var(--ok)}
.tr-ov .late{color:var(--danger)}
.tr-ov .watch{color:var(--warn)}
.tr-ov .progbar{height:2px;background:rgba(212,214,203,.85);border-radius:1px;overflow:hidden;margin-top:10px}
.tr-ov .progbar>span{display:block;height:100%;background:var(--lime);transform-origin:left;transition:width .65s cubic-bezier(.22,1,.36,1)}

/* —— Layout helpers —— */
.tr-ov .close-grid{display:grid;grid-template-columns:1fr 280px;gap:14px;align-items:start}
.tr-ov .toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 12px}
.tr-ov .grow{flex:1;min-width:160px}
.tr-ov .search,.tr-ov select.sel,.tr-ov input.txt,.tr-ov textarea.ta{
  height:38px;border:1px solid var(--line);border-radius:var(--ir);
  background:rgba(255,255,255,.82);padding:0 11px;width:100%;outline:none;
  transition:border-color .15s,box-shadow .15s,background .15s;font-size:13px
}
.tr-ov textarea.ta{height:84px;padding:9px 11px;resize:vertical}
.tr-ov .search:focus,.tr-ov select.sel:focus,.tr-ov input.txt:focus,.tr-ov textarea.ta:focus{
  border-color:var(--black);background:var(--white);box-shadow:0 0 0 2px rgba(156,224,105,.35)
}
.tr-ov .btn{
  height:38px;padding:0 14px;border:0;border-radius:var(--r);background:var(--black);color:var(--white);
  font-weight:600;cursor:pointer;letter-spacing:-.01em;font-size:13px;
  transition:background .15s,color .15s,border-color .15s
}
.tr-ov .btn:hover{background:var(--light)}
.tr-ov .btn:active{background:#1a1a1a}
.tr-ov .btn:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.tr-ov .btn-accent{background:var(--lime);color:var(--black)}
.tr-ov .btn-accent:hover{background:#b4ea8a}
.tr-ov .btn-accent:active{background:#a8e078}
.tr-ov .btn-ghost{background:transparent;color:var(--black);border:1px solid var(--line);height:36px}
.tr-ov .btn-ghost:hover{background:rgba(255,255,255,.7);border-color:#b8baaf}
.tr-ov .btn-ghost:active{background:rgba(255,255,255,.9)}
.tr-ov .btn-sm{height:30px;padding:0 10px;font-size:12px;border-radius:5px}
.tr-ov .btn-danger{background:var(--danger)}
.tr-ov .btn-danger:hover{background:#8f1c13}
.tr-ov .btn-danger:active{background:#7a1810}
.tr-ov .fchips{display:flex;flex-wrap:wrap;gap:5px}
.tr-ov .fchip{
  height:30px;padding:0 11px;border:1px solid var(--line);border-radius:4px;
  background:rgba(255,255,255,.55);color:var(--gray);font-size:12px;font-weight:600;
  cursor:pointer;letter-spacing:-.01em;transition:background .15s,color .15s,border-color .15s
}
.tr-ov .fchip:hover{border-color:#b8baaf;color:var(--black)}
.tr-ov .fchip.on{background:var(--black);color:var(--white);border-color:var(--black)}
.tr-ov .fchip.on::after{
  content:"";display:inline-block;width:4px;height:4px;border-radius:1px;
  background:var(--lime);margin-left:7px;vertical-align:middle
}

.tr-ov .card,.tr-ov .panel{
  background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden
}
.tr-ov table{width:100%;border-collapse:collapse;font-size:13px}
.tr-ov th,.tr-ov td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tr-ov th{
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);
  font-weight:600;background:rgba(244,245,238,.85);cursor:pointer;user-select:none
}
.tr-ov th.no{cursor:default}
.tr-ov tr:last-child td{border-bottom:0}
.tr-ov tbody tr{transition:background .12s}
.tr-ov tbody tr:hover{background:rgba(247,248,242,.85)}

.tr-ov .chip{
  display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:3px;
  font-size:10px;font-weight:600;letter-spacing:.02em;background:var(--cloud);
  color:var(--abyss);border:1px solid transparent
}
.tr-ov .chip.done{background:#e3f3d2;color:var(--ok);border-color:#c6e6a8}
.tr-ov .chip.open{background:#f3ead0;color:var(--warn);border-color:#e4d4a8}
.tr-ov .chip.crit{background:#f8d7d4;color:var(--danger);border-color:#e8b4b0}
.tr-ov .chip.prog{background:#ececeb;color:var(--light);border-color:#d8d8d6}

.tr-ov .tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:16px 0 14px}
.tr-ov .tabs button{
  background:none;border:0;padding:9px 12px;cursor:pointer;color:var(--gray);
  font-weight:600;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px;
  letter-spacing:-.01em;transition:color .15s,border-color .15s
}
.tr-ov .tabs button:hover{color:var(--black)}
.tr-ov .tabs button.on{color:var(--black);border-bottom-color:var(--lime)}

.tr-ov .empty,.tr-ov .errorbox,.tr-ov .okbox{
  padding:28px 20px;text-align:center;color:var(--gray);border:1px dashed var(--line);
  border-radius:var(--r);background:rgba(244,245,238,.65)
}
.tr-ov .empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 24px}
.tr-ov .empty-illust{
  width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line);
  opacity:.92;margin-bottom:4px
}
.tr-ov .empty-title{font-weight:600;color:var(--black);margin-bottom:0;letter-spacing:-.02em;font-size:14px}
.tr-ov .empty p{margin:0;max-width:36ch;line-height:1.45;font-size:12.5px}
.tr-ov .errorbox{border-style:solid;border-color:#e8b4b0;color:var(--danger);background:#fdf2f1;text-align:left}
.tr-ov .okbox{border-style:solid;border-color:#c6e6a8;color:var(--ok);background:#f3faeb;text-align:left}

/* —— Checklist —— */
.tr-ov .check-item{
  display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:12px;align-items:center;
  padding:13px 14px;border-bottom:1px solid var(--line);transition:background .15s;position:relative
}
.tr-ov .check-item:last-child{border-bottom:0}
.tr-ov .check-item:hover{background:rgba(247,248,242,.7)}
.tr-ov .check-item.is-done h3{color:var(--gray);text-decoration:line-through;text-decoration-color:rgba(89,89,89,.3)}
.tr-ov .check-item h3{font-size:13.5px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.3}
.tr-ov .check-item .ck-body{min-width:0;display:flex;gap:8px;align-items:flex-start}
.tr-ov .check-item .ck-copy{min-width:0}
.tr-ov .prio{
  width:6px;height:6px;border-radius:50%;margin-top:6px;flex-shrink:0;background:#c4c6bb
}
.tr-ov .prio.p-high{background:var(--danger)}
.tr-ov .prio.p-med{background:var(--warn)}
.tr-ov .prio.p-low{background:var(--lime)}
.tr-ov .meta{font-size:11.5px;color:var(--gray);margin:3px 0 0;line-height:1.4}
.tr-ov .owner-av{
  width:22px;height:22px;border-radius:4px;background:var(--abyss);color:var(--lime);
  display:inline-grid;place-items:center;font-size:9px;font-weight:700;letter-spacing:.02em;
  flex-shrink:0
}
.tr-ov .chip-row{display:flex;gap:6px;flex-wrap:nowrap;align-items:center;justify-content:flex-end}
.tr-ov .row-acts{display:flex;gap:2px;align-items:center;justify-content:flex-end;white-space:nowrap}
.tr-ov .ck{
  appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:2px;
  border:1.5px solid #a8aa9e;border-radius:4px;background:rgba(255,255,255,.9);cursor:pointer;
  position:relative;flex-shrink:0;transition:border-color .15s,background .15s
}
.tr-ov .ck:hover{border-color:var(--black)}
.tr-ov .ck:checked{background:var(--lime);border-color:var(--lime)}
.tr-ov .ck:checked::after{
  content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;
  border:2px solid var(--black);border-top:0;border-left:0;transform:rotate(45deg)
}
.tr-ov .ck:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

/* —— Activity ticker —— */
.tr-ov .ticker{
  background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;position:sticky;top:64px
}
.tr-ov .ticker-h{
  padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px
}
.tr-ov .ticker-h .th-t{font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gray)}
.tr-ov .ticker-h .live-dot{width:5px;height:5px}
.tr-ov .tick{
  padding:11px 14px;border-bottom:1px solid rgba(212,214,203,.55)
}
.tr-ov .tick:last-child{border-bottom:0}
.tr-ov .tick .tk-t{font-size:12.5px;font-weight:500;letter-spacing:-.015em;line-height:1.35}
.tr-ov .tick .tk-m{font-size:10.5px;color:var(--gray);margin-top:3px;font-variant-numeric:tabular-nums}

/* —— Anomaly rails —— */
.tr-ov .anom-item{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;
  padding:14px 14px 14px 16px;border-bottom:1px solid var(--line);position:relative;
  transition:background .15s
}
.tr-ov .anom-item:last-child{border-bottom:0}
.tr-ov .anom-item:hover{background:rgba(247,248,242,.7)}
.tr-ov .anom-item::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px
}
.tr-ov .anom-item.sev-critical::before{background:var(--danger)}
.tr-ov .anom-item.sev-high::before{background:#d97706}
.tr-ov .anom-item.sev-medium::before{background:var(--warn)}
.tr-ov .anom-item.sev-low::before{background:#8a8a86}
.tr-ov .anom-item h3{font-size:13.5px;font-weight:600;letter-spacing:-.02em;margin:0}

/* —— Forecast chart —— */
.tr-ov .chart-panel{padding:16px 18px 12px;margin-bottom:14px}
.tr-ov .chart-panel .cp-h{
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px
}
.tr-ov .chart-panel .cp-h .l{font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gray)}
.tr-ov .chart-panel .cp-h .v{font-size:18px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tr-ov .cash-chart{width:100%;height:140px;display:block}
.tr-ov .cash-chart .area{fill:rgba(156,224,105,.14)}
.tr-ov .cash-chart .line{fill:none;stroke:var(--lime);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.tr-ov .cash-chart .grid{stroke:rgba(212,214,203,.8);stroke-width:1}
.tr-ov .cash-chart .dot{fill:var(--black);stroke:var(--lime);stroke-width:2}
.tr-ov .cash-chart text{font-size:9px;fill:var(--gray);font-family:var(--font)}

.tr-ov .toast{
  position:fixed;bottom:20px;right:20px;background:var(--black);color:var(--white);
  padding:12px 16px 12px 14px;border-radius:var(--r);font-size:13px;z-index:60;max-width:340px;
  border-left:2px solid var(--lime);opacity:0;
  pointer-events:none;transition:opacity .2s ease
}
.tr-ov .toast.show{opacity:1;pointer-events:auto}
.tr-ov .toast.bad{border-left-color:#f0a8a2;background:#1a0a08}

.tr-ov .modal{
  position:fixed;inset:0;background:rgba(0,0,0,.52);display:none;place-items:center;
  z-index:50;padding:20px
}
.tr-ov .modal.open{display:grid}
.tr-ov .sheet{
  background:var(--white);border-radius:var(--r);width:min(520px,100%);padding:22px 22px 18px;
  border:1px solid var(--line);max-height:90vh;overflow:auto
}
.tr-ov .sheet h2{font-size:17px;margin:0 0 14px;letter-spacing:-.03em;font-weight:600}
.tr-ov .fg{margin-bottom:11px}
.tr-ov .fg label{display:block;font-size:12px;font-weight:500;margin-bottom:5px;color:var(--abyss)}
.tr-ov .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
.tr-ov .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tr-ov .note{font-size:12.5px;color:var(--gray);line-height:1.5}
.tr-ov .linkish{
  background:none;border:0;color:var(--gray);cursor:pointer;font-size:12px;padding:3px 5px;
  font-weight:500;transition:color .12s
}
.tr-ov .linkish:hover{color:var(--black)}
.tr-ov .disc{
  font-size:11.5px;color:var(--gray);background:rgba(244,245,238,.8);border:1px solid var(--line);
  border-radius:6px;padding:12px;margin-top:10px;line-height:1.5
}
.tr-ov .disc a{text-decoration:underline;text-underline-offset:2px}

/* —— Command palette —— */
.tr-ov .cmd-sheet{width:min(480px,100%);padding:0;overflow:hidden}
.tr-ov .cmd-input{
  width:100%;height:48px;border:0;border-bottom:1px solid var(--line);padding:0 16px;
  font-size:14.5px;outline:none;background:transparent;letter-spacing:-.02em
}
.tr-ov .cmd-list{max-height:320px;overflow:auto;padding:6px}
.tr-ov .cmd-item{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:5px;
  cursor:pointer;border:0;background:transparent;width:100%;text-align:left;font:inherit
}
.tr-ov .cmd-item:hover,.tr-ov .cmd-item.on{background:rgba(156,224,105,.12)}
.tr-ov .cmd-item .ci-l{font-size:13px;font-weight:600;letter-spacing:-.02em}
.tr-ov .cmd-item .ci-m{font-size:11px;color:var(--gray);margin-left:auto}
.tr-ov .cmd-empty{padding:24px;text-align:center;color:var(--gray);font-size:13px}

@media (max-width:1020px){
  .tr-ov .close-grid{grid-template-columns:1fr}
  .tr-ov .ticker{position:static}
}
@media (max-width:960px){
  .tr-ov .shell{grid-template-columns:1fr}
  .tr-ov nav.side{display:none}
  .tr-ov .mob-nav{display:flex}
  .tr-ov .kpis,.tr-ov .grid2{grid-template-columns:1fr 1fr}
  .tr-ov main.canvas{padding:20px 14px 40px}
  .tr-ov .hide-sm{display:none}
  .tr-ov .check-item{grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start}
  .tr-ov .check-item .chip-row,.tr-ov .check-item .row-acts{grid-column:2;justify-content:flex-start}
  .tr-ov .clock{display:none}
  .tr-ov .search-trig span{display:none}
}
@media (max-width:640px){
  .tr-ov .kpis{grid-template-columns:1fr}
  .tr-ov .user-chip .who{display:none}
  .tr-ov .ws{padding-left:8px;gap:6px}
  .tr-ov header.top{padding:0 12px;gap:8px}
  .tr-ov .hero-strip{
    grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:14px;padding:16px 16px 16px 18px
  }
  .tr-ov .ring-wrap{grid-column:1;grid-row:1;justify-self:start}
  .tr-ov .hero-meta{grid-column:1;grid-row:2}
  .tr-ov .hero-stats{grid-column:1;grid-row:3;grid-template-columns:1fr;gap:12px}
  .tr-ov .hero-meta .hm-v{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
  .tr-ov *,.tr-ov *::before,.tr-ov *::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important
  }
  .tr-ov .live-dot{animation:none;box-shadow:none}
}
