/* ===== legacy styles (pages not yet rebuilt to the new design) ===== */
:root{
  --bg:#0a0c10; --surface:#11141b; --surface2:#161a23; --border:#222835;
  --text:#e7ebf2; --muted:#8b94a6; --tertiary:#5c6677;
  --blue:#5b9eff; --green:#30d158; --orange:#ff9f0a; --red:#ff453a; --purple:#bf5af2;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  font-size:14px;}
.shell{display:flex;min-height:100vh}
.sidebar{width:220px;background:#0c0e13;border-right:1px solid var(--border);
  padding:22px 14px;display:flex;flex-direction:column;gap:18px}
.brand{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}
.brand .logo{color:var(--purple)}
.sidebar nav{display:flex;flex-direction:column;gap:4px}
.sidebar nav a{color:var(--muted);text-decoration:none;padding:9px 12px;
  border-radius:8px;font-weight:500}
.sidebar nav a:hover{background:var(--surface)}
.sidebar nav a.active{background:var(--surface2);color:var(--text)}
.sidebar-foot{margin-top:auto;color:var(--tertiary);font-size:12px}
.content{flex:1;padding:30px 36px;max-width:1200px}
.page-head{margin-bottom:22px}
.page-head h1{margin:0 0 4px;font-size:26px}
.sub{color:var(--muted);margin:0}
.back{color:var(--blue);text-decoration:none;font-size:13px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:16px 18px}
.kpi-label{color:var(--tertiary);font-size:12px;margin-bottom:6px}
.kpi-value{font-size:24px;font-weight:600}
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:20px 22px;margin-bottom:18px}
.card h2{margin:0 0 14px;font-size:15px;font-weight:600}
table{width:100%;border-collapse:collapse}
th{text-align:left;color:var(--tertiary);font-weight:600;font-size:11px;
  text-transform:uppercase;letter-spacing:.05em;padding:0 10px 10px}
td{padding:11px 10px;border-top:1px solid var(--border);vertical-align:middle}
tbody tr[onclick]{cursor:pointer}
tbody tr[onclick]:hover{background:var(--surface2)}
.name{font-weight:600}
.muted{color:var(--muted)}
.tertiary{color:var(--tertiary)}
.mono{font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:12px}
.empty{color:var(--muted)}
.pill{padding:3px 10px;border-radius:9px;font-size:11px;font-weight:600;
  border:1px solid var(--border);background:var(--surface2);color:var(--muted)}
.pill.online,.pill.completed{color:var(--green);
  background:rgba(48,209,88,.12);border-color:rgba(48,209,88,.34)}
.pill.stale,.pill.pending,.pill.scheduled{color:var(--blue);
  background:rgba(91,158,255,.12);border-color:rgba(91,158,255,.34)}
.pill.offline,.pill.overdue{color:var(--red);
  background:rgba(255,69,58,.12);border-color:rgba(255,69,58,.34)}
.sev{font-size:11px;font-weight:600;text-transform:capitalize}
.sev.info{color:var(--blue)} .sev.success{color:var(--green)}
.sev.warning{color:var(--orange)} .sev.error,.sev.critical{color:var(--red)}
.task-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.task-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;
  color:var(--muted)}
.task-form input,.task-form select{background:var(--surface2);
  border:1px solid var(--border);border-radius:8px;color:var(--text);
  padding:8px 10px;font-size:13px;min-width:150px}
