/* Top Tier Analysis — campaign pace board. Builds on trygc-team-pulse.css (.tp-*). */

main[data-gc-top-tier] > :not(#gc-top-tier) { display: none !important; }

.tt {
  --tt-good: var(--tp-good);
  --tt-warn: var(--tp-warn);
  --tt-bad: var(--tp-bad);
  --tt-cov: var(--te-chart-2, var(--tp-brand));
  --tt-conf: var(--te-chart-1, var(--tp-fg));
}

/* Verdict chips and badges */
.tt-chip i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; vertical-align: 1px; background: var(--tp-muted-fg); }
.tt-chip.is-bad i { background: var(--tt-bad); }
.tt-chip.is-warn i { background: var(--tt-warn); }
.tt-chip.is-good i { background: var(--tt-good); }
.tt-verdict { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 500; white-space: nowrap; background: var(--tp-muted); color: var(--tp-muted-fg); }
.tt-verdict.is-bad { background: color-mix(in oklch, var(--tt-bad) 13%, transparent); color: var(--tt-bad); }
.tt-verdict.is-warn { background: color-mix(in oklch, var(--tt-warn) 16%, transparent); color: color-mix(in oklch, var(--tt-warn), var(--tp-fg) 30%); }
.tt-verdict.is-good { background: color-mix(in oklch, var(--tt-good) 13%, transparent); color: var(--tt-good); }
.tp-panel__head .tt-verdict { flex: none; }

/* Insight panels */
.tt-insights { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 16px; }
.tt-insights.is-two { grid-template-columns: 1fr 1fr; }
.tt-panel { padding: 14px 16px; }
.tt-panel header h3 { margin: 0; font-size: 15px; font-weight: 600; }
.tt-panel header p { margin: 2px 0 12px; font-size: 12px; color: var(--tp-muted-fg); }
.tt-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 10px 0 0; font-size: 11px; color: var(--tp-muted-fg); }
.tt-legend span { display: inline-flex; align-items: center; gap: 6px; }
.tt-key { display: inline-block; width: 12px; height: 8px; border-radius: 2px; }
.tt-key.is-have { background: var(--tp-fg); }
.tt-key.is-need { background: color-mix(in oklch, var(--tt-bad) 30%, transparent); box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--tt-bad) 60%, transparent); }
.tt-key.is-cov { background: var(--tt-cov); height: 3px; }
.tt-key.is-conf { background: var(--tt-conf); height: 2px; opacity: 0.55; }
.tt-key.is-needline { height: 0; border-top: 2px dashed var(--tt-good); }
.tt-key.is-projline { height: 0; border-top: 2px dashed var(--tt-bad); }