.btn{background:linear-gradient(180deg,#2150e6,#1043d6);color:#fff;border:none;
  border-radius:9px;padding:9px 16px;font-weight:600;cursor:pointer}
.btn-link{background:none;border:none;color:var(--red);cursor:pointer;
  font-size:12px;padding:0}

/* login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;
  background:radial-gradient(1200px 600px at 50% -10%,#141a26,#0a0c10)}
.login-card{background:var(--surface);border:1px solid var(--border);
  border-radius:18px;padding:34px 30px;width:340px;display:flex;flex-direction:column;
  gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.login-brand{font-size:22px;font-weight:700;display:flex;align-items:center;gap:9px}
.login-brand .logo{color:var(--purple)}
.login-sub{color:var(--muted);margin-top:-8px;margin-bottom:6px;font-size:13px}
.login-error{background:rgba(255,69,58,.12);border:1px solid rgba(255,69,58,.34);
  color:#ff6b61;border-radius:9px;padding:9px 12px;font-size:13px}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;
  color:var(--muted)}
.login-card input{background:var(--surface2);border:1px solid var(--border);
  border-radius:9px;color:var(--text);padding:11px 12px;font-size:14px}
.login-card input:focus{outline:none;border-color:var(--blue)}
.login-btn{width:100%;padding:11px;font-size:14px;margin-top:6px}
.sidebar-foot .logout{color:var(--muted);text-decoration:none;font-size:13px;
  display:block;padding:9px 12px;border-radius:8px}
.sidebar-foot .logout:hover{background:var(--surface);color:var(--text)}
.sidebar-foot .ver{color:var(--tertiary);font-size:11px;padding:8px 12px 0}

/* ===== Overview / shared components (stage 0) ===== */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.head-meta{color:var(--tertiary);font-size:12px;font-family:"SF Mono",ui-monospace,Menlo,monospace;white-space:nowrap}

/* sidebar nav with icons */
.sidebar nav a{display:flex;align-items:center;gap:11px}
.sidebar nav a svg{flex:none;opacity:.8}
.sidebar nav a.active svg{opacity:1;color:var(--blue)}

/* KPI tiles */
.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.kpi-top{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.kpi-ico{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:700}
.kpi-ico.blue{background:rgba(91,158,255,.14);color:var(--blue)}
.kpi-ico.purple{background:rgba(191,90,242,.14);color:var(--purple)}
.kpi-ico.amber{background:rgba(255,159,10,.14);color:var(--orange)}
.kpi-ico.red{background:rgba(255,69,58,.14);color:var(--red)}
.kpi-ico.green{background:rgba(48,209,88,.14);color:var(--green)}
.kpi-ico.cyan{background:rgba(50,210,230,.14);color:#32d2e6}
.kpi-ico.mint{background:rgba(48,209,160,.14);color:#30d1a0}
.kpi .kpi-label{color:var(--tertiary);font-size:12px}

/* 3-column section grid */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}
@media(max-width:1100px){.grid-3{grid-template-columns:1fr}}
.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.card-head h2{margin:0}
.card-head a{color:var(--blue);text-decoration:none;font-size:12px}
.small{font-size:12px}

/* event rows */
.ev-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}
.ev-row:first-of-type{border-top:none}
.sev-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--muted)}
.sev-dot.info{background:var(--blue)} .sev-dot.success{background:var(--green)}
.sev-dot.warning{background:var(--orange)} .sev-dot.error,.sev-dot.critical{background:var(--red)}
.ev-body{flex:1;min-width:0}
.ev-msg{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* top tools rows */
.tt-row,.ch-row{display:flex;align-items:center;gap:10px;padding:10px 0;
  border-top:1px solid var(--border);text-decoration:none;color:var(--text)}
.tt-row:first-of-type,.ch-row:first-of-type{border-top:none}
.tt-row:hover{background:var(--surface2);border-radius:8px;margin:0 -8px;padding:10px 8px}
.tt-body,.ch-body{flex:1;min-width:0}
.tt-nums{font-size:12px;color:var(--muted);white-space:nowrap}
.tt-nums b,.ch-nums{color:var(--text)}
.ch-nums{font-size:13px;white-space:nowrap}

/* production pipeline */
.pl-bar{display:flex;gap:3px;height:10px;margin:6px 0 16px}
.pl-seg{border-radius:3px}
.pl-seg.green{background:var(--green)} .pl-seg.blue{background:var(--blue)}
.pl-seg.purple{background:var(--purple)} .pl-seg.amber{background:var(--orange)}
.pl-seg.red{background:var(--red)} .pl-seg.empty{background:var(--border)}
.pl-legend{display:flex;flex-wrap:wrap;gap:8px 18px}
.pl-item{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.pl-item b{color:var(--text)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.dot.green{background:var(--green)} .dot.blue{background:var(--blue)}
.dot.purple{background:var(--purple)} .dot.amber{background:var(--orange)}
.dot.red{background:var(--red)}

/* health / report rows */
.hl-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;
  border-top:1px solid var(--border);font-size:13px}
.hl-row:first-of-type{border-top:none}
.hl-row .ok{color:var(--green);font-size:12px;font-weight:600}
.hl-row .warn{color:var(--orange);font-size:12px;font-weight:600}
.pill.stale{color:var(--orange);background:rgba(255,159,10,.12);border-color:rgba(255,159,10,.34)}

/* placeholder */
.ph{display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:50px 20px;gap:10px}
.ph-title{font-size:16px;font-weight:600}
.ph-sub{color:var(--muted);max-width:440px;font-size:13px}

/* tools detail + list extras */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
@media(max-width:1100px){.grid-2{grid-template-columns:1fr}}
.eyebrow{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:4px}
.ap-title{font-size:18px;font-weight:600;margin-bottom:2px}
.tag{font-size:11px;font-weight:600;padding:3px 9px;border-radius:8px}
.tag.ok{color:var(--green);background:rgba(48,209,88,.12)}
.tag.warn{color:var(--orange);background:rgba(255,159,10,.12)}
.hl-row .mono{color:var(--text)}

/* projects board */
.board{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:1100px){.board{grid-template-columns:repeat(2,1fr)}}
.board-col{background:var(--bg);border:1px solid var(--border);border-radius:12px;
  padding:12px;min-height:90px}
.board-head{font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px;
  margin-bottom:10px}
.board-head .muted{margin-left:auto}
.proj-card{background:var(--surface2);border:1px solid var(--border);border-radius:9px;
  padding:9px 10px;margin-bottom:8px}
.proj-title{font-size:13px;font-weight:500;margin:2px 0}
.board-empty{color:var(--tertiary);text-align:center;padding:6px;font-size:13px}

/* events split layout */
.split{display:grid;grid-template-columns:1fr 300px;gap:18px;margin-bottom:18px}
@media(max-width:1100px){.split{grid-template-columns:1fr}}
.split .side{align-self:start}

/* banner + calendar */
.banner{padding:11px 16px;border-radius:10px;margin-bottom:16px;font-size:13px;font-weight:500}
.banner.ok{background:rgba(48,209,88,.12);border:1px solid rgba(48,209,88,.34);color:var(--green)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-head{margin-bottom:8px}
.cal-wd{color:var(--tertiary);font-size:11px;font-weight:600;text-transform:uppercase;
  letter-spacing:.05em;padding:0 4px}
.cal-cell{background:var(--bg);border:1px solid var(--border);border-radius:9px;
  min-height:78px;padding:6px;margin-bottom:6px}
.cal-out{opacity:.4}
.cal-today .cal-day{background:var(--blue);color:#fff;border-radius:50%;
  width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.cal-day{font-size:12px;color:var(--muted);margin-bottom:4px}
.cal-task{font-size:10px;background:var(--surface2);border:1px solid var(--border);
  border-radius:5px;padding:2px 5px;margin-bottom:3px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;font-family:"SF Mono",ui-monospace,Menlo,monospace;color:var(--blue)}

/* ===== Overview v2 (reference-matched) ===== */
.head-right{display:flex;align-items:center;gap:14px}
.btn-ghost{background:var(--surface);border:1px solid var(--border);color:var(--text);
  border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;
  white-space:nowrap}
.btn-ghost:hover{background:var(--surface2)}
.head-date{color:var(--tertiary);font-size:12px;font-family:"SF Mono",ui-monospace,Menlo,monospace;white-space:nowrap}
.icon-btn{position:relative;width:36px;height:36px;border-radius:10px;background:var(--surface);
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
  text-decoration:none;font-size:15px}
.icon-btn .badge{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;
  font-size:10px;font-weight:700;border-radius:9px;min-width:17px;height:17px;
  display:flex;align-items:center;justify-content:center;padding:0 4px}
.user-chip{display:flex;align-items:center;gap:6px;background:var(--surface);
  border:1px solid var(--border);border-radius:20px;padding:5px 10px 5px 6px;
  text-decoration:none;color:var(--text);font-size:12px;font-weight:700}
.user-chip:before{content:"";width:24px;height:24px;border-radius:50%;
  background:linear-gradient(135deg,#5b9eff,#bf5af2)}
.user-chip .chev{color:var(--muted);font-weight:400}

/* 7-up KPI tiles + sparkline */
.kpis-7{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1300px){.kpis-7{grid-template-columns:repeat(4,1fr)}}
.kpi-sub{color:var(--tertiary);font-size:11.5px;margin-top:3px}
.kpi-spark{margin-top:10px;height:34px}
.spark{display:block}

.pill-link{background:var(--surface2);border:1px solid var(--border);color:var(--blue);
  text-decoration:none;font-size:11px;font-weight:600;padding:4px 10px;border-radius:8px}
.pill-link:hover{background:var(--bg)}

/* event chips */
.ev-chip{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;font-size:9px;flex:none}

/* top tools rows */
.tool-row{display:flex;align-items:center;gap:10px;padding:11px 0;
  border-top:1px solid var(--border);text-decoration:none;color:var(--text)}
.tool-row:first-of-type{border-top:none}
.tool-row:hover{background:var(--surface2);border-radius:9px;margin:0 -8px;padding:11px 8px}
.tool-ico{width:30px;height:30px;border-radius:8px;background:var(--surface2);
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
  color:var(--muted);flex:none}
.tool-id{flex:1;min-width:0}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.status-dot.online{background:var(--green)} .status-dot.stale{background:var(--orange)}
.status-dot.offline{background:var(--red)}
.status-tx{text-transform:capitalize;margin-right:6px}
.tool-stat{display:flex;flex-direction:column;align-items:center;min-width:32px}
.tool-stat b{font-size:14px} .tool-stat span{font-size:10px;color:var(--tertiary)}

/* channel performance rows */
.chp-row{display:flex;align-items:center;gap:11px;padding:11px 0;
  border-top:1px solid var(--border);text-decoration:none;color:var(--text)}
.chp-row:first-of-type{border-top:none}
.chp-row:hover{background:var(--surface2);border-radius:9px;margin:0 -8px;padding:11px 8px}
.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:11px;font-weight:700;border:1px solid;flex:none}
.chp-id{flex:1;min-width:0}
.chp-col{display:flex;flex-direction:column;align-items:flex-end;min-width:50px}
.chp-col b{font-size:13px} .chp-col span{font-size:10px;color:var(--tertiary)}
.chp-spark{width:56px;flex:none}

/* production pipeline stepper */
.stepper{display:flex;justify-content:space-between;margin:8px 0 18px;position:relative}
.step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;position:relative}
.step:not(:last-child):after{content:"";position:absolute;top:14px;left:50%;width:100%;
  height:2px;background:var(--border);z-index:0}
.step-c{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:12px;font-weight:700;background:var(--surface2);
  border:1px solid var(--border);color:var(--tertiary);z-index:1}
.step-c.on.green{background:rgba(48,209,88,.15);color:var(--green);border-color:rgba(48,209,88,.4)}
.step-c.on.blue{background:rgba(91,158,255,.15);color:var(--blue);border-color:rgba(91,158,255,.4)}
.step-c.on.purple{background:rgba(191,90,242,.15);color:var(--purple);border-color:rgba(191,90,242,.4)}
.step-c.on.amber{background:rgba(255,159,10,.15);color:var(--orange);border-color:rgba(255,159,10,.4)}
.step-l{font-size:11px;color:var(--muted)}
.pipe-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.pipe-stats div{display:flex;flex-direction:column}
.pipe-stats b{font-size:22px} .pipe-stats span{font-size:11px;color:var(--tertiary)}
.pipe-stats b.blue{color:var(--blue)} .pipe-stats b.amber{color:var(--orange)}
.pipe-stats b.green{color:var(--green)} .pipe-stats b.red{color:var(--red)}

/* system health */
.hl-l{display:flex;align-items:center;gap:9px}
.health-foot{display:flex;align-items:center;gap:8px;color:var(--green);font-size:12px;
  font-weight:600;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}

/* reports & sync donut */
.sync-wrap{display:flex;align-items:center;gap:20px;margin-bottom:14px}
.donut{width:108px;height:108px;border-radius:50%;flex:none;display:flex;
  align-items:center;justify-content:center}
.donut-hole{width:74px;height:74px;border-radius:50%;background:var(--surface);
  display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut-hole b{font-size:22px} .donut-hole span{font-size:10px;color:var(--tertiary)}
.sync-legend{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}
.sync-legend div{display:flex;align-items:center;gap:8px}
.sync-legend b{color:var(--text);margin-left:auto}

/* ===== NEW DESIGN SYSTEM (Claude Design) — wins on shared classes ===== */
/* ---------- TOKENS ---------- */
  :root {
    --bg:            #0a0d12;
    --bg-2:          #0d1117;
    --panel:         #11161e;
    --panel-2:       #141a23;
    --panel-hover:   #1a212c;
    --border:        #1f2630;
    --border-2:      #262d39;

    --text:          #e7ecf3;
    --text-2:        #a3acba;
    --text-3:        #6b7585;
    --text-4:        #4a525e;

    --brand:         #3b82f6;
    --brand-2:       #60a5fa;
    --brand-bg:      rgba(59,130,246,.12);

    --green:         #22c55e;
    --green-2:       #4ade80;
    --yellow:        #f59e0b;
    --orange:        #f97316;
    --red:           #ef4444;
    --purple:        #a855f7;
    --cyan:          #06b6d4;

    --radius:        14px;
    --radius-sm:     10px;

    --shadow:        0 1px 0 rgba(255,255,255,.02) inset, 0 1px 2px rgba(0,0,0,.4);
  }

  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; background: #000; }
  body {
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    color: var(--text);
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    line-height: 1.4;
  }
  .mono { font-family: 'JetBrains Mono', ui-monospace, Menlo, monospace; }

  /* ---------- macOS WINDOW ---------- */
  .window {
    width: 1536px;
    margin: 0 auto;
    background: var(--bg);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0,0,0,.6);
  }
  .titlebar {
    height: 36px;
    background: var(--bg-2);
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-bottom: 1px solid var(--border);
  }
  .traffic { display: flex; gap: 8px; }
  .traffic span {
    width: 12px; height: 12px; border-radius: 50%; display: block;
  }
  .traffic .c1 { background: #ff5f57; }
  .traffic .c2 { background: #febc2e; }
  .traffic .c3 { background: #28c840; }

  /* ---------- APP SHELL ---------- */
  .app {
    display: grid;
    grid-template-columns: 220px 1fr;
    min-height: 980px;
  }

  /* ---------- SIDEBAR ---------- */
  .sidebar {
    background: var(--bg-2);
    border-right: 1px solid var(--border);
    padding: 20px 14px 16px;
    display: flex;
    flex-direction: column;
  }
  .brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px 24px;
  }
  .brand-logo {
    width: 30px; height: 30px;
    border-radius: 8px;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    display: grid; place-items: center;
    box-shadow: 0 4px 14px rgba(59,130,246,.35);
  }
  .brand-name {
    font-weight: 700;
    font-size: 17px;
    letter-spacing: -.01em;
  }

  .nav { display: flex; flex-direction: column; gap: 2px; }
  .nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--text-2);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background .15s, color .15s;
  }
  .nav a:hover { background: var(--panel); color: var(--text); }
  .nav a.active {
    background: var(--brand-bg);
    color: var(--brand-2);
  }
  .nav svg { width: 18px; height: 18px; stroke-width: 1.8; flex-shrink: 0; }

  .sidebar-foot { margin-top: auto; }
  .status-pill {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 12px 14px;
  }
  .status-pill .row {
    display: flex; align-items: center; gap: 8px;
  }
  .status-pill .dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 10px rgba(34,197,94,.7);
  }
  .status-pill .label {
    color: var(--text);
    font-weight: 600;
    font-size: 13px;
    line-height: 1.25;
  }
  .status-pill .sub {
    margin-top: 10px;
    border-top: 1px solid var(--border);
    padding-top: 10px;
    font-size: 12px;
  }
  .status-pill .sub .k { color: var(--text-2); }
  .status-pill .sub .v { color: var(--green); font-weight: 600; margin-top: 2px; }

  .version {
    margin-top: 10px;
    display: flex; align-items: center; justify-content: space-between;
    padding: 6px 8px;
    font-size: 12px;
    color: var(--text-3);
  }
  .version .collapse {
    width: 22px; height: 22px; display: grid; place-items: center;
    border-radius: 6px; color: var(--text-3);
  }

  /* ---------- MAIN ---------- */
  main {
    padding: 26px 30px 32px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    background: var(--bg);
  }

  /* ---------- HEADER ---------- */
  .page-head {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 24px;
  }
  .page-title h1 {
    margin: 0;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.02em;
  }
  .page-title p {
    margin: 6px 0 0;
    color: var(--text-3);
    font-size: 14px;
  }
  .page-head .right {
    display: flex; align-items: center; gap: 20px;
  }
  .btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--text);
    padding: 9px 14px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
  }
  .btn:hover { background: var(--panel-hover); }
  .btn svg { width: 14px; height: 14px; }

  .clock {
    color: var(--text-3);
    font-size: 13px;
    display: flex; align-items: center; gap: 10px;
    letter-spacing: .01em;
  }
  .clock .sep { color: var(--text-4); }

  .icon-btn {
    position: relative;
    width: 38px; height: 38px;
    display: grid; place-items: center;
    border-radius: 10px;
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--text-2);
    cursor: pointer;
  }
  .icon-btn .badge {
    position: absolute; top: -4px; right: -4px;
    min-width: 16px; height: 16px; padding: 0 4px;
    border-radius: 8px;
    background: var(--red);
    color: white; font-size: 10px; font-weight: 700;
    display: grid; place-items: center;
    border: 2px solid var(--bg);
  }

  .avatar {
    display: flex; align-items: center; gap: 8px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 4px 10px 4px 4px;
    cursor: pointer;
  }
  .avatar .bubble {
    width: 30px; height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8b5cf6, #6366f1);
    color: white;
    display: grid; place-items: center;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .04em;
  }
  .avatar svg { width: 14px; height: 14px; color: var(--text-3); }

  /* ---------- STAT CARDS (TOP ROW) ---------- */
  .stats {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 12px;
  }
  .stat-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 16px 6px;
    position: relative;
    overflow: hidden;
    min-height: 140px;
    display: flex; flex-direction: column;
  }
  .stat-card .head {
    display: flex; align-items: center; gap: 10px;
  }
  .stat-card .icon {
    width: 32px; height: 32px;
    border-radius: 8px;
    display: grid; place-items: center;
    flex-shrink: 0;
  }
  .stat-card .icon svg { width: 18px; height: 18px; }
  .stat-card .label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    color: var(--text-3);
    text-transform: uppercase;
  }
  .stat-card .value {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -.02em;
    margin-top: 8px;
    line-height: 1.1;
  }
  .stat-card .sub {
    font-size: 12px;
    color: var(--text-3);
    margin-top: 2px;
  }
  .stat-card .delta {
    font-size: 12px;
    color: var(--green-2);
    margin-top: 4px;
    font-weight: 500;
    display: inline-flex; align-items: center; gap: 4px;
  }
  .stat-card .delta .muted { color: var(--text-3); font-weight: 400; }
  .stat-card .spark {
    margin-top: auto;
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: -6px;
    height: 38px;
  }
  .stat-card .spark svg { width: 100%; height: 100%; display: block; }

  .ic-blue   { background: rgba(59,130,246,.14);  color: #60a5fa; }
  .ic-purple { background: rgba(168,85,247,.14);  color: #c084fc; }
  .ic-orange { background: rgba(249,115,22,.14);  color: #fb923c; }
  .ic-red    { background: rgba(239,68,68,.14);   color: #f87171; }
  .ic-green  { background: rgba(34,197,94,.14);   color: #4ade80; }
  .ic-cyan   { background: rgba(6,182,212,.14);   color: #22d3ee; }
  .ic-emerald{ background: rgba(16,185,129,.14);  color: #34d399; }

  /* ---------- PANEL (generic card) ---------- */
  .panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
  }
  .panel-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 14px;
  }
  .panel-head h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -.005em;
  }
  .link-btn {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-2);
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 12.5px;
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 6px;
    font-family: inherit;
  }
  .link-btn:hover { background: var(--panel-hover); color: var(--text); }

  .link-foot {
    color: var(--brand-2);
    font-size: 13px;
    font-weight: 500;
    margin-top: auto;
    padding-top: 14px;
    text-decoration: none;
  }
  .link-foot:hover { text-decoration: underline; }

  /* ---------- MID GRID ---------- */
  .mid-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.15fr;
    gap: 14px;
  }

  /* Latest Events */
  .events { display: flex; flex-direction: column; gap: 2px; }
  .event {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px 4px;
  }
  .event .ev-icon {
    width: 32px; height: 32px; border-radius: 8px;
    display: grid; place-items: center;
  }
  .event .ev-icon svg { width: 16px; height: 16px; }
  .event .ev-title { font-size: 13.5px; font-weight: 500; color: var(--text); }
  .event .ev-sub { font-size: 12px; color: var(--text-3); margin-top: 2px; }
  .event .ev-time { font-size: 12px; color: var(--text-3); font-variant-numeric: tabular-nums; }

  /* Top Active Tools */
  .tools-list { display: flex; flex-direction: column; gap: 0; }
  .tool {
    display: grid;
    grid-template-columns: 40px 1fr 90px repeat(3, 50px);
    gap: 12px;
    align-items: center;
    padding: 10px 4px;
  }
  .tool .t-icon {
    width: 36px; height: 36px; border-radius: 8px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    display: grid; place-items: center; color: var(--text-2);
  }
  .tool .t-icon svg { width: 18px; height: 18px; }
  .tool .name { font-size: 13.5px; font-weight: 600; }
  .tool .id { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
  .tool .status { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--text-2); }
  .tool .status .dot { width: 8px; height: 8px; border-radius: 50%; }
  .tool .status.online .dot { background: var(--green); box-shadow: 0 0 8px rgba(34,197,94,.6); }
  .tool .status.offline .dot { background: var(--red); box-shadow: 0 0 8px rgba(239,68,68,.6); }
  .tool .ago { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
  .tool .num { text-align: center; }
  .tool .num .n { font-size: 14px; font-weight: 600; }
  .tool .num .l { font-size: 11px; color: var(--text-3); margin-top: 2px; }

  /* Channel Performance */
  .channels-table { display: flex; flex-direction: column; }
  .channel {
    display: grid;
    grid-template-columns: 40px 1fr 70px 60px 80px 60px;
    gap: 14px;
    align-items: center;
    padding: 10px 4px;
  }
  .channel .av {
    width: 36px; height: 36px; border-radius: 50%;
    display: grid; place-items: center;
    font-weight: 700; font-size: 11.5px; letter-spacing: .04em;
    color: white;
  }
  .av.av1 { background: linear-gradient(135deg,#8b5cf6,#6366f1); }
  .av.av2 { background: linear-gradient(135deg,#ec4899,#db2777); }
  .av.av3 { background: linear-gradient(135deg,#f59e0b,#d97706); }
  .av.av4 { background: linear-gradient(135deg,#06b6d4,#0891b2); }
  .av.av5 { background: linear-gradient(135deg,#84cc16,#65a30d); }
  .channel .ch-name { font-weight: 600; font-size: 13.5px; }
  .channel .ch-handle { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
  .channel .num { text-align: left; }
  .channel .num .n { font-size: 13px; font-weight: 600; }
  .channel .num .l { font-size: 11px; color: var(--text-3); margin-top: 2px; }
  .channel .delta {
    font-size: 12px; color: var(--green-2);
    font-weight: 600;
    display: inline-flex; align-items: center; gap: 2px;
  }
  .channel .spark { width: 70px; height: 28px; }
  .channel .spark svg { width: 100%; height: 100%; }

  /* ---------- BOTTOM GRID ---------- */
  .bot-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr 1.15fr;
    gap: 14px;
  }

  /* Production Pipeline */
  .pipeline-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: start;
    margin: 8px 0 24px;
    position: relative;
  }
  .step {
    display: flex; flex-direction: column; align-items: center;
    gap: 10px;
    position: relative;
  }
  .step .circle {
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 2px solid var(--border-2);
    background: var(--panel-2);
    display: grid; place-items: center;
    color: var(--text-3);
    font-weight: 600; font-size: 14px;
    position: relative; z-index: 1;
  }
  .step.done .circle {
    background: rgba(34,197,94,.12);
    border-color: rgba(34,197,94,.5);
    color: var(--green-2);
  }
  .step.active .circle {
    background: rgba(59,130,246,.15);
    border-color: var(--brand);
    color: var(--brand-2);
    box-shadow: 0 0 0 4px rgba(59,130,246,.12);
  }
  .step .label {
    font-size: 12.5px;
    color: var(--text-2);
    font-weight: 500;
  }
  .step.active .label { color: var(--text); }
  .step.todo .label { color: var(--text-3); }
  /* connector lines */
  .pipeline-steps .step::before {
    content: ""; position: absolute;
    top: 21px; left: -50%; right: 50%;
    height: 2px; background: var(--border-2);
    z-index: 0;
  }
  .pipeline-steps .step:first-child::before { display: none; }
  .pipeline-steps .step.done::before,
  .pipeline-steps .step.active::before {
    background: rgba(34,197,94,.5);
  }

  .pipeline-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-top: 6px;
  }
  .pmetric { text-align: center; }
  .pmetric .n { font-size: 26px; font-weight: 700; letter-spacing: -.02em; line-height: 1; }
  .pmetric .l { font-size: 11.5px; color: var(--text-3); margin-top: 6px; }

  .pbar {
    display: flex; gap: 4px;
    margin: 18px 0 10px;
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
  }
  .pbar > span { height: 100%; border-radius: 3px; }
  .pbar .s1 { background: var(--green);  flex: 13; }
  .pbar .s2 { background: var(--brand);  flex: 48; }
  .pbar .s3 { background: var(--orange); flex: 27; }
  .pbar .s4 { background: var(--red);    flex: 2;  }
  .pbar .s5 { background: var(--border-2); flex: 10; }
  .pbar-foot {
    font-size: 12px;
    color: var(--text-3);
  }

  /* System Health */
  .sh-row {
    display: grid;
    grid-template-columns: 22px 1fr auto auto;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-top: 1px solid var(--border);
  }
  .sh-row:first-of-type { border-top: none; }
  .sh-row .ic { color: var(--green-2); display: grid; place-items: center; }
  .sh-row .ic svg { width: 18px; height: 18px; }
  .sh-row .name { font-size: 13.5px; font-weight: 500; }
  .sh-row .val { font-size: 12.5px; color: var(--text-2); display: flex; gap: 14px; align-items: center; font-variant-numeric: tabular-nums; }
  .sh-row .val .pct { color: var(--text-3); }
  .sh-row .ok {
    color: var(--green-2);
    font-size: 12.5px;
    font-weight: 600;
  }

  .sh-foot {
    margin-top: 16px;
    padding: 14px;
    border-radius: 10px;
    background: rgba(34,197,94,.08);
    border: 1px solid rgba(34,197,94,.18);
    display: flex; align-items: center; gap: 10px;
    color: var(--green-2);
    font-size: 13px;
    font-weight: 500;
  }
  .sh-foot svg { width: 18px; height: 18px; }

  /* Reports & Sync */
  .reports-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 20px;
    align-items: start;
  }
  .reports-grid h3 {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--text-2);
    font-weight: 500;
  }
  .today {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1;
  }
  .today-label { font-size: 12px; color: var(--text-3); margin-top: 4px; }
  .today-delta {
    font-size: 12.5px; color: var(--green-2);
    margin-top: 8px;
    font-weight: 500;
  }
  .bars {
    display: flex; align-items: flex-end; gap: 3px;
    height: 80px;
    margin-top: 18px;
  }
  .bars > span {
    flex: 1;
    background: var(--brand);
    border-radius: 2px;
    opacity: .85;
  }
  .bars-axis {
    display: flex; justify-content: space-between;
    margin-top: 6px;
    font-size: 10.5px; color: var(--text-3);
    font-family: 'JetBrains Mono', monospace;
  }

  .donut-wrap {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 18px;
    align-items: center;
  }
  .donut {
    width: 130px; height: 130px;
    position: relative;
  }
  .donut svg { width: 100%; height: 100%; transform: rotate(-90deg); }
  .donut .total {
    position: absolute; inset: 0;
    display: grid; place-items: center;
    text-align: center;
  }
  .donut .total .n { font-size: 26px; font-weight: 700; letter-spacing: -.02em; }
  .donut .total .l { font-size: 11px; color: var(--text-3); margin-top: 2px; }

  .legend { display: flex; flex-direction: column; gap: 10px; }
  .legend .lr {
    display: grid;
    grid-template-columns: 14px 1fr auto;
    gap: 10px;
    align-items: center;
    font-size: 13px;
  }
  .legend .sw { width: 10px; height: 10px; border-radius: 50%; }
  .legend .val { color: var(--text-2); font-variant-numeric: tabular-nums; }

  .sync-foot {
    margin-top: 18px;
    display: flex; justify-content: space-between;
    font-size: 12.5px;
    color: var(--text-3);
  }
  .sync-foot .next { color: var(--brand-2); font-weight: 500; }
/* ---------- web-app shell overrides (no fixed mac window) ---------- */
html, body { height: 100%; }
.app { min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; }
a { color: inherit; }
.nav a.active svg { color: var(--brand-2); }

/* brand mark = our solid white hexagon (no colored container) */
.brand-logo{background:none!important;box-shadow:none!important;width:28px;height:28px}
.brand-logo svg{width:26px;height:26px}

/* ===== page: Tools ===== */
.page-tools .nav a {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 12px; border-radius: 10px;
    color: var(--text-2); text-decoration: none;
    font-size: 14px; font-weight: 500;
    transition: background .15s, color .15s;
    position: relative;
  }
.page-tools .nav .pill {
    margin-left: auto;
    min-width: 20px; height: 18px; padding: 0 6px;
    border-radius: 9px;
    background: var(--red); color: white;
    font-size: 11px; font-weight: 700;
    display: grid; place-items: center;
  }
.page-tools .page-head {
    display: grid;
    grid-template-columns: minmax(300px, auto) 1fr auto;
    gap: 24px;
    align-items: center;
  }
.page-tools .search {
    position: relative;
    max-width: 380px;
    justify-self: end;
  }
.page-tools .search input {
    width: 380px;
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--text);
    border-radius: 10px;
    padding: 10px 56px 10px 36px;
    font-size: 13.5px;
    font-family: inherit;
    outline: none;
  }
.page-tools .search input::placeholder { color: var(--text-3); }
.page-tools .search .sicon {
    position: absolute; left: 12px; top: 50%;
    transform: translateY(-50%);
    color: var(--text-3);
  }
.page-tools .search .kbd {
    position: absolute; right: 10px; top: 50%;
    transform: translateY(-50%);
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-3);
    font-size: 11px; padding: 2px 6px; border-radius: 5px;
    font-family: 'JetBrains Mono', monospace;
  }
.page-tools .head-right {
    display: flex; align-items: center; gap: 18px;
  }
.page-tools .clock {
    color: var(--text-3);
    font-size: 13px;
    display: flex; align-items: center; gap: 10px;
  }
.page-tools .stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr) auto;
    gap: 14px;
    align-items: stretch;
  }
.page-tools .stat-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 18px 6px;
    position: relative;
    overflow: hidden;
    min-height: 124px;
    display: flex; flex-direction: column;
  }
.page-tools .stat-card .icon {
    width: 38px; height: 38px; border-radius: 9px;
    display: grid; place-items: center; flex-shrink: 0;
  }
.page-tools .stat-card .icon svg { width: 20px; height: 20px; }
.page-tools .stat-card .value {
    font-size: 28px; font-weight: 700;
    letter-spacing: -.02em; margin-top: 6px; line-height: 1.1;
  }
.page-tools .stat-card .spark {
    margin-top: auto;
    margin-left: -18px; margin-right: -18px; margin-bottom: -6px;
    height: 38px;
  }
.page-tools .ic-yellow { background: rgba(234,179,8,.14);   color: #facc15; }
.page-tools .filters-block {
    display: flex; flex-direction: column; gap: 10px;
    justify-content: center;
    padding-left: 6px;
  }
.page-tools .btn {
    display: inline-flex; align-items: center; justify-content: space-between;
    gap: 10px;
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--text);
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    min-width: 170px;
  }
.page-tools .btn svg { width: 14px; height: 14px; color: var(--text-3); }
.page-tools .btn .left { display: inline-flex; align-items: center; gap: 8px; }
.page-tools .main-grid {
    display: grid;
    grid-template-columns: 1.05fr 1.55fr;
    gap: 14px;
    align-items: start;
  }
.page-tools .link-btn svg { width: 11px; height: 11px; }
.page-tools .tools-table {
    margin: 0 -8px;
  }
.page-tools .th-row {
    display: grid;
    grid-template-columns: 28px minmax(160px, 1.6fr) 80px 60px 70px 80px 70px;
    gap: 10px;
    padding: 0 8px 12px;
    border-bottom: 1px solid var(--border);
    font-size: 11px;
    color: var(--text-3);
    font-weight: 600;
    text-transform: capitalize;
    letter-spacing: .01em;
  }
.page-tools .th-row .th-i { color: var(--text-4); }
.page-tools .tools-rows { display: flex; flex-direction: column; }
.page-tools .trow {
    display: grid;
    grid-template-columns: 28px minmax(160px, 1.6fr) 80px 60px 70px 80px 70px;
    gap: 10px;
    align-items: center;
    padding: 12px 8px;
    border-radius: 10px;
    border: 1px solid transparent;
    position: relative;
  }
.page-tools .trow .idx { color: var(--text-3); font-size: 13px; }
.page-tools .trow.selected {
    background: rgba(59,130,246,.07);
    border-color: rgba(59,130,246,.55);
  }
.page-tools .trow + .trow { margin-top: 2px; }
.page-tools .tool-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.page-tools .tool-cell .ti {
    width: 32px; height: 32px; border-radius: 8px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    display: grid; place-items: center;
    color: var(--text-2);
    flex-shrink: 0;
  }
.page-tools .tool-cell .ti svg { width: 16px; height: 16px; }
.page-tools .tool-cell .tn { font-size: 13.5px; font-weight: 600; line-height: 1.2; }
.page-tools .tool-cell .tid { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-3); margin-top: 2px; }
.page-tools .stcell { display: flex; align-items: center; gap: 8px; font-size: 12.5px; }
.page-tools .stcell .dot { width: 8px; height: 8px; border-radius: 50%; }
.page-tools .stcell.online { color: var(--text); }
.page-tools .stcell.online .dot { background: var(--green); box-shadow: 0 0 8px rgba(34,197,94,.6); }
.page-tools .stcell.offline { color: var(--text-2); }
.page-tools .stcell.offline .dot { background: var(--red); box-shadow: 0 0 8px rgba(239,68,68,.6); }
.page-tools .stcell.stale { color: var(--text); }
.page-tools .stcell.stale .dot { background: var(--yellow); box-shadow: 0 0 8px rgba(234,179,8,.6); }
.page-tools .numcell { font-size: 13.5px; color: var(--text); font-variant-numeric: tabular-nums; }
.page-tools .timecell { font-size: 12.5px; color: var(--text-2); font-variant-numeric: tabular-nums; }
.page-tools .badge-health {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px; font-weight: 600;
  }
.page-tools .bh-healthy { background: rgba(34,197,94,.12);  color: var(--green-2); border: 1px solid rgba(34,197,94,.25); }
.page-tools .bh-offline { background: rgba(239,68,68,.12);  color: #fca5a5;        border: 1px solid rgba(239,68,68,.25); }
.page-tools .bh-stale { background: rgba(234,179,8,.12);  color: #facc15;        border: 1px solid rgba(234,179,8,.25); }
.page-tools .table-foot {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
    color: var(--text-3);
    font-size: 12.5px;
  }
.page-tools .detail-head {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 16px;
  }
.page-tools .detail-head .left {
    display: flex; gap: 14px;
  }
.page-tools .apple-tile {
    width: 52px; height: 52px;
    border-radius: 12px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    display: grid; place-items: center;
    color: var(--text);
  }
.page-tools .apple-tile svg { width: 24px; height: 24px; }
.page-tools .detail-head h2 {
    margin: 0;
    font-size: 22px; font-weight: 700;
    letter-spacing: -.01em;
  }
.page-tools .device-id {
    display: flex; align-items: center; gap: 6px;
    margin-top: 4px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px; color: var(--text-3);
  }
.page-tools .device-id .copy {
    cursor: pointer; color: var(--text-3);
    display: inline-flex;
  }
.page-tools .detail-head .right {
    text-align: right;
  }
.page-tools .online-row {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--text);
  }
.page-tools .online-row .dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 10px rgba(34,197,94,.6);
  }
.page-tools .last-report {
    color: var(--text-3); font-size: 12px; margin-top: 4px;
  }
.page-tools .pri-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--brand);
    color: white;
    border: none;
    border-radius: 10px;
    padding: 9px 16px;
    font-size: 13.5px; font-weight: 600;
    margin-top: 10px;
    cursor: pointer;
    font-family: inherit;
  }
.page-tools .pri-btn:hover { background: #2563eb; }
.page-tools .specs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin: 20px 0 4px;
    padding: 14px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }
.page-tools .spec .l {
    font-size: 11px;
    color: var(--text-3);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 500;
  }
.page-tools .spec .v {
    font-size: 15px; font-weight: 600;
    margin-top: 4px;
    letter-spacing: -.01em;
  }
.page-tools .detail-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.4fr;
    gap: 20px;
    margin-top: 18px;
  }
.page-tools .section-title {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 10px;
  }
.page-tools .section-title .t {
    font-size: 13px;
    color: var(--text-2);
    font-weight: 500;
  }
.page-tools .section-title .t::before {
    content: ""; display: inline-block;
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--brand);
    margin-right: 8px;
    vertical-align: middle;
  }
.page-tools .section-title .t.count::before { display: none; }
.page-tools .section-title .view-all {
    color: var(--brand-2);
    font-size: 12.5px;
    text-decoration: none;
    display: inline-flex; align-items: center; gap: 4px;
  }
.page-tools .channel-row {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 10px;
    align-items: center;
    padding: 8px 0;
  }
.page-tools .ch-av {
    width: 36px; height: 36px;
    border-radius: 50%;
    color: white; font-weight: 700; font-size: 11.5px;
    display: grid; place-items: center;
    letter-spacing: .04em;
  }
.page-tools .ch-av.lu { background: linear-gradient(135deg,#8b5cf6,#6366f1); }
.page-tools .ch-av.pl { background: linear-gradient(135deg,#ec4899,#db2777); }
.page-tools .ch-av.tba { background: linear-gradient(135deg,#f59e0b,#d97706); }
.page-tools .channel-row .nm { font-size: 13.5px; font-weight: 600; }
.page-tools .channel-row .hd { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
.page-tools .live-badge {
    background: rgba(34,197,94,.12);
    color: var(--green-2);
    border: 1px solid rgba(34,197,94,.3);
    border-radius: 999px;
    padding: 2px 10px;
    font-size: 11px; font-weight: 600;
    display: inline-flex; align-items: center; gap: 6px;
  }
.page-tools .live-badge::before {
    content: ""; width: 6px; height: 6px; border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 8px rgba(34,197,94,.7);
  }
.page-tools .process-card {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    border-radius: 12px;
    padding: 16px;
  }
.page-tools .process-card .ptitle {
    font-size: 15px; font-weight: 700;
    letter-spacing: -.01em;
  }
.page-tools .process-card .psub {
    color: var(--text-3); font-size: 12.5px; margin-top: 2px;
  }
.page-tools .progress-row {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 16px;
  }
.page-tools .progress-row .l { font-size: 13px; font-weight: 600; }
.page-tools .progress-row .pct { font-size: 18px; font-weight: 700; }
.page-tools .progress-sub { font-size: 11.5px; color: var(--text-3); margin-top: 4px; }
.page-tools .progress-bar {
    margin-top: 10px;
    height: 6px;
    background: var(--border-2);
    border-radius: 3px;
    overflow: hidden;
    position: relative;
  }
.page-tools .progress-bar .fill {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #60a5fa);
    border-radius: 3px;
    width: 62%;
    position: relative;
  }
.page-tools .progress-bar .fill::after {
    content: "";
    position: absolute;
    right: -4px; top: 50%; transform: translateY(-50%);
    width: 10px; height: 10px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 0 0 3px rgba(59,130,246,.3);
  }
.page-tools .pstats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-top: 16px;
  }
.page-tools .pstat .l {
    font-size: 11px;
    color: var(--text-3);
    text-transform: capitalize;
  }
.page-tools .pstat .v {
    font-size: 14px; font-weight: 600;
    margin-top: 4px;
    font-variant-numeric: tabular-nums;
  }
.page-tools .bot-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
  }
.page-tools .q-row {
    display: grid;
    grid-template-columns: 18px minmax(60px, auto) 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid var(--border);
  }
.page-tools .q-row:first-of-type { border-top: none; padding-top: 8px; }
.page-tools .q-row .qi { color: var(--text-3); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.page-tools .q-row .qid {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    color: var(--text-2);
  }
.page-tools .q-row .qt {
    font-size: 13px; color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
.page-tools .qbadge {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-3);
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 500;
  }
.page-tools .q-more {
    margin-top: 8px;
    color: var(--brand-2);
    font-size: 12.5px;
    font-weight: 500;
  }
.page-tools .ct-row {
    display: grid;
    grid-template-columns: 22px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid var(--border);
  }
.page-tools .ct-row:first-of-type { border-top: none; padding-top: 8px; }
.page-tools .ct-row .ic { color: var(--green-2); display: grid; place-items: center; }
.page-tools .ct-row .ic svg { width: 18px; height: 18px; }
.page-tools .ct-row .nm { font-size: 13.5px; }
.page-tools .ct-row .ct { font-size: 14px; font-weight: 700; }
.page-tools .ct-foot {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
    font-size: 12.5px;
    color: var(--text-3);
  }
.page-tools .sh-row {
    display: grid;
    grid-template-columns: 22px 1fr auto auto;
    align-items: center;
    gap: 14px;
    padding: 10px 0;
    border-top: 1px solid var(--border);
  }
.page-tools .sh-row:first-of-type { border-top: none; padding-top: 8px; }
.page-tools .sh-row .val { font-size: 12.5px; color: var(--text-2); display: flex; gap: 10px; align-items: center; font-variant-numeric: tabular-nums; }
.page-tools .sh-row .ok-icon {
    width: 18px; height: 18px;
    color: var(--green-2);
    display: grid; place-items: center;
  }
.page-tools .sh-foot {
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
    display: flex; align-items: center; gap: 10px;
    color: var(--green-2);
    font-size: 13px;
    font-weight: 500;
  }
.page-tools .events-bar {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 20px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: center;
  }
.page-tools .events-bar .ttl { font-size: 16px; font-weight: 600; }
.page-tools .events-strip {
    display: flex;
    gap: 28px;
    align-items: center;
    overflow: hidden;
  }
.page-tools .ev {
    display: flex; align-items: center; gap: 10px;
    min-width: 0;
  }
.page-tools .ev .tm {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    color: var(--text-3);
  }
.page-tools .ev .dt {
    width: 8px; height: 8px; border-radius: 50%;
  }
.page-tools .ev .dt.green { background: var(--green); }
.page-tools .ev .dt.cyan { background: var(--cyan); }
.page-tools .ev .dt.yellow { background: var(--yellow); }
.page-tools .ev .dt.blue { background: var(--brand); }
.page-tools .ev .et { font-size: 13px; font-weight: 500; }
.page-tools .ev .es { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }

/* ===== page: channels ===== */
.page-channels .nav a {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 12px; border-radius: 10px;
    color: var(--text-2); text-decoration: none;
    font-size: 14px; font-weight: 500;
  }
.page-channels .nav .pill {
    margin-left: auto;
    min-width: 20px; height: 18px; padding: 0 6px;
    border-radius: 9px;
    background: var(--red); color: white;
    font-size: 11px; font-weight: 700;
    display: grid; place-items: center;
  }
.page-channels main {
    padding: 26px 30px 30px;
    display: flex; flex-direction: column; gap: 16px;
    background: var(--bg);
  }
.page-channels .page-head {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 24px;
    align-items: center;
  }
.page-channels .sync-banner {
    display: flex; align-items: center; gap: 12px;
    padding-right: 18px;
  }
.page-channels .sync-banner .ic {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(34,197,94,.12);
    color: var(--green-2);
    display: grid; place-items: center;
    flex-shrink: 0;
  }
.page-channels .sync-banner .ic svg { width: 18px; height: 18px; }
.page-channels .sync-banner .tt { font-size: 13.5px; font-weight: 600; }
.page-channels .sync-banner .sb { font-size: 12px; color: var(--text-3); margin-top: 2px; }
.page-channels .head-right {
    display: flex; align-items: center; gap: 18px;
  }
.page-channels .clock {
    color: var(--text-3);
    font-size: 13px;
    display: flex; align-items: center; gap: 10px;
  }
.page-channels .stats {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
  }
.page-channels .stat-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 18px 6px;
    overflow: hidden;
    min-height: 138px;
    display: flex; flex-direction: column;
  }
.page-channels .stat-card .head { display: flex; align-items: center; gap: 12px; }
.page-channels .stat-card .icon {
    width: 36px; height: 36px; border-radius: 9px;
    display: grid; place-items: center; flex-shrink: 0;
  }
.page-channels .stat-card .icon svg { width: 19px; height: 19px; }
.page-channels .stat-card .value {
    font-size: 28px; font-weight: 700;
    letter-spacing: -.02em; margin-top: 6px; line-height: 1.1;
  }
.page-channels .stat-card .sub { font-size: 12px; color: var(--text-3); margin-top: 4px; }
.page-channels .stat-card .delta {
    font-size: 12px; color: var(--green-2);
    margin-top: 4px;
    font-weight: 500;
  }
.page-channels .stat-card .spark {
    margin-top: auto;
    margin-left: -18px; margin-right: -18px; margin-bottom: -6px;
    height: 38px;
  }
.page-channels .ic-teal { background: rgba(20,184,166,.14);  color: #2dd4bf; }
.page-channels .ic-pink { background: rgba(236,72,153,.14);  color: #f472b6; }
.page-channels .main-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 14px;
    align-items: start;
  }
.page-channels .panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 18px 18px;
    display: flex; flex-direction: column;
  }
.page-channels .panel-head h2 {
    margin: 0;
    font-size: 15px; font-weight: 600;
    letter-spacing: -.005em;
  }
.page-channels .link-btn {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-2);
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 12.5px;
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 6px;
    font-family: inherit;
  }
.page-channels .link-btn svg { width: 11px; height: 11px; }
.page-channels .filters {
    display: grid;
    grid-template-columns: 1fr 160px 150px 150px auto auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 14px;
  }
.page-channels .search {
    position: relative;
  }
.page-channels .search input {
    width: 100%;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text);
    border-radius: 10px;
    padding: 9px 14px 9px 36px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
  }
.page-channels .search input::placeholder { color: var(--text-3); }
.page-channels .search .sicon {
    position: absolute; left: 12px; top: 50%;
    transform: translateY(-50%);
    color: var(--text-3);
    display: grid; place-items: center;
  }
.page-channels .select {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text);
    border-radius: 10px;
    padding: 9px 12px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px;
    font-family: inherit;
  }
.page-channels .select svg { width: 14px; height: 14px; color: var(--text-3); }
.page-channels .sync-btn {
    background: rgba(59,130,246,.12);
    border: 1px solid rgba(59,130,246,.5);
    color: var(--brand-2);
    border-radius: 10px;
    padding: 9px 14px;
    font-size: 13px; font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex; align-items: center; gap: 8px;
  }
.page-channels .sync-btn svg { width: 13px; height: 13px; }
.page-channels .filter-icon-btn {
    width: 40px; height: 40px;
    border-radius: 10px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-2);
    display: grid; place-items: center;
    cursor: pointer;
  }
.page-channels .filter-icon-btn svg { width: 16px; height: 16px; }
.page-channels .ch-table {
    display: flex; flex-direction: column;
  }
.page-channels .th-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.3fr) minmax(120px, 1fr) repeat(5, 80px) 110px 90px 90px 36px;
    gap: 10px;
    padding: 0 8px 12px;
    border-bottom: 1px solid var(--border);
    font-size: 11px;
    color: var(--text-3);
    font-weight: 500;
  }