/* Pace bars */
.tt-bars { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.tt-bars button { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 5px 4px; border: 0; border-radius: 6px; background: none; text-align: left; }
.tt-bars button:hover { background: var(--tp-muted); }
.tt-bars__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.tt-bars__track { position: relative; height: 12px; }
.tt-bars__need { position: absolute; inset: 0 auto 0 0; border-radius: 3px; background: color-mix(in oklch, var(--tt-bad) 18%, transparent); box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--tt-bad) 45%, transparent); }
.tt-bars__have { position: absolute; top: 3px; bottom: 3px; left: 0; border-radius: 2px; background: var(--tp-fg); min-width: 2px; }
.tt-bars__value { font-size: 11.5px; color: var(--tp-muted-fg); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tt-bars__value b { color: var(--tp-fg); font-weight: 600; }

/* Funnel */
.tt-funnel { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tt-funnel li { position: relative; display: grid; grid-template-columns: 78px auto 1fr; gap: 8px; align-items: baseline; padding: 6px 10px; border-radius: 6px; overflow: hidden; }
.tt-funnel li i { position: absolute; inset: 0 auto 0 0; width: var(--w); background: color-mix(in oklch, var(--tt-cov) calc(34% - var(--i) * 5%), transparent); border-radius: 6px; z-index: 0; }
.tt-funnel li > :not(i) { position: relative; z-index: 1; }
.tt-funnel span { font-size: 12px; color: var(--tp-muted-fg); }
.tt-funnel b { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.tt-funnel small { font-size: 11px; color: var(--tp-muted-fg); text-align: right; }

/* Owners */
.tt-owners { list-style: none; margin: 0; padding: 0; }
.tt-owners button { display: grid; grid-template-columns: auto minmax(0, 1fr) 70px auto; gap: 8px; align-items: center; width: 100%; padding: 6px 4px; border: 0; border-top: 1px solid var(--tp-border); background: none; text-align: left; }
.tt-owners li:first-child button { border-top: 0; }
.tt-owners button:hover { background: var(--tp-muted); }
.tt-owners__name { min-width: 0; font-size: 12.5px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tt-owners__name small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-owners__bar { height: 6px; border-radius: 99px; background: var(--tp-muted); overflow: hidden; }
.tt-owners__bar i { display: block; height: 100%; background: var(--tt-bad); border-radius: 99px; }
.tt-owners b { font-size: 12px; font-variant-numeric: tabular-nums; min-width: 32px; text-align: right; }

/* Board */
.tt-table td { vertical-align: middle; }
.tt-name { min-width: 230px; max-width: 320px; }
.tt-name b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 500; }
.tt-progress { min-width: 170px; }
.tt-progress__track { position: relative; height: 8px; border-radius: 99px; background: var(--tp-muted); overflow: hidden; }
.tt-progress__fill { position: absolute; inset: 0 auto 0 0; border-radius: 99px; background: var(--tp-muted-fg); }
.tt-progress__proj { position: absolute; top: 0; bottom: 0; background: repeating-linear-gradient(135deg, color-mix(in oklch, var(--tp-muted-fg) 35%, transparent) 0 3px, transparent 3px 6px); }
.tt-progress.is-bad .tt-progress__fill { background: var(--tt-bad); }
.tt-progress.is-bad .tt-progress__proj { background: repeating-linear-gradient(135deg, color-mix(in oklch, var(--tt-bad) 35%, transparent) 0 3px, transparent 3px 6px); }
.tt-progress.is-warn .tt-progress__fill { background: var(--tt-warn); }
.tt-progress.is-good .tt-progress__fill { background: var(--tt-good); }
.tt-progress small { display: block; margin-top: 4px; font-size: 11px; color: var(--tp-muted-fg); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tt-progress small b { color: var(--tp-fg); font-weight: 600; }
.tt-pace { white-space: nowrap; font-size: 12.5px; font-variant-numeric: tabular-nums; }
.tt-pace b { font-weight: 600; }
.tt-pace.is-bad b { color: var(--tt-bad); }
.tt-pace.is-warn b { color: color-mix(in oklch, var(--tt-warn), var(--tp-fg) 25%); }
.tt-pace.is-good, .tt-pace.is-good b { color: var(--tt-good); }
.tt-people { min-width: 150px; }
.tt-score { display: inline-grid; place-items: center; min-width: 34px; height: 24px; padding: 0 6px; border-radius: 6px; font-size: 12px; font-weight: 600; background: color-mix(in oklch, var(--tt-bad) calc(var(--s) * 0.22%), var(--tp-muted)); color: var(--tp-fg); }
.tt-spark { display: block; overflow: visible; }
.tt-spark.is-loading { display: block; width: 110px; height: 30px; border-radius: 4px; background: var(--tp-muted); animation: tp-pulse 1.2s ease-in-out infinite alternate; }
.tt-spark__target { stroke: color-mix(in oklch, var(--tp-fg) 30%, transparent); stroke-width: 1; stroke-dasharray: 3 3; }
.tt-spark__area { fill: color-mix(in oklch, var(--tt-cov) 16%, transparent); }
.tt-spark__line { fill: none; stroke: var(--tt-cov); stroke-width: 1.6; stroke-linejoin: round; }
.tt-spark__dot { fill: var(--tt-cov); }

/* Detail chart */
.tt-detail { width: min(720px, 100vw); }
.tt-chart { display: block; width: 100%; height: auto; overflow: visible; }
.tt-chart__grid { stroke: var(--tp-border); stroke-width: 1; }
.tt-chart__axis { fill: var(--tp-muted-fg); font-size: 10.5px; font-variant-numeric: tabular-nums; }
.tt-chart__label { fill: var(--tp-fg); font-size: 11px; font-weight: 500; }
.tt-chart__target { stroke: var(--tp-fg); stroke-width: 1.2; stroke-dasharray: 5 4; opacity: 0.6; }
.tt-chart__cov { fill: none; stroke: var(--tt-cov); stroke-width: 2.4; stroke-linejoin: round; }
.tt-chart__conf { fill: none; stroke: var(--tt-conf); stroke-width: 1.5; opacity: 0.45; stroke-linejoin: round; }
.tt-chart__need { stroke: var(--tt-good); stroke-width: 1.6; stroke-dasharray: 5 4; }
.tt-chart__proj { stroke: var(--tt-bad); stroke-width: 1.6; stroke-dasharray: 2 3; }
.tt-chart__dot { fill: var(--tt-cov); stroke: var(--tp-card); stroke-width: 2; }
.tt-reasons { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; }
.tt-reasons li::marker { color: var(--tp-muted-fg); }

/* Campaign management brief inside the detail drawer. */
.tt-panel-assessment { margin-top: 18px; padding: 18px; border: 1px solid var(--tp-border); border-left: 4px solid var(--tt-cov); border-radius: var(--tp-radius); background: var(--tp-muted); }
.tt-panel-assessment .tt-assessment-label { margin: 0 0 5px; font-size: 11px; color: var(--tp-muted-fg); }
.tt-panel-assessment h3 { margin: 0 0 6px; font-size: 18px; line-height: 1.3; }
.tt-panel-assessment > p:not(.tt-assessment-label) { margin: 0; color: var(--tp-muted-fg); font-size: 12.5px; line-height: 1.55; }
.tt-panel-assessment dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 16px 0 0; background: var(--tp-border); border: 1px solid var(--tp-border); border-radius: 7px; overflow: hidden; }
.tt-panel-assessment dl div { padding: 10px 12px; background: var(--tp-card); }
.tt-panel-assessment dt, .tt-evidence-list dt { color: var(--tp-muted-fg); font-size: 11px; }
.tt-panel-assessment dd, .tt-evidence-list dd { margin: 3px 0 0; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.tt-panel-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(240px,.75fr); gap: 14px; margin-top: 14px; }
.tt-panel-section { min-width: 0; padding: 15px; border: 1px solid var(--tp-border); border-radius: var(--tp-radius); }
.tt-panel-section > header h3 { margin: 0 0 3px; }
.tt-panel-section > header p { margin: 0 0 13px; color: var(--tp-muted-fg); font-size: 11.5px; line-height: 1.45; }
.tt-stage-flow { list-style: none; display: grid; gap: 8px; margin: 0; padding: 0; }
.tt-stage-flow li { display: grid; grid-template-columns: 72px 58px minmax(70px,1fr); align-items: center; gap: 8px; font-size: 11.5px; }
.tt-stage-flow li b { font-size: 13px; text-align: right; font-variant-numeric: tabular-nums; }
.tt-stage-flow li i { height: 7px; border-radius: 99px; background: linear-gradient(90deg,var(--tt-cov) var(--w),var(--tp-muted) var(--w)); }
.tt-stage-flow li small { grid-column: 2/-1; margin-top: -6px; color: var(--tp-muted-fg); text-align: right; }
.tt-evidence-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; border: 1px solid var(--tp-border); border-radius: 7px; overflow: hidden; background: var(--tp-border); }
.tt-evidence-list div { padding: 10px; background: var(--tp-card); }
.tt-export-campaign { white-space: nowrap; }

@media (max-width: 1280px) {
  .tt-insights { grid-template-columns: 1fr 1fr; }
  .tt-insights > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .tt-insights, .tt-insights.is-two { grid-template-columns: minmax(0, 1fr); }
}

#gc-top-tier .tp-head h1 { margin: 2px 0 4px; font-size: 28px; line-height: 1.15; font-weight: 600; letter-spacing: -0.025em; text-transform: none; }
@media (max-width: 900px) { #gc-top-tier .tp-head h1 { font-size: 24px; } }

/* 2026-09-23: "What stands out" (shared .tp-stand styles live in trygc-team-pulse.css). */
#gc-top-tier .tp-stand h2 { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: -0.01em; text-transform: none; }
/* Management workspace: a deadline decision board and dedicated comparison. */
#gc-top-tier .mgmt-nav{display:flex;gap:6px;border-bottom:1px solid var(--tp-border);padding:0 0 10px;flex-wrap:wrap}
#gc-top-tier .mgmt-nav button,#gc-top-tier .tt-compare-picker button{border:1px solid var(--tp-border);background:var(--tp-card);color:var(--tp-fg);border-radius:7px;padding:9px 14px;font:inherit;cursor:pointer}
#gc-top-tier .mgmt-nav button[aria-pressed=true],#gc-top-tier .tt-compare-picker button[aria-pressed=true]{background:var(--tp-fg);color:var(--tp-card);border-color:var(--tp-fg)}
#gc-top-tier .tt-scope{margin:0;font-size:12px;color:var(--tp-muted-fg)}
#gc-top-tier [data-management-panel]{display:grid;gap:18px;min-width:0}
#gc-top-tier .tp-kpis{gap:0;border-block:1px solid var(--tp-border);padding-block:12px}
#gc-top-tier .tp-kpi{border:0;border-radius:0;box-shadow:none;background:transparent;padding:8px 14px;border-right:1px solid var(--tp-border)}
#gc-top-tier .tp-kpi:last-child{border-right:0}
#gc-top-tier .tp-kpi strong{font-size:24px}
#gc-top-tier .tt-decision-heading h2{font-size:22px;margin:0 0 5px;letter-spacing:-.02em}
#gc-top-tier .tt-decision-heading p{margin:0;max-width:85ch;font-size:13px;color:var(--tp-muted-fg)}
#gc-top-tier .tt-decision-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:18px;align-items:start}
#gc-top-tier .tt-panel{padding:20px;min-width:0;box-shadow:none}
#gc-top-tier .tt-panel h2{font-size:18px;margin:0 0 5px}
#gc-top-tier .tt-panel h3{font-size:14px;margin:22px 0 8px}
#gc-top-tier .tt-panel header p{font-size:12px;line-height:1.5}
#gc-top-tier .tt-diagnoses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#gc-top-tier .tt-diagnoses button{border:1px solid var(--tp-border);border-left:3px solid var(--tt-cov);border-radius:6px;background:var(--tp-muted);color:var(--tp-fg);text-align:left;padding:12px;display:grid;grid-template-columns:1fr auto;gap:5px;cursor:pointer;font:inherit;font-size:12px}
#gc-top-tier .tt-diagnoses button:first-child{border-left-color:var(--tt-bad)}
#gc-top-tier .tt-diagnoses button>small{grid-column:1/-1;color:var(--tp-muted-fg)}
#gc-top-tier .tt-diagnoses b{font-size:19px;font-variant-numeric:tabular-nums}
#gc-top-tier .tt-diagnoses b small{font-size:11px;font-weight:400}
#gc-top-tier .tt-diagnoses button:hover,#gc-top-tier .tt-priority-list button:hover{border-color:var(--tt-cov)}
#gc-top-tier .tt-priority-list{display:grid}
#gc-top-tier .tt-priority-list button{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr 1.2fr auto;align-items:center;gap:20px;background:transparent;border:0;border-bottom:1px solid var(--tp-border);color:var(--tp-fg);text-align:left;padding:17px 4px;cursor:pointer;font:inherit;font-size:13px}
#gc-top-tier .tt-priority-list small{display:block;color:var(--tp-muted-fg);font-size:11px;margin-top:5px}
#gc-top-tier .tt-priority-list strong{font-size:22px;font-variant-numeric:tabular-nums}
#gc-top-tier .tt-review-action{color:var(--tt-cov);font-size:12px}
#gc-top-tier .tt-compare-picker{display:flex;gap:7px;flex-wrap:wrap;max-height:190px;overflow:auto;padding:3px;margin-bottom:20px}
#gc-top-tier .tt-compare-picker button{font-size:12px;padding:7px 11px}
#gc-top-tier button:disabled{opacity:.5;cursor:not-allowed}
#gc-top-tier .tt-comparison{min-width:560px}
#gc-top-tier .tt-comparison caption{text-align:left;padding:10px 0;color:var(--tp-muted-fg);font-size:12px}
#gc-top-tier .tt-comparison th{white-space:normal;max-width:220px}
#gc-top-tier .tt-records>summary{padding:10px 0;font-size:14px;font-weight:600;cursor:pointer}
#gc-top-tier .tt-bars button{padding:9px 4px}
#gc-top-tier button:focus-visible,#gc-top-tier summary:focus-visible{outline:2px solid var(--tt-cov);outline-offset:3px}
#gc-top-tier .tp-table-wrap{max-width:100%;overflow:auto}
@media(max-width:1000px){#gc-top-tier .tt-decision-grid{grid-template-columns:minmax(0,1fr)}#gc-top-tier .tt-priority-list button{grid-template-columns:1.4fr 1fr 1.2fr}#gc-top-tier .tt-review-action{grid-column:1/-1}}
@media(max-width:760px){
  #gc-top-tier .tt-detail{width:100vw;max-width:100vw;border-left:0}
  #gc-top-tier .tt-detail .tp-panel__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 14px}
  #gc-top-tier .tt-detail .tp-panel__head>div{grid-column:1/-1}
  #gc-top-tier .tt-detail .tp-panel__head .tt-verdict{justify-self:start}
  #gc-top-tier .tt-detail .tp-panel__head .tp-icon{position:absolute;right:10px;top:10px}
  #gc-top-tier .tt-detail .tp-panel__body{padding:14px 14px 28px}
  #gc-top-tier .tt-panel-grid{grid-template-columns:minmax(0,1fr)}
  #gc-top-tier .tt-panel-assessment dl{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){#gc-top-tier .tp-content{padding-inline:12px}#gc-top-tier .tp-head{gap:12px}#gc-top-tier .tp-head__controls{display:grid;grid-template-columns:1fr 1fr;width:100%}#gc-top-tier .tp-head__controls .tp-chips{grid-column:1/-1;overflow-x:auto;flex-wrap:nowrap}#gc-top-tier .tp-head__controls .tp-btn{width:100%}#gc-top-tier .tp-filters__row label{flex:1 1 100%}#gc-top-tier .tp-filters__row input,#gc-top-tier .tp-filters__row select{width:100%}#gc-top-tier .tt-panel{padding:14px}#gc-top-tier .tt-diagnoses{grid-template-columns:1fr}#gc-top-tier .tt-priority-list button{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}#gc-top-tier .tt-priority-list button>span:first-child{grid-column:1/-1}#gc-top-tier .tt-bars button{grid-template-columns:minmax(0,1fr) 70px auto}#gc-top-tier .tp-kpi strong{font-size:20px}#gc-top-tier .mgmt-nav{overflow-x:auto;flex-wrap:nowrap}#gc-top-tier .mgmt-nav button{padding:8px 10px;font-size:12px;white-space:nowrap}#gc-top-tier .tt-panel-assessment{padding:14px}#gc-top-tier .tt-panel-assessment dl{grid-template-columns:1fr}#gc-top-tier .tt-stage-flow li{grid-template-columns:62px 50px minmax(60px,1fr)}#gc-top-tier .tp-tasks li{align-items:flex-start;flex-direction:column}#gc-top-tier .tp-tasks li>span{white-space:normal}}
@media(prefers-reduced-motion:reduce){#gc-top-tier *,#gc-top-tier *::before,#gc-top-tier *::after{animation:none!important;transition:none!important}}