.page-channels .trow {
    display: grid;
    grid-template-columns: minmax(170px, 1.3fr) minmax(120px, 1fr) repeat(5, 80px) 110px 90px 90px 36px;
    gap: 10px;
    padding: 14px 8px;
    align-items: center;
    border-bottom: 1px solid var(--border);
  }
.page-channels .trow:last-child { border-bottom: none; }
.page-channels .chan-cell { display: flex; align-items: center; gap: 12px; min-width: 0; }
.page-channels .chan-av {
    width: 36px; height: 36px;
    border-radius: 50%;
    color: white; font-weight: 700; font-size: 11.5px;
    display: grid; place-items: center;
    letter-spacing: .04em;
    flex-shrink: 0;
  }
.page-channels .av-lu { background: linear-gradient(135deg,#8b5cf6,#6366f1); }
.page-channels .av-pl { background: linear-gradient(135deg,#ec4899,#db2777); }
.page-channels .av-tba { background: linear-gradient(135deg,#f59e0b,#d97706); }
.page-channels .av-soe { background: linear-gradient(135deg,#06b6d4,#0891b2); }
.page-channels .av-hc { background: linear-gradient(135deg,#84cc16,#65a30d); }
.page-channels .av-nww { background: linear-gradient(135deg,#10b981,#059669); }
.page-channels .av-de { background: linear-gradient(135deg,#475569,#334155); }
.page-channels .av-ml { background: linear-gradient(135deg,#a855f7,#7c3aed); }
.page-channels .chan-cell .nm { font-size: 13.5px; font-weight: 600; }
.page-channels .chan-cell .hd { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
.page-channels .tool-cell { font-size: 13px; }
.page-channels .tool-cell .nm { display: flex; align-items: center; gap: 6px; color: var(--text); }
.page-channels .tool-cell .nm .dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--green); box-shadow: 0 0 6px rgba(34,197,94,.6);
  }
.page-channels .tool-cell .sb { font-size: 11.5px; color: var(--text-3); margin-top: 2px; display: flex; align-items: center; gap: 6px; }
.page-channels .tool-cell .sb .dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--green);
  }
.page-channels .tool-cell .sb.idle .dot { background: var(--yellow); box-shadow: 0 0 6px rgba(234,179,8,.6); }
.page-channels .metric .n { font-size: 13.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.page-channels .metric .d {
    font-size: 11.5px; margin-top: 2px;
    color: var(--green-2);
    font-weight: 500;
  }
.page-channels .metric.muted-up .n { color: var(--text); }
.page-channels .est .n { font-size: 13.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.page-channels .est .d { font-size: 11.5px; color: var(--green-2); margin-top: 2px; font-weight: 500; }
.page-channels .pub .when { font-size: 13px; color: var(--text); }
.page-channels .pub .date { font-size: 11.5px; color: var(--text-3); margin-top: 2px; font-variant-numeric: tabular-nums; }
.page-channels .sync { font-size: 12.5px; }
.page-channels .sync.green { color: var(--green-2); }
.page-channels .sync.yellow { color: var(--yellow); }
.page-channels .sync.orange { color: var(--orange); }
.page-channels .badge-pill {
    display: inline-flex; align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px; font-weight: 600;
  }
.page-channels .bp-healthy { background: rgba(34,197,94,.12);  color: var(--green-2); border: 1px solid rgba(34,197,94,.25); }
.page-channels .bp-stale { background: rgba(234,179,8,.12);  color: #facc15;        border: 1px solid rgba(234,179,8,.25); }
.page-channels .bp-error { background: rgba(239,68,68,.12);  color: #fca5a5;        border: 1px solid rgba(239,68,68,.25); }
.page-channels .menu-btn {
    width: 28px; height: 28px;
    display: grid; place-items: center;
    border-radius: 7px;
    color: var(--text-3);
    cursor: pointer;
  }
.page-channels .menu-btn:hover { background: var(--panel-hover); color: var(--text); }
.page-channels .tfoot {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 14px;
  }
.page-channels .tfoot .ct { color: var(--text-3); font-size: 13px; }
.page-channels .pager { display: flex; gap: 6px; }
.page-channels .pgbtn {
    width: 32px; height: 32px;
    border-radius: 8px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-2);
    cursor: pointer;
    display: grid; place-items: center;
    font-size: 13px; font-weight: 500;
    font-family: inherit;
  }
.page-channels .pgbtn.active {
    background: rgba(59,130,246,.12);
    border-color: rgba(59,130,246,.5);
    color: var(--brand-2);
  }
.page-channels .pgbtn svg { width: 13px; height: 13px; }
.page-channels .right-col { display: flex; flex-direction: column; gap: 14px; }
.page-channels .top-row {
    display: grid;
    grid-template-columns: 18px 28px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 9px 0;
  }
.page-channels .top-row .idx { color: var(--text-3); font-size: 12.5px; }
.page-channels .top-row .av {
    width: 22px; height: 22px; border-radius: 50%;
    display: grid; place-items: center;
    color: white; font-weight: 700; font-size: 9px;
    letter-spacing: .04em;
  }
.page-channels .top-row .nm { font-size: 13px; font-weight: 500; }
.page-channels .top-row .v { font-size: 12.5px; color: var(--text-2); font-variant-numeric: tabular-nums; font-weight: 500; }
.page-channels .top-bar {
    grid-column: 3 / 4;
    height: 4px;
    background: var(--border-2);
    border-radius: 2px;
    margin-top: 6px;
    position: relative;
    overflow: hidden;
  }
.page-channels .top-bar .f { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 2px; }
.page-channels .pub-row {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 10px;
    align-items: center;
    padding: 9px 0;
  }
.page-channels .thumb {
    width: 56px; height: 36px;
    border-radius: 6px;
    background: var(--panel-3);
    position: relative;
    overflow: hidden;
  }
.page-channels .thumb::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(135deg, var(--ta, #312e81), var(--tb, #1e1b4b));
  }
.page-channels .thumb.t1 { --ta: #4338ca; --tb: #1e1b4b; }
.page-channels .thumb.t2 { --ta: #b45309; --tb: #78350f; }
.page-channels .thumb.t3 { --ta: #075985; --tb: #0c4a6e; }
.page-channels .thumb.t4 { --ta: #b91c1c; --tb: #7f1d1d; }
.page-channels .thumb.t5 { --ta: #134e4a; --tb: #042f2e; }
.page-channels .pub-row .ti { font-size: 12.5px; font-weight: 500; line-height: 1.3; }
.page-channels .pub-row .sb { font-size: 11px; color: var(--text-3); margin-top: 3px; display: flex; gap: 6px; }
.page-channels .pub-row .sb .ch { color: var(--text-2); }
.page-channels .sync-health-wrap {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 16px;
    align-items: center;
    margin-top: 4px;
  }
.page-channels .sh-legend { display: flex; flex-direction: column; gap: 10px; }
.page-channels .sh-legend .lr {
    display: grid;
    grid-template-columns: 14px 1fr auto;
    gap: 10px;
    align-items: center;
    font-size: 13px;
  }
.page-channels .sh-legend .sw { width: 10px; height: 10px; border-radius: 50%; }
.page-channels .sh-legend .val { color: var(--text-2); font-variant-numeric: tabular-nums; }

/* ===== page: projects ===== */
.page-projects .nav a {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 12px; border-radius: 10px;
    color: var(--text-2); text-decoration: none;
    font-size: 14px; font-weight: 500;
  }
.page-projects .nav .pill {
    margin-left: auto;
    min-width: 20px; height: 18px; padding: 0 6px;
    border-radius: 9px;
    background: var(--red); color: white;
    font-size: 11px; font-weight: 700;
    display: grid; place-items: center;
  }
.page-projects main {
    padding: 26px 30px 30px;
    display: flex; flex-direction: column; gap: 16px;
    background: var(--bg);
  }
.page-projects .page-head {
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px;
  }
.page-projects .head-right { display: flex; align-items: center; gap: 18px; }
.page-projects .clock { color: var(--text-3); font-size: 13px; display: flex; align-items: center; gap: 10px; }
.page-projects .stats {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
  }
.page-projects .stat-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 18px 6px;
    overflow: hidden;
    min-height: 138px;
    display: flex; flex-direction: column;
  }
.page-projects .stat-card .head { display: flex; align-items: center; gap: 12px; }
.page-projects .stat-card .icon {
    width: 36px; height: 36px; border-radius: 9px;
    display: grid; place-items: center; flex-shrink: 0;
  }
.page-projects .stat-card .icon svg { width: 19px; height: 19px; }
.page-projects .stat-card .value {
    font-size: 28px; font-weight: 700;
    letter-spacing: -.02em; margin-top: 6px; line-height: 1.1;
  }
.page-projects .stat-card .sub { font-size: 12px; color: var(--text-3); margin-top: 4px; }
.page-projects .stat-card .delta {
    font-size: 12px;
    margin-top: 4px;
    font-weight: 500;
  }
.page-projects .stat-card .delta.green { color: var(--green-2); }
.page-projects .stat-card .delta.green::before { content: "+"; }
.page-projects .stat-card .delta.red { color: #f87171; }
.page-projects .stat-card .spark {
    margin-top: auto;
    margin-left: -18px; margin-right: -18px; margin-bottom: -6px;
    height: 36px;
  }
.page-projects .panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 20px;
    display: flex; flex-direction: column;
  }
.page-projects .link-btn svg { width: 11px; height: 11px; }
.page-projects .pipeline-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 8px;
    margin-top: 4px;
  }
.page-projects .pstage {
    display: flex; flex-direction: column; gap: 8px;
  }
.page-projects .pstage .head-row {
    display: flex; align-items: center; gap: 8px;
  }
.page-projects .pstage .ic {
    width: 18px; height: 18px;
    border-radius: 50%;
    display: grid; place-items: center;
  }
.page-projects .pstage .ic svg { width: 12px; height: 12px; }
.page-projects .pstage .nm { font-size: 13px; font-weight: 600; }
.page-projects .pstage .ct { font-size: 11.5px; color: var(--text-3); margin-left: 26px; }
.page-projects .pstage .bar {
    height: 4px;
    border-radius: 2px;
    margin-top: 4px;
  }
.page-projects .ic-pp-green { background: rgba(34,197,94,.18);  color: var(--green-2); }
.page-projects .ic-pp-emerald { background: rgba(16,185,129,.18); color: #34d399; }
.page-projects .ic-pp-blue { background: rgba(59,130,246,.18); color: var(--brand-2); }
.page-projects .ic-pp-purple { background: rgba(168,85,247,.18); color: var(--purple-2); }
.page-projects .ic-pp-orange { background: rgba(249,115,22,.18); color: var(--orange-2); }
.page-projects .ic-pp-green2 { background: rgba(34,197,94,.18);  color: var(--green-2); }
.page-projects .ic-pp-red { background: rgba(239,68,68,.18);  color: #f87171; }
.page-projects .ic-pp-slate { background: rgba(100,116,139,.18); color: #94a3b8; }
.page-projects .board-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 14px;
  }
.page-projects .board-head h2 {
    margin: 0;
    font-size: 16px; font-weight: 600;
  }
.page-projects .view-toggle {
    display: inline-flex; background: var(--panel-2);
    border: 1px solid var(--border-2);
    border-radius: 10px;
    padding: 3px;
  }
.page-projects .view-toggle button {
    background: none; border: none; color: var(--text-3);
    padding: 6px 12px; font-size: 12.5px; cursor: pointer;
    border-radius: 7px; font-family: inherit; font-weight: 500;
  }
.page-projects .view-toggle button.active {
    background: rgba(59,130,246,.18);
    color: var(--brand-2);
    box-shadow: 0 0 0 1px rgba(59,130,246,.3);
  }
.page-projects .filters-btn {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text);
    border-radius: 10px;
    padding: 8px 14px;
    font-size: 13px; font-weight: 500;
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px;
    font-family: inherit;
  }
.page-projects .filters-btn svg { width: 14px; height: 14px; color: var(--text-3); }
.page-projects .board-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
  }
.page-projects .column {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    border-radius: 12px;
    padding: 14px;
    display: flex; flex-direction: column;
    min-height: 320px;
  }
.page-projects .column .col-head {
    display: flex; align-items: center; gap: 8px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 12px;
  }
.page-projects .col-head .ch-dot { width: 8px; height: 8px; border-radius: 50%; }
.page-projects .col-head .ch-name {
    font-size: 13.5px; font-weight: 600;
  }
.page-projects .col-head .ch-count { font-size: 12px; color: var(--text-3); }
.page-projects .col-head .menu { margin-left: auto; color: var(--text-3); cursor: pointer; }
.page-projects .col-head .menu svg { width: 14px; height: 14px; }
.page-projects .pcard {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 12px 12px 10px;
    display: grid;
    grid-template-columns: 1fr 44px;
    gap: 10px;
    align-items: center;
  }
.page-projects .pcard + .pcard { margin-top: 8px; }
.page-projects .pcard .code { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-3); }
.page-projects .pcard .ttl { font-size: 13px; font-weight: 600; line-height: 1.3; margin-top: 4px; }
.page-projects .pcard .meta { font-size: 11px; color: var(--text-3); margin-top: 6px; line-height: 1.5; }
.page-projects .pcard .meta .ch { color: var(--text-2); display: block; }
.page-projects .pcard .gauge {
    width: 44px; height: 44px;
    position: relative;
  }
.page-projects .pcard .gauge svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.page-projects .pcard .gauge .pct {
    position: absolute; inset: 0;
    display: grid; place-items: center;
    font-size: 11px; font-weight: 700;
  }
.page-projects .col-foot {
    margin-top: auto;
    padding-top: 12px;
    color: var(--brand-2);
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
  }
.page-projects .col-foot:hover { text-decoration: underline; }
.page-projects .bot-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.95fr 0.85fr;
    gap: 12px;
    align-items: start;
  }
.page-projects .q-th {
    display: grid;
    grid-template-columns: 24px 70px minmax(0,1fr) minmax(100px,1fr) 110px 70px 70px;
    gap: 10px;
    padding: 0 4px 10px;
    font-size: 11.5px;
    color: var(--text-3);
    font-weight: 500;
    border-bottom: 1px solid var(--border);
  }
.page-projects .q-row {
    display: grid;
    grid-template-columns: 24px 70px minmax(0,1fr) minmax(100px,1fr) 110px 70px 70px;
    gap: 10px;
    padding: 11px 4px;
    align-items: center;
    font-size: 13px;
    border-bottom: 1px solid var(--border);
  }
.page-projects .q-row:last-of-type { border-bottom: none; }
.page-projects .q-row .ix { color: var(--text-3); }
.page-projects .q-row .code { font-family: 'JetBrains Mono', monospace; font-size: 12.5px; color: var(--text); }
.page-projects .q-row .ttl { color: var(--text); }
.page-projects .q-row .ch { color: var(--text-2); }
.page-projects .q-row .tool { color: var(--text-2); }
.page-projects .q-row .when { color: var(--text-3); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.page-projects .prio {
    display: inline-flex; align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px; font-weight: 600;
  }
.page-projects .prio-high { background: rgba(34,197,94,.14);  color: var(--green-2); border: 1px solid rgba(34,197,94,.3); }
.page-projects .prio-medium { background: rgba(234,179,8,.14);  color: #facc15;       border: 1px solid rgba(234,179,8,.3); }
.page-projects .prio-low { background: rgba(100,116,139,.16); color: #94a3b8;      border: 1px solid rgba(100,116,139,.3); }
.page-projects .more-q { margin-top: 14px; color: var(--brand-2); font-size: 13px; font-weight: 500; }
.page-projects .rc-row {
    display: grid;
    grid-template-columns: 22px 80px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
  }
.page-projects .rc-row:last-of-type { border-bottom: none; }
.page-projects .rc-row .ck { color: var(--green-2); display: grid; place-items: center; }
.page-projects .rc-row .ck svg { width: 20px; height: 20px; }
.page-projects .rc-row .code { font-family: 'JetBrains Mono', monospace; font-size: 12.5px; color: var(--text); }
.page-projects .rc-row .ttl { font-size: 13.5px; color: var(--text); font-weight: 500; }
.page-projects .rc-row .ch { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
.page-projects .rc-row .when { font-size: 12px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.page-projects .status-wrap {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 16px;
    align-items: center;
  }
.page-projects .donut .total .n { font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.page-projects .legend { display: flex; flex-direction: column; gap: 9px; }
.page-projects .legend .lr {
    display: grid;
    grid-template-columns: 14px 1fr auto;
    gap: 10px;
    align-items: center;
    font-size: 12.5px;
  }
.page-projects .na-row {
    display: grid;
    grid-template-columns: 28px 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
  }
.page-projects .na-row:last-of-type { border-bottom: none; }
.page-projects .na-row .ic {
    color: #f87171; display: grid; place-items: center;
    width: 28px; height: 28px; border-radius: 7px;
    background: rgba(239,68,68,.12);
  }
.page-projects .na-row .ic svg { width: 15px; height: 15px; }
.page-projects .na-row .code { font-family: 'JetBrains Mono', monospace; font-size: 12.5px; color: var(--text); }
.page-projects .na-row .ttl { font-size: 13px; color: var(--text); margin-left: 4px; }
.page-projects .na-row .sb { font-size: 11.5px; color: var(--text-3); margin-top: 3px; }
.page-projects .na-row .tool { font-size: 12px; color: var(--text-2); }
.page-projects .na-row .when { font-size: 12px; color: var(--text-3); font-variant-numeric: tabular-nums; }
.page-projects .bot-secondary {
    display: flex; flex-direction: column; gap: 12px;
  }

/* ===== page: events ===== */
.page-events .nav a {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 12px; border-radius: 10px;
    color: var(--text-2); text-decoration: none;
    font-size: 14px; font-weight: 500;
  }
.page-events .nav .pill {
    margin-left: auto;
    min-width: 20px; height: 18px; padding: 0 6px;
    border-radius: 9px;
    background: var(--red); color: white;
    font-size: 11px; font-weight: 700;
    display: grid; place-items: center;
  }
.page-events main {
    padding: 24px 30px 30px;
    display: flex; flex-direction: column; gap: 16px;
    background: var(--bg);
  }
.page-events .page-head {
    display: grid;
    grid-template-columns: 1fr auto auto auto auto;
    gap: 16px;
    align-items: center;
  }
.page-events .search {
    position: relative;
  }
.page-events .search input {
    width: 340px;
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--text);
    border-radius: 10px;
    padding: 10px 56px 10px 36px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
  }
.page-events .search input::placeholder { color: var(--text-3); }
.page-events .search .sicon {
    position: absolute; left: 12px; top: 50%;
    transform: translateY(-50%); color: var(--text-3);
  }
.page-events .search .kbd {
    position: absolute; right: 10px; top: 50%;
    transform: translateY(-50%);
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-3);
    font-size: 11px; padding: 2px 6px; border-radius: 5px;
    font-family: 'JetBrains Mono', monospace;
  }
.page-events .date-range {
    display: inline-flex; align-items: center; gap: 10px;
    background: var(--panel);
    border: 1px solid var(--border);
    color: var(--text);
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    cursor: pointer;
    font-family: 'JetBrains Mono', monospace;
  }
.page-events .date-range svg { width: 14px; height: 14px; color: var(--text-3); }
.page-events .stats {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
  }
.page-events .stat-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 18px 6px;
    overflow: hidden;
    min-height: 132px;
    display: flex; flex-direction: column;
  }
.page-events .stat-card .head { display: flex; align-items: center; gap: 12px; }
.page-events .stat-card .icon {
    width: 36px; height: 36px; border-radius: 9px;
    display: grid; place-items: center; flex-shrink: 0;
  }
.page-events .stat-card .icon svg { width: 19px; height: 19px; }
.page-events .stat-card .value {
    font-size: 28px; font-weight: 700;
    letter-spacing: -.02em; margin-top: 6px; line-height: 1.1;
  }
.page-events .stat-card .sub {
    font-size: 12px;
    margin-top: 4px;
    font-weight: 500;
  }
.page-events .stat-card.tone-blue .sub { color: var(--brand-2); }
.page-events .stat-card.tone-green .sub { color: var(--green-2); }
.page-events .stat-card.tone-yellow .sub { color: #facc15; }
.page-events .stat-card.tone-red .sub { color: #f87171; }
.page-events .stat-card.tone-purple .sub { color: #c084fc; }
.page-events .stat-card.tone-blue .sub.muted { color: var(--green-2); }
.page-events .stat-card .spark {
    margin-top: auto;
    margin-left: -18px; margin-right: -18px; margin-bottom: -6px;
    height: 38px;
  }
.page-events .ic-blue { background: rgba(59,130,246,.16);  color: #60a5fa; }
.page-events .ic-green { background: rgba(34,197,94,.16);   color: #4ade80; }
.page-events .ic-yellow { background: rgba(234,179,8,.16);   color: #facc15; }
.page-events .ic-red { background: rgba(239,68,68,.16);   color: #f87171; }
.page-events .ic-purple { background: rgba(168,85,247,.16);  color: #c084fc; }
.page-events .ic-cyan { background: rgba(6,182,212,.16);   color: #22d3ee; }
.page-events .main-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 14px;
    align-items: start;
  }
.page-events .panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 20px;
    display: flex; flex-direction: column;
  }
.page-events .link-btn svg { width: 11px; height: 11px; }
.page-events .reset-btn {
    background: none; border: none;
    color: var(--text-3);
    font-size: 12.5px;
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 6px;
    font-family: inherit;
  }
.page-events .reset-btn svg { width: 12px; height: 12px; }
.page-events .reset-btn:hover { color: var(--text); }
.page-events .events-toolbar {
    display: flex; align-items: center; gap: 10px;
  }
.page-events .export-btn {
    display: inline-flex; align-items: center; gap: 10px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text);
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 13px; font-weight: 500;
    cursor: pointer;
    font-family: inherit;
  }
.page-events .export-btn svg { width: 13px; height: 13px; color: var(--text-3); }
.page-events .view-toggle { display: inline-flex; gap: 4px; }
.page-events .view-toggle button {
    width: 34px; height: 32px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-3);
    border-radius: 8px;
    cursor: pointer;
    display: grid; place-items: center;
  }
.page-events .view-toggle button.active {
    background: rgba(59,130,246,.18);
    border-color: rgba(59,130,246,.45);
    color: var(--brand-2);
  }
.page-events .view-toggle button svg { width: 14px; height: 14px; }
.page-events .e-th {
    display: grid;
    grid-template-columns: 130px 90px minmax(160px, 1.3fr) minmax(180px, 1.5fr) minmax(170px, 1.2fr) minmax(140px, 1fr) 110px 28px;
    gap: 14px;
    padding: 0 8px 12px;
    border-bottom: 1px solid var(--border);
    font-size: 11.5px;
    color: var(--text-3);
    font-weight: 500;
  }
.page-events .e-th .with-arrow {
    display: inline-flex; align-items: center; gap: 4px;
    color: var(--text);
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    padding: 4px 10px;
    border-radius: 7px;
    font-size: 11.5px; font-weight: 500;
  }
.page-events .e-th .with-arrow svg { width: 12px; height: 12px; }
.page-events .e-row {
    display: grid;
    grid-template-columns: 130px 90px minmax(160px, 1.3fr) minmax(180px, 1.5fr) minmax(170px, 1.2fr) minmax(140px, 1fr) 110px 28px;
    gap: 14px;
    padding: 13px 8px;
    align-items: center;
    border-bottom: 1px solid var(--border);
  }
.page-events .e-row:last-of-type { border-bottom: none; }
.page-events .e-time { font-size: 12.5px; color: var(--text-2); font-family: 'JetBrains Mono', monospace; font-variant-numeric: tabular-nums; }
.page-events .sev {
    display: inline-flex; align-items: center;
    padding: 3px 10px;
    border-radius: 6px;
    font-size: 11px; font-weight: 700;
    letter-spacing: .02em;
  }
.page-events .sev-success { background: rgba(34,197,94,.14);  color: var(--green-2); border: 1px solid rgba(34,197,94,.3); }
.page-events .sev-info { background: rgba(59,130,246,.14); color: var(--brand-2); border: 1px solid rgba(59,130,246,.3); }
.page-events .sev-warning { background: rgba(234,179,8,.14);  color: #facc15;        border: 1px solid rgba(234,179,8,.3); }
.page-events .sev-error { background: rgba(239,68,68,.14);  color: #fca5a5;        border: 1px solid rgba(239,68,68,.3); }
.page-events .sev-critical { background: rgba(168,85,247,.14); color: #c084fc;        border: 1px solid rgba(168,85,247,.3); }
.page-events .ev-title { font-size: 13.5px; color: var(--text); font-weight: 500; }
.page-events .ev-proj { font-size: 13px; color: var(--text); }
.page-events .ev-proj .code { font-family: 'JetBrains Mono', monospace; color: var(--text); }
.page-events .ev-proj .ttl { color: var(--text-3); margin-left: 6px; }
.page-events .tool-cell {
    display: flex; align-items: center; gap: 10px;
    min-width: 0;
  }
.page-events .tool-cell .ti {
    width: 28px; height: 28px;
    border-radius: 7px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    display: grid; place-items: center;
    color: var(--text-2);
    flex-shrink: 0;
  }
.page-events .tool-cell .ti svg { width: 14px; height: 14px; }
.page-events .tool-cell .nm { font-size: 13px; color: var(--text); font-weight: 500; }
.page-events .tool-cell .ch { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
.page-events .type-cell { display: inline-flex; align-items: center; gap: 10px; }
.page-events .type-cell .ti {
    width: 24px; height: 24px;
    border-radius: 6px;
    display: grid; place-items: center;
    flex-shrink: 0;
  }
.page-events .type-cell .ti svg { width: 14px; height: 14px; }
.page-events .type-cell .lbl { font-size: 13px; color: var(--text); }
.page-events .user-cell { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text); }
.page-events .user-cell .uic {
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-3);
    display: grid; place-items: center;
    font-size: 9px; font-weight: 700;
    letter-spacing: .04em;
  }
.page-events .menu-btn {
    width: 28px; height: 28px;
    display: grid; place-items: center;
    border-radius: 7px;
    color: var(--text-3);
    cursor: pointer;
  }
.page-events .menu-btn:hover { background: var(--panel-hover); color: var(--text); }
.page-events .menu-btn svg { width: 14px; height: 14px; }
.page-events .tfoot {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 14px;
  }
.page-events .tfoot .ct { color: var(--text-3); font-size: 13px; }
.page-events .pager { display: flex; gap: 6px; }
.page-events .pgbtn {
    min-width: 34px; height: 34px; padding: 0 8px;
    border-radius: 8px;
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    color: var(--text-2);
    cursor: pointer;
    display: grid; place-items: center;
    font-size: 13px; font-weight: 500;
    font-family: inherit;
  }
.page-events .pgbtn.active {
    background: rgba(59,130,246,.14);
    border-color: rgba(59,130,246,.5);
    color: var(--brand-2);
  }
.page-events .pgbtn svg { width: 13px; height: 13px; }
.page-events .right-col { display: flex; flex-direction: column; gap: 14px; }
.page-events .filters .field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.page-events .filters .field:last-child { margin-bottom: 0; }
.page-events .filters .lbl {
    font-size: 11.5px;
    color: var(--text-2);
    font-weight: 500;
  }
.page-events .filters .input {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    border-radius: 9px;
    padding: 9px 12px;
    font-size: 13px;
    color: var(--text);
    width: 100%;
    font-family: inherit;
    outline: none;
  }
.page-events .filters .input::placeholder { color: var(--text-3); }
.page-events .filters .select {
    background: var(--panel-2);
    border: 1px solid var(--border-2);
    border-radius: 9px;
    padding: 9px 12px;
    font-size: 13px;
    color: var(--text);
    width: 100%;
    cursor: pointer;
    display: flex; align-items: center; justify-content: space-between;
    font-family: inherit;
  }
.page-events .filters .select svg { width: 13px; height: 13px; color: var(--text-3); }
.page-events .filter-pair {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    margin-bottom: 12px;
  }
.page-events .filter-pair .field { margin-bottom: 0; }
.page-events .qs-wrap {
    display: grid; grid-template-columns: 120px 1fr; gap: 14px;
    align-items: center;
  }
.page-events .donut {
    width: 120px; height: 120px;
    position: relative;
  }
.page-events .donut .total .n { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.page-events .qs-legend { display: flex; flex-direction: column; gap: 8px; }
.page-events .qs-legend .lr {
    display: grid; grid-template-columns: 12px 60px 1fr;
    gap: 8px;
    align-items: center;
    font-size: 12.5px;
  }
.page-events .qs-legend .sw { width: 9px; height: 9px; border-radius: 50%; }
.page-events .qs-legend .val { color: var(--text-2); font-variant-numeric: tabular-nums; text-align: right; }
.page-events .tet-row {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 9px 0;
  }
.page-events .tet-row + .tet-row { border-top: 1px solid var(--border); }
.page-events .tet-row .ic { display: grid; place-items: center; }
.page-events .tet-row .ic svg { width: 18px; height: 18px; }
.page-events .tet-row .nm { font-size: 13px; color: var(--text); font-weight: 500; }
.page-events .tet-row .ct { font-size: 13.5px; color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; }
/* events: 5-col table (we don't track project/user per event) */
.page-events .e-th, .page-events .e-row{grid-template-columns:160px 110px 2fr 1.3fr 1.2fr !important}
