:root{--tgs-navy: #011c31;--tgs-navy-700: #06395c;--tgs-cyan: #0098d1;--tgs-cyan-soft: #e6f5fc;--tgs-lime: #c4d600;--tgs-slate: #3c4858;--tgs-slate-muted: #6b7280;--tgs-bg: #f7f9fc;--tgs-surface: #ffffff;--tgs-border: #e2e8f0;--tgs-border-strong: #cbd5e1;--tgs-amber: #b45309;--tgs-amber-bg: #fffbeb;--tgs-amber-border: #fcd9a6;--tgs-green: #16794c;--tgs-green-bg: #ecfdf5;--tgs-red: #b91c1c;--tgs-red-bg: #fef2f2;--tgs-radius-sm: 4px;--tgs-radius-md: 8px;--tgs-radius-lg: 12px;--tgs-shadow: 0 1px 2px rgba(15, 23, 42, .04)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--tgs-slate);background:var(--tgs-bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:28px;height:56px;padding:0 24px;background:var(--tgs-navy);color:#fff;box-shadow:0 1px #00000014;position:sticky;top:0;z-index:10}.topbar__brand{font-weight:700;font-size:16px;letter-spacing:.2px;display:flex;align-items:center;gap:10px}.topbar__mark{width:22px;height:22px;border-radius:5px;background:linear-gradient(135deg,var(--tgs-cyan),var(--tgs-lime));display:inline-block}.topbar__nav{display:flex;gap:4px;align-items:center}.topbar__link{font-size:13.5px;font-weight:500;color:#ffffffc7;padding:7px 12px;border-radius:var(--tgs-radius-sm);transition:background .12s ease,color .12s ease}.topbar__link:hover{color:#fff;background:#ffffff1a}.topbar__link--active{color:#fff;background:#ffffff29}.topbar__link--disabled{color:#fff6;cursor:not-allowed}.topbar__group{display:flex;align-items:center;gap:2px;margin-left:8px;padding-left:10px;border-left:1px solid rgba(255,255,255,.16)}.topbar__group-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff73;padding:0 8px 0 2px}.topbar__link--accent{color:var(--tgs-lime)}.main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 24px 64px}.platform-switch-row{margin:-6px 0 22px}.platform-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(100%,440px);padding:4px;background:var(--tgs-cyan-soft);border:1px solid var(--tgs-border);border-radius:999px;isolation:isolate}.platform-switch__thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--tgs-navy);transition:transform .2s ease;z-index:0;pointer-events:none}.platform-switch__thumb[data-side=right]{transform:translate(100%)}.platform-switch__opt{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;padding:9px 16px;font:inherit;font-size:13.5px;font-weight:600;color:var(--tgs-navy);border-radius:999px}.platform-switch__opt[aria-checked=true]{color:#fff}.tech-stack-tools{margin-top:8px;padding-top:20px;border-top:1px solid var(--tgs-border)}.tech-stack-tools__heading{margin:0 0 10px;font-size:13px;font-weight:650;color:var(--tgs-slate-muted)}.tech-stack-tools__links{display:flex;flex-wrap:wrap;gap:8px}.tech-stack-tools__link{display:inline-flex;align-items:center;padding:8px 14px;border-radius:var(--tgs-radius-md);border:1px solid var(--tgs-border);background:var(--tgs-surface);color:var(--tgs-navy);font-size:13.5px;font-weight:600}.tech-stack-tools__link:hover{border-color:var(--tgs-cyan);color:var(--tgs-cyan)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title{margin:0;font-size:22px;font-weight:700;color:var(--tgs-navy);letter-spacing:-.01em}.page-subtitle{margin:4px 0 0;color:var(--tgs-slate-muted);font-size:13.5px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tgs-slate-muted);margin-bottom:12px}.breadcrumb a:hover{color:var(--tgs-navy)}.breadcrumb__sep{opacity:.5}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600;color:var(--tgs-slate-muted)}.card{background:var(--tgs-surface);border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-lg);box-shadow:var(--tgs-shadow)}.card__body{padding:20px}.card__head{padding:16px 20px;border-bottom:1px solid var(--tgs-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card__title{margin:0;font-size:15px;font-weight:650;color:var(--tgs-slate)}.grid{display:grid;gap:16px}.grid--metrics{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid--cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid--cats{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch}.cat-panel{position:relative;overflow:hidden;display:flex;flex-direction:column}.cat-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cat-accent, var(--tgs-navy))}.cat-panel--navy{--cat-accent: linear-gradient(90deg, #011c31, #0098d1)}.cat-panel--cyan{--cat-accent: linear-gradient(90deg, #0098d1, #45bbe8)}.cat-panel--violet{--cat-accent: linear-gradient(90deg, #5b4bd6, #9a8cf0)}.cat-panel--green{--cat-accent: linear-gradient(90deg, #16794c, #4ecb8f)}.cat-panel--amber{--cat-accent: linear-gradient(90deg, #b45309, #f0a24a)}.cat-panel--link{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.cat-panel--link:hover{border-color:var(--tgs-border-strong);box-shadow:0 8px 24px #0f172a1a;transform:translateY(-2px)}.cat-panel .card__body{display:flex;flex-direction:column;gap:14px;flex:1}.cat-stats{display:flex;gap:28px;align-items:flex-start}.cat-stats--3{gap:24px}.cat-stats--wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.cat-stat{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.cat-stat__value{font-size:26px;font-weight:700;color:var(--tgs-navy);line-height:1.15;font-variant-numeric:tabular-nums}.cat-stat--sm .cat-stat__value{font-size:16px;color:var(--tgs-slate)}.cat-stat--muted .cat-stat__value{color:var(--tgs-slate-muted)}.cat-stat__label{font-size:12.5px;font-weight:600;color:var(--tgs-slate);white-space:normal;overflow-wrap:anywhere}.cat-stat--sm .cat-stat__label{font-weight:500;color:var(--tgs-slate-muted);font-size:12px}.cat-stat__sub{font-size:11px;color:var(--tgs-slate-muted)}.cat-stat--btn{font:inherit;border:0;background:none;padding:6px 10px;margin:-6px -10px;border-radius:var(--tgs-radius-md);cursor:pointer;text-align:left;transition:background .12s ease}.cat-stat--btn:hover{background:var(--tgs-cyan-soft)}.cat-stat--btn:hover .cat-stat__label{color:var(--tgs-navy)}.cat-stat__chev{color:var(--tgs-cyan);font-weight:700}.cat-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;padding-top:12px;border-top:1px solid var(--tgs-border);margin-top:auto}.cat-note{margin:auto 0 0;font-size:12px;line-height:1.55;color:var(--tgs-slate-muted);padding-top:10px;border-top:1px dashed var(--tgs-border)}.metric{background:var(--tgs-surface);border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-md);padding:14px 16px}.metric__label{font-size:12px;color:var(--tgs-slate-muted);font-weight:500}.metric__value{font-size:26px;font-weight:700;color:var(--tgs-navy);line-height:1.2;margin-top:4px;font-variant-numeric:tabular-nums}.metric__sub{font-size:11.5px;color:var(--tgs-slate-muted);margin-top:2px}.btn{font:inherit;font-weight:600;font-size:13px;border-radius:var(--tgs-radius-sm);padding:8px 14px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--tgs-navy);color:#fff}.btn--primary:hover:not(:disabled){background:var(--tgs-navy-700)}.btn--secondary{background:var(--tgs-surface);color:var(--tgs-navy);border-color:var(--tgs-border-strong)}.btn--secondary:hover:not(:disabled){border-color:var(--tgs-navy)}.btn--ghost{background:transparent;color:var(--tgs-slate-muted);padding:6px 8px}.btn--ghost:hover:not(:disabled){color:var(--tgs-navy);background:var(--tgs-bg)}.btn:focus-visible,.input:focus-visible,.select:focus-visible,a:focus-visible{outline:2px solid var(--tgs-cyan);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:12.5px;font-weight:600;color:var(--tgs-slate)}.input,.select{font:inherit;font-size:13.5px;padding:8px 11px;border:1px solid var(--tgs-border-strong);border-radius:var(--tgs-radius-sm);background:var(--tgs-surface);color:var(--tgs-slate);width:100%}.input::placeholder{color:#9aa3b2}.input:focus,.select:focus{border-color:var(--tgs-cyan)}.form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.form-error{color:var(--tgs-red);font-size:12.5px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid transparent;line-height:1.5;white-space:nowrap}.badge--active{color:var(--tgs-green);background:var(--tgs-green-bg);border-color:#bbf0d4}.badge--orphaned{color:var(--tgs-slate-muted);background:#f1f5f9;border-color:var(--tgs-border)}.badge--processing{color:var(--tgs-navy);background:var(--tgs-cyan-soft);border-color:#b5e0f2}.badge--error{color:var(--tgs-red);background:var(--tgs-red-bg);border-color:#fbcaca}.badge--critical{color:#7c4a03;background:#fff7e6;border-color:var(--tgs-amber-border)}.badge--neutral{color:var(--tgs-slate);background:#f1f5f9;border-color:var(--tgs-border)}.badge--v2{color:var(--tgs-slate-muted);background:transparent;border-color:var(--tgs-border-strong)}.pill{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--tgs-border);background:var(--tgs-surface);font-size:12.5px;color:var(--tgs-slate-muted)}.pill strong{font-size:14px;color:var(--tgs-navy);font-variant-numeric:tabular-nums}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.dot--ready{background:var(--tgs-green)}.dot--processing{background:var(--tgs-cyan)}.dot--error{background:var(--tgs-red)}.dot--idle{background:var(--tgs-slate-muted)}.dot--warn{background:var(--tgs-amber)}.dot--skipped{background:transparent;box-shadow:inset 0 0 0 1.5px var(--tgs-border-strong)}.infotip{position:relative;display:inline-flex;vertical-align:middle;margin-left:6px}.infotip__trigger{width:15px;height:15px;border-radius:50%;border:1px solid var(--tgs-border-strong);background:var(--tgs-surface);color:var(--tgs-slate-muted);font-size:10px;font-style:italic;font-weight:700;line-height:1;font-family:Georgia,Times New Roman,serif;display:inline-flex;align-items:center;justify-content:center;cursor:help;padding:0}.infotip__trigger:hover,.infotip__trigger:focus-visible{border-color:var(--tgs-cyan);color:var(--tgs-navy)}.infotip__bubble{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:30;width:280px;padding:10px 12px;border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-md);background:var(--tgs-surface);box-shadow:0 6px 20px #0f172a1f;color:var(--tgs-slate);font-size:12px;font-weight:400;line-height:1.45;text-align:left;white-space:normal;text-transform:none;letter-spacing:normal;opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none}.infotip:hover .infotip__bubble,.infotip:focus-within .infotip__bubble{opacity:1;visibility:visible}.progress{height:8px;border-radius:999px;background:#eef2f7;overflow:hidden}.progress__bar{height:100%;border-radius:999px;background:var(--tgs-cyan);transition:width .4s ease}.progress__bar--done{background:var(--tgs-green)}.progress__bar--error{background:var(--tgs-red)}.progress__bar--warn{background:var(--tgs-amber)}.progress__bar--skipped{background:repeating-linear-gradient(45deg,#e2e8f0,#e2e8f0 6px,#eef2f7 6px,#eef2f7 12px)}.stage-row{display:grid;grid-template-columns:180px 1fr 140px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--tgs-border)}.stage-row:last-child{border-bottom:none}.stage-row__name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}.stage-row__meta{font-size:12px;color:var(--tgs-slate-muted);text-align:right;font-variant-numeric:tabular-nums}.stage-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--tgs-border);font-size:12px;color:var(--tgs-slate-muted)}.stage-legend__item{display:inline-flex;align-items:center;gap:6px}.stage-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.stage-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--tgs-border);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--tgs-slate);font-variant-numeric:tabular-nums;background:var(--tgs-surface)}.stage-chip__meta{font-weight:400;color:var(--tgs-slate-muted)}.stage-chip__failed{font-weight:600;color:var(--tgs-red)}.issue-row{border-bottom:1px solid var(--tgs-border);padding:8px 0}.issue-row:last-child{border-bottom:none}.issue-row summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:13px}.issue-row summary::-webkit-details-marker{display:none}.issue-row__reasons{margin:8px 0 4px 22px;padding:0;list-style:none;font-size:12.5px;color:var(--tgs-slate-muted);display:flex;flex-direction:column;gap:4px}.callout{border:1px solid var(--tgs-amber-border);background:var(--tgs-amber-bg);border-radius:var(--tgs-radius-md);padding:14px 16px}.callout__title{font-weight:700;color:var(--tgs-amber);font-size:13px;display:flex;align-items:center;gap:8px}.callout__list{margin:10px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#7a4a16}.callout--ok{border-color:#bbf0d4;background:var(--tgs-green-bg)}.callout--ok .callout__title{color:var(--tgs-green)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--tgs-slate-muted);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--tgs-border);white-space:nowrap;background:#fbfcfe}.table th button{font:inherit;font-size:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;font-weight:inherit;background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.table th button:hover{color:var(--tgs-navy)}.table td{padding:11px 14px;border-bottom:1px solid var(--tgs-border);vertical-align:middle}.table tbody tr{cursor:pointer;transition:background .1s ease}.table tbody tr:hover{background:#f8fafc}.table tbody tr:last-child td{border-bottom:none}.mono{font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:12px}.intg{display:inline-flex;gap:5px}.intg__chip{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 6px;border-radius:var(--tgs-radius-sm);border:1px solid var(--tgs-border);color:var(--tgs-slate-muted);background:#fbfcfe}.intg__chip--db2{color:#00648f;border-color:#b5e0f2;background:#e9f6fc}.intg__chip--mq{color:#9333ea;border-color:#e6cffa;background:#faf5ff}.intg__chip--ftp{color:#0e7490;border-color:#bae6fd;background:#ecfeff}.intg__chip--sftp{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.cx-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:999px;border:1px solid var(--tgs-border)}.cx-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cx-badge--low{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}.cx-badge--medium{color:#b45309;border-color:#fde68a;background:#fffbeb}.cx-badge--high{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.team-status{display:inline-flex;align-items:center;gap:6px}.team-status__select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;font-size:11.5px;font-weight:600;letter-spacing:.01em;padding:3px 22px 3px 10px;border-radius:999px;border:1px solid var(--tgs-border);cursor:pointer;background-color:#fbfcfe;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%2364748b'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;color:var(--tgs-slate-muted);transition:box-shadow .12s ease,border-color .12s ease}.team-status__select:hover,.team-status__select:focus-visible{border-color:var(--tgs-cyan, #0098d1);outline:none;box-shadow:0 0 0 3px #00a3e024}.team-status--in_progress .team-status__select{color:#00648f;border-color:#b5e0f2;background-color:#e9f6fc}.team-status--flagged_for_review .team-status__select{color:#b45309;border-color:#fde68a;background-color:#fffbeb}.team-status--completed .team-status__select{color:#15803d;border-color:#bbf7d0;background-color:#f0fdf4}.presence{align-items:center}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 24px;gap:10px}.state__icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--tgs-cyan-soft);color:var(--tgs-navy);font-size:20px}.state__icon--error{background:var(--tgs-red-bg);color:var(--tgs-red)}.state__title{font-size:15px;font-weight:650;color:var(--tgs-slate)}.state__msg{font-size:13px;color:var(--tgs-slate-muted);max-width:420px}.skel{border-radius:var(--tgs-radius-sm);background:linear-gradient(90deg,#eef2f7 25%,#e2e8f0 37%,#eef2f7 63%);background-size:400% 100%;animation:skel 1.4s ease infinite}@keyframes skel{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skel{animation:none}.progress__bar{transition:none}}.row{display:flex;align-items:center}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--tgs-slate-muted)}.stack{display:flex;flex-direction:column}.stack-12{gap:12px}.stack-16{gap:16px}.stack-24{gap:24px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.spinner{width:18px;height:18px;border:2px solid var(--tgs-border);border-top-color:var(--tgs-cyan);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.link{color:var(--tgs-navy);font-weight:600}.link:hover{text-decoration:underline}.stack-8{gap:8px}.mt-8{margin-top:8px}.card__body--flush{padding:0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--tgs-border);margin-bottom:4px}.tab{font:inherit;font-size:13.5px;font-weight:600;color:var(--tgs-slate-muted);background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;margin-bottom:-1px}.tab:hover{color:var(--tgs-navy)}.tab--active{color:var(--tgs-navy);border-bottom-color:var(--tgs-cyan)}.summary-text{margin:0;font-size:14px;line-height:1.6;color:var(--tgs-slate)}.provenance{margin:0;font-size:11.5px;color:var(--tgs-slate-muted)}.flow-canvas{height:420px;width:100%;border-bottom:1px solid var(--tgs-border);background:#fbfcfe}.flow-node{display:flex;align-items:center;justify-content:center;width:172px;height:46px;padding:0 12px;border-radius:var(--tgs-radius-md);border:1px solid var(--tgs-border-strong);background:var(--tgs-surface);box-shadow:var(--tgs-shadow);font-size:12.5px}.flow-node__name{font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-node--root{background:var(--tgs-navy);border-color:var(--tgs-navy);color:#fff}.flow-node--upstream{border-color:var(--tgs-border-strong)}.flow-node--downstream{border-color:#b5e0f2;background:var(--tgs-cyan-soft)}.flow-node--external{border-style:dashed;background:#f8fafc;color:var(--tgs-slate-muted)}.flow-node--clickable{cursor:pointer}.flow-node--clickable:hover{border-color:var(--tgs-cyan)}.flow-legend{padding:12px 20px;font-size:12px;color:var(--tgs-slate-muted)}.legend-swatch{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid var(--tgs-border-strong)}.legend-swatch--root{background:var(--tgs-navy);border-color:var(--tgs-navy)}.legend-swatch--upstream{background:var(--tgs-surface)}.legend-swatch--downstream{background:var(--tgs-cyan-soft);border-color:#b5e0f2}.legend-swatch--external{background:#f8fafc;border-style:dashed}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:var(--tgs-radius-sm);border:1px solid var(--tgs-border);color:var(--tgs-slate);background:#fbfcfe;cursor:default}.chip__dir{font-weight:700;opacity:.75}.chip__tag{font-size:9.5px;font-weight:700;letter-spacing:.03em;padding:0 4px;border-radius:3px;background:var(--tgs-amber-bg);color:var(--tgs-amber);border:1px solid var(--tgs-amber-border)}.chip--db2{color:#00648f;border-color:#b5e0f2;background:#e9f6fc}.chip--mq{color:#9333ea;border-color:#e6cffa;background:#faf5ff}.chip--ftp{color:#0e7490;border-color:#bae6fd;background:#ecfeff}.chip--ds{color:var(--tgs-slate);border-color:var(--tgs-border-strong);background:#f8fafc}.chip--map{color:var(--tgs-green);border-color:#bbf0d4;background:var(--tgs-green-bg)}.chip--prog{color:var(--tgs-navy);border-color:#b5e0f2;background:var(--tgs-cyan-soft)}.chip--ext{color:var(--tgs-slate-muted);border-style:dashed;border-color:var(--tgs-border-strong)}.chain-tree{list-style:none;margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.chain-tree--root{padding-left:0}.chain-tree li{position:relative}.chain-tree .chain-tree{margin-top:8px;border-left:1px dashed var(--tgs-border-strong)}.chain-edge{font-size:10px;font-weight:700;color:var(--tgs-slate-muted);background:#f1f5f9;border-radius:3px;padding:1px 5px}.jobtree-step{font-size:12px;font-weight:700;color:var(--tgs-navy);background:#f1f5f9;border:1px solid var(--tgs-border-strong);border-radius:4px;padding:2px 7px;white-space:nowrap}.jobtree-step--proc{color:var(--tgs-slate);background:#fbfcfe}.chip--procnode{color:var(--tgs-navy);border-color:#d3c8f5;background:#f6f3ff;gap:6px}.jobtree-summary{flex-basis:100%;padding-left:4px}.member-row{padding:6px 0;border-bottom:1px solid var(--tgs-border)}.member-row:last-child{border-bottom:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:grid;place-items:center;z-index:50;padding:24px}.modal{background:var(--tgs-surface);border-radius:var(--tgs-radius-lg);border:1px solid var(--tgs-border);box-shadow:0 12px 40px #0f172a33;width:100%;max-width:440px}.modal--wide{max-width:920px}.modal__head{padding:16px 20px;border-bottom:1px solid var(--tgs-border)}.modal__body{padding:20px}.modal__foot{padding:14px 20px;border-top:1px solid var(--tgs-border)}.btn--danger{background:var(--tgs-red);color:#fff;border-color:var(--tgs-red)}.btn--danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.btn--danger-ghost{background:transparent;color:var(--tgs-red);border-color:transparent;padding:6px 8px}.btn--danger-ghost:hover:not(:disabled){background:var(--tgs-red-bg)}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 40px))}.toast{padding:12px 14px;border-radius:var(--tgs-radius-md);border:1px solid var(--tgs-border);background:var(--tgs-surface);color:var(--tgs-slate);box-shadow:0 8px 24px #0f172a29;font-size:13.5px;cursor:pointer;animation:toast-in .16s ease-out}.toast--success{border-color:var(--tgs-green);background:var(--tgs-green-bg);color:var(--tgs-green)}.toast--error{border-color:var(--tgs-red);background:var(--tgs-red-bg);color:var(--tgs-red)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.flow-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}@media(max-width:900px){.flow-layout{grid-template-columns:minmax(0,1fr)}}.mermaid-diagram{overflow:auto;max-height:70vh;display:flex;justify-content:center}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-diagram g.node rect,.mermaid-diagram g.node path,.mermaid-diagram g.node polygon{transition:stroke .12s ease,stroke-width .12s ease}.mermaid-diagram g.node:hover rect,.mermaid-diagram g.node:hover path,.mermaid-diagram g.node:hover polygon{stroke:var(--tgs-cyan);stroke-width:2px}.mermaid-diagram g.node.mermaid-node--selected rect,.mermaid-diagram g.node.mermaid-node--selected path,.mermaid-diagram g.node.mermaid-node--selected polygon{stroke:var(--tgs-navy);stroke-width:3px}.mermaid-diagram .flow-node__name{font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700;white-space:normal;overflow:visible}.mermaid-diagram .flow-node__desc{font-size:11px;color:var(--tgs-slate-muted)}.mermaid-diagram .flow-node__loop{color:var(--tgs-cyan);font-weight:700}.mermaid-diagram g.node.k_entry .flow-node__desc{color:#ffffffc7}.mermaid-error{color:var(--tgs-red);background:var(--tgs-red-bg);border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-md);padding:12px 14px;font-size:13px}.flow-diagram{overflow:auto;max-height:70vh;display:flex;justify-content:center;border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-md);background:#fbfcfe;padding:8px}.flow-diagram svg{max-width:100%;height:auto}.flow-diagram--pannable{display:block;overflow:hidden;height:clamp(480px,65vh,760px);max-height:none;padding:0;cursor:grab;touch-action:none}.flow-diagram--pannable.flow-diagram--dragging{cursor:grabbing}.flow-diagram--pannable svg{width:100%;height:100%;max-width:none;display:block}.flow-viewport{position:relative}.flow-viewport__controls{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;gap:6px}.flow-viewport__zoom{min-width:46px;text-align:center;border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-sm);background:var(--tgs-surface);color:var(--tgs-slate-muted);font-size:12px;font-weight:600;padding:3px 6px;box-shadow:var(--tgs-shadow)}.flow-viewport__btn--accent{border-color:var(--tgs-cyan);color:var(--tgs-navy);font-weight:700}.flow-diagram--pannable:focus-visible{outline:2px solid var(--tgs-cyan);outline-offset:-2px}.modal--flow{width:min(1680px,96vw);height:92vh;display:flex;flex-direction:column}.modal--flow .modal__head{display:flex;align-items:baseline;gap:12px}.modal--flow .modal__head .btn{margin-left:auto}.modal__body--flow{flex:1;min-height:0;display:flex;padding:12px 20px 18px}.flow-viewport--expanded{flex:1;min-height:0;display:flex;flex-direction:column}.flow-viewport--expanded .flow-diagram--pannable{flex:1;min-height:0;height:auto}.flow-viewport__btn{border:1px solid var(--tgs-border-strong);border-radius:var(--tgs-radius-sm);background:var(--tgs-surface);color:var(--tgs-slate);font-size:12px;font-weight:600;min-width:26px;padding:3px 8px;cursor:pointer;box-shadow:var(--tgs-shadow)}.flow-viewport__btn:hover{border-color:var(--tgs-cyan);color:var(--tgs-navy)}.flow-diagram .flow-node:hover .flow-node__card{stroke:var(--tgs-cyan);stroke-width:2px}.flow-diagram .flow-node--selected .flow-node__card{stroke:var(--tgs-navy);stroke-width:3px}.flow-svg-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:8px 0 0;font-size:11.5px;color:var(--tgs-slate-muted)}.flow-svg-legend__item{display:inline-flex;align-items:center;gap:5px}.flow-svg-legend__swatch{width:12px;height:12px;border-radius:3px;border:1px solid transparent}.flow-svg-legend__swatch.flow-legend__swatch--entry{background:var(--tgs-navy);border-color:var(--tgs-navy)}.flow-svg-legend__swatch.flow-legend__swatch--process{background:var(--tgs-bg);border-color:var(--tgs-border-strong)}.flow-svg-legend__swatch.flow-legend__swatch--io{background:var(--tgs-green-bg);border-color:var(--tgs-green)}.flow-svg-legend__swatch.flow-legend__swatch--sql{background:var(--tgs-cyan-soft);border-color:var(--tgs-cyan)}.flow-svg-legend__swatch.flow-legend__swatch--call{background:var(--tgs-amber-bg);border-color:var(--tgs-amber)}.flow-svg-legend__edge{width:20px;border-top:2px solid var(--tgs-slate-muted)}.flow-svg-legend__edge--dashed{border-top-style:dashed}.flow-svg-legend__loop{color:var(--tgs-cyan);font-weight:700}.rule-row{border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-md);padding:12px 14px;background:#fff}.rule-row+.rule-row{margin-top:0}.source-slice{margin:10px 0 0;padding:10px 12px;background:#0f172a;color:#e2e8f0;border-radius:var(--tgs-radius-md);font-family:var(--tgs-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12px;line-height:1.5;overflow-x:auto;white-space:pre}.source-slice__line{display:flex;gap:12px}.source-slice__line--cited{background:#00a3e02e;border-left:2px solid var(--tgs-cyan);margin-left:-12px;padding-left:10px}.source-slice__no{color:#64748b;-webkit-user-select:none;user-select:none;min-width:3ch;text-align:right}.search-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-controls>.input[type=search]{flex:1 1 240px;min-width:200px}.lib-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lib-chip{font:inherit;font-size:12.5px;font-weight:600;color:var(--tgs-slate-muted);background:var(--tgs-surface);border:1px solid var(--tgs-border-strong);border-radius:999px;padding:5px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.lib-chip:not(.lib-chip--on):hover{color:var(--tgs-navy);border-color:var(--tgs-navy)}.lib-chip--on{background:var(--tgs-navy);border-color:var(--tgs-navy);color:#fff}.legacy-ai-chip{font:inherit;font-size:12.5px;font-weight:700;color:var(--tgs-navy);background:var(--tgs-surface);border:1px solid var(--tgs-border-strong);border-radius:999px;padding:6px 14px;cursor:pointer}.legacy-ai-chip:hover,.legacy-ai-chip--on{background:var(--tgs-navy);color:#fff;border-color:var(--tgs-navy)}.search-with-ai{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;align-items:start}@media(max-width:960px){.search-with-ai{grid-template-columns:1fr}}.legacy-ai{background:var(--tgs-surface);border:1px solid var(--tgs-border);border-radius:var(--tgs-radius);padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;min-height:420px;max-height:calc(100vh - 180px);position:sticky;top:72px}.legacy-ai__head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.legacy-ai__banner{font-size:12.5px;margin:0}.legacy-ai__log{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px}.legacy-ai__bubble{font-size:13.5px;line-height:1.45;padding:8px 10px;border-radius:8px;white-space:pre-wrap}.legacy-ai__bubble--user{background:#011c310f;align-self:flex-end;max-width:92%}.legacy-ai__bubble--assistant{background:#0098d114;max-width:100%}.legacy-ai__cites{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.legacy-ai__caret{display:inline-block;width:6px;height:12px;margin-left:2px;background:var(--tgs-cyan);animation:legacy-ai-blink 1s step-end infinite}@keyframes legacy-ai-blink{50%{opacity:0}}.legacy-ai__composer{display:flex;flex-direction:column;gap:8px}.legacy-ai__composer .input{resize:vertical}.lib-chip__count{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--tgs-bg);color:var(--tgs-slate)}.lib-chip--on .lib-chip__count{background:#ffffff38;color:#fff}.lib-chip__count--zero{opacity:.5}.results{display:flex;flex-direction:column}.result-group{border-bottom:1px solid var(--tgs-border)}.result-group:last-child{border-bottom:none}.result-group__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;background:#fbfcfe;border-bottom:1px solid var(--tgs-border);position:sticky;top:0;z-index:1}.result-group__member{font-size:12.5px;font-weight:700;color:var(--tgs-navy)}.result-row{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--tgs-border);padding:10px 20px;cursor:pointer;font:inherit}.result-group .result-row:last-child{border-bottom:none}.result-row:hover{background:#f8fafc}.result-row__meta{display:flex;align-items:center;gap:10px;margin-bottom:6px}.result-row__para{font-size:11px;font-weight:700;color:var(--tgs-navy);background:var(--tgs-cyan-soft);border:1px solid #b5e0f2;border-radius:3px;padding:1px 6px}.result-row__ln{font-size:11px;color:var(--tgs-slate-muted)}.result-row__code{margin:0;font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;overflow-x:auto;white-space:pre}.code-line{display:flex;gap:12px}.code-line__no{color:#94a3b8;-webkit-user-select:none;user-select:none;min-width:5ch;text-align:right;flex:none}.code-line__text{color:var(--tgs-slate-muted);white-space:pre}.code-line--match .code-line__text{color:var(--tgs-slate)}.hl{background:#fde68a;color:inherit;border-radius:2px;padding:0 1px}.hl--active{background:var(--tgs-lime);box-shadow:0 0 0 1px #0033a059}.viewer-find{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--tgs-border);background:#fbfcfe}.viewer-find__count{font-size:12.5px;font-variant-numeric:tabular-nums;min-width:6ch}.viewer-pane{max-height:70vh;overflow:auto;padding:10px 0;font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.6;background:var(--tgs-surface)}.viewer-line{display:flex;gap:14px;padding:0 20px;white-space:pre}.viewer-line:hover{background:#f8fafc}.viewer-line--focus{background:#00a3e01f;box-shadow:inset 3px 0 0 var(--tgs-cyan)}.viewer-line__no{color:#94a3b8;-webkit-user-select:none;user-select:none;min-width:5ch;text-align:right;flex:none}.viewer-line__text{color:var(--tgs-slate);white-space:pre}.auth-split{--tek-navy: #011c31;--tek-blue: #0098d1;--tek-orange: #fe9225;min-height:100vh;display:grid;grid-template-columns:minmax(420px,5fr) minmax(420px,4fr)}.auth-hero{position:relative;overflow:hidden;background:radial-gradient(1200px 800px at 85% -15%,rgba(0,152,209,.2),transparent 65%),radial-gradient(1000px 700px at -15% 115%,rgba(254,146,37,.09),transparent 60%),linear-gradient(168deg,#01111f 0%,var(--tek-navy) 48%,#093a5b 100%);color:#fff;display:flex}.auth-hero:after{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.04) 50%,transparent 62%);pointer-events:none}.auth-hero__glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}.auth-hero__glow--blue{width:520px;height:520px;top:-160px;right:-140px;background:#0098d159}.auth-hero__glow--orange{width:380px;height:380px;bottom:-140px;left:32%;background:#fe922524}.auth-hero__inner{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:48px 56px;width:100%;max-width:640px;margin:0 auto}.auth-hero__logo-plate{align-self:flex-start;background:#fff;border-radius:12px;padding:10px 16px;box-shadow:0 10px 30px #00000047,0 2px 8px #0000002e}.auth-logo{display:block;height:42px;width:auto}.auth-logo--panel{height:40px}.auth-hero__headline{margin:0 0 32px;font-size:clamp(25px,2.5vw,32px);line-height:1.22;font-weight:700;letter-spacing:-.4px}.auth-hero__headline-accent{background:linear-gradient(90deg,var(--tek-blue),var(--tek-orange));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-hero__points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:17px;max-width:470px}.auth-hero__points li{display:flex;gap:14px;align-items:flex-start}.auth-hero__points strong{display:block;font-size:14px;font-weight:650;margin-bottom:3px}.auth-hero__points p{margin:0;font-size:13px;line-height:1.55;color:#ffffffa8}.auth-hero__point-dot{width:8px;height:8px;border-radius:50%;background:var(--tek-orange);box-shadow:0 0 0 4px #fe92252e;margin-top:6px;flex:0 0 auto}.auth-hero__footer{margin:0;font-size:12px;letter-spacing:.4px;color:#ffffff73}.auth-panel{display:flex;align-items:center;justify-content:center;padding:48px 32px;background:radial-gradient(700px 400px at 110% -10%,rgba(0,152,209,.07),transparent),var(--tgs-surface)}.auth-panel__inner{width:100%;max-width:380px;animation:auth-enter .45s cubic-bezier(.22,1,.36,1)}@keyframes auth-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-panel__brand{display:none;align-items:center;gap:10px;margin-bottom:28px}.auth-panel__title{margin:0 0 8px;font-size:26px;font-weight:700;letter-spacing:-.4px;color:var(--tek-navy)}.auth-panel__subtitle{margin:0 0 28px;font-size:13.5px;color:var(--tgs-slate-muted);line-height:1.6}.auth-panel__body .label{font-size:13px}.auth-panel__body .input{padding:11px 14px;font-size:14px;border-radius:var(--tgs-radius-md);transition:border-color .15s ease,box-shadow .15s ease}.auth-panel__body .input:focus{border-color:var(--tek-blue);box-shadow:0 0 0 3px #0098d129;outline:none}.auth-panel__body form .btn{width:100%;justify-content:center;padding:12px 16px;font-size:14px;border-radius:var(--tgs-radius-md);background:linear-gradient(135deg,var(--tek-navy) 0%,#06395c 60%,#0a5a86 100%);box-shadow:0 6px 18px #011c314d;transition:box-shadow .15s ease,transform .15s ease,filter .15s ease}.auth-panel__body form .btn:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 8px 24px #0098d14d;transform:translateY(-1px)}.auth-panel__body form .btn:disabled{box-shadow:none}.auth-password{position:relative}.auth-password .input{padding-right:62px}.auth-password__toggle{position:absolute;top:50%;right:10px;transform:translateY(-50%);border:0;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--tgs-slate-muted);cursor:pointer;padding:4px 6px;border-radius:var(--tgs-radius-sm)}.auth-password__toggle:hover{color:var(--tek-blue);background:#0098d114}.auth-text-link{border:0;background:none;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--tek-blue);cursor:pointer;text-align:left}.auth-text-link:hover{text-decoration:underline}@media(max-width:880px){.auth-split{grid-template-columns:1fr}.auth-hero{display:none}.auth-panel__brand{display:flex}}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:var(--tgs-slate-muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--tgs-border)}.auth-sso-btn{width:100%;justify-content:center}.avatar{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;letter-spacing:.3px;color:#fff;background:linear-gradient(135deg,var(--tgs-cyan),var(--tgs-navy));border:2px solid var(--tgs-surface);flex:0 0 auto;-webkit-user-select:none;user-select:none}.avatar--sm{width:24px;height:24px;font-size:9.5px}.avatar--owner{background:linear-gradient(135deg,var(--tgs-lime),var(--tgs-cyan));color:#07203f}.avatar--overflow{background:var(--tgs-border-strong);color:var(--tgs-slate)}.avatar--button{cursor:pointer;border:2px solid rgba(255,255,255,.55);transition:border-color .12s ease}.avatar--button:hover,.avatar--button[aria-expanded=true]{border-color:var(--tgs-lime)}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar+.avatar{margin-left:-8px}.topbar__spacer,.usermenu{margin-left:auto}.usermenu{position:relative;display:flex;align-items:center}.usermenu__panel{position:absolute;top:calc(100% + 10px);right:0;min-width:230px;background:var(--tgs-surface);border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-md);box-shadow:0 10px 30px #0f172a24;padding:6px;z-index:40}.usermenu__identity{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:10px 12px;border-bottom:1px solid var(--tgs-border);margin-bottom:6px}.usermenu__name{font-weight:650;font-size:13.5px;color:var(--tgs-slate)}.usermenu__email{font-size:12px;color:var(--tgs-slate-muted)}.usermenu__item{display:block;width:100%;text-align:left;font-size:13px;font-weight:500;color:var(--tgs-slate);padding:8px 12px;border:0;background:none;border-radius:var(--tgs-radius-sm);cursor:pointer}.usermenu__item:hover{background:var(--tgs-cyan-soft);color:var(--tgs-navy)}.usermenu__item--danger:hover{background:var(--tgs-red-bg);color:var(--tgs-red)}.table__filters th{padding:6px 12px 10px;background:var(--tgs-surface);border-bottom:1px solid var(--tgs-border)}.input--filter{width:100%;min-width:90px;max-width:170px;height:28px;padding:2px 8px;font-size:12px}.select--filter{width:100%;min-width:80px;max-width:170px;height:28px;padding:2px 24px 2px 8px;font-size:12px;font-weight:500;color:var(--tgs-slate-muted)}.select--filter-active{color:var(--tgs-navy);border-color:var(--tgs-cyan);background-color:var(--tgs-cyan-soft)}.workloads-overview{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.2fr);gap:16px;margin-bottom:16px;align-items:stretch}@media(max-width:860px){.workloads-overview{grid-template-columns:1fr}}.workloads-overview .team-progress,.workloads-overview .effort-estimates{margin-bottom:0;height:100%}.team-progress{display:flex;align-items:center;gap:24px;padding:16px 20px;margin-bottom:16px}.team-progress--compact{gap:16px;padding:14px 16px}.team-progress--compact .team-progress__title{font-size:11px}.team-progress--compact .team-progress__item{font-size:11.5px}.team-progress--compact .team-progress__legend{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:7px}.team-progress--compact .team-progress__body{gap:8px}.team-progress--compact .donut__pct{font-size:22px}.team-progress--flat{padding:0;margin-bottom:0;border:0;box-shadow:none}.team-progress__chart{flex:0 0 auto}.team-progress__body{display:flex;flex-direction:column;gap:10px;min-width:0}.team-progress__title{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tgs-navy)}.team-progress__legend{display:flex;flex-wrap:wrap;gap:8px 18px}.team-progress__item{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--tgs-slate)}.team-progress__item strong{font-variant-numeric:tabular-nums;color:var(--tgs-navy)}.team-progress__swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.team-progress__meta{font-size:12px}.donut__pct{font-size:22px;font-weight:750;fill:var(--tgs-navy)}.donut__caption{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--tgs-slate-muted)}.effort-estimates{display:flex;flex-direction:column;gap:12px;padding:14px 16px}.effort-estimates__head{display:flex;flex-direction:column;gap:2px}.effort-estimates__title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tgs-navy);display:inline-flex;align-items:center}.effort-estimates__sub{font-size:11.5px}.effort-estimates .infotip__bubble{left:auto;right:0;transform:none;width:min(280px,70vw)}.effort-row{display:grid;grid-template-columns:1fr auto;column-gap:12px;row-gap:2px;align-items:baseline}.effort-row__label{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--tgs-navy)}.effort-row__swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.effort-row__value{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.25}.effort-row__value strong{font-size:16px;font-variant-numeric:tabular-nums;color:var(--tgs-navy)}.effort-row__value .muted,.effort-row__compare{font-size:11px}.effort-row__def{grid-column:1 / -1;margin:0;font-size:11.5px}.effort-row .effort-bar{grid-column:1 / -1;margin-top:4px}.effort-row__compare{grid-column:1 / -1;margin-top:2px}.effort-bar{position:relative;height:6px;border-radius:999px;background:#eef2f7;overflow:hidden}.effort-bar__fill{position:absolute;inset:0 auto 0 0;border-radius:999px}.effort-bar__fill--ghost{background:#cbd5e1}.report-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.report-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--tgs-surface);border:1px solid var(--tgs-border);border-radius:var(--tgs-radius-lg);box-shadow:var(--tgs-shadow)}.report-tile--accent{border-color:#a7d5b9;background:var(--tgs-green-bg)}.report-tile__value{font-size:24px;font-weight:750;color:var(--tgs-navy);font-variant-numeric:tabular-nums}.report-tile--accent .report-tile__value{color:var(--tgs-green)}.report-tile__label{font-size:12px;font-weight:600;color:var(--tgs-slate-muted)}.report-grid{display:grid;grid-template-columns:minmax(320px,5fr) minmax(320px,7fr);gap:16px;margin-bottom:16px}@media(max-width:980px){.report-grid{grid-template-columns:1fr}}.daily-bars{display:flex;align-items:flex-end;gap:4px;height:140px}.daily-bars__col{flex:1 1 0;min-width:10px;max-width:46px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.daily-bars__bar{width:100%;min-height:3px;background:var(--tgs-cyan);border-radius:3px 3px 0 0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.daily-bars__completed{width:100%;background:#16a34a}.daily-bars__date{font-size:10px;color:var(--tgs-slate-muted);white-space:nowrap}.btn--pressed{border-color:var(--tgs-cyan);background:var(--tgs-cyan-soft);color:var(--tgs-navy)}.scope-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent;white-space:nowrap}.scope-chip--pending{background:#e0f4fb;color:#015a7a;border-color:#0098d1}.scope-chip--reviewed{background:#f4f8c8;color:#3d4500;border-color:#c4d600}.scope-chip--out{background:#eef1f4;color:#3c4858;border-color:#c5ced6}.scope-chip--implicit{background:transparent;color:#6b7280;border-style:dashed;border-color:#94a3b8}.scope-chip--inherited{opacity:.85}.scope-chip__inherit{font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.03em;opacity:.7}.card:has(.review-card) .card__head{padding:10px 14px}.review-card{display:flex;flex-direction:column;gap:8px;padding:10px 14px 12px}.review-card__row{display:flex;align-items:flex-start;gap:10px 14px;flex-wrap:wrap}.review-card__label{flex:0 0 48px;padding-top:5px;font-size:11.5px;font-weight:600;color:var(--tgs-slate-muted)}.review-card__field{flex:1 1 220px;min-width:0}.review-card__target{display:flex;align-items:center;gap:8px;margin-left:auto}.review-card__target .review-card__label{padding-top:0;flex-basis:auto}.review-card__meta{display:block;margin-top:4px;font-size:11px}.select--compact{width:auto;min-width:108px;max-width:140px;padding:4px 8px;font-size:12.5px}.input--compact{width:160px;max-width:100%;padding:4px 8px;font-size:12.5px}.input--note{max-width:420px;min-height:0;padding:6px 8px;font-size:13px}.scope-btn{border:1px solid var(--tgs-border);background:#fff;border-radius:999px;padding:3px 8px;font-size:12px;cursor:pointer}.scope-btn--on{border-color:var(--tgs-navy);background:var(--tgs-navy);color:#fff}.tag-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid color-mix(in srgb,var(--tag-color) 45%,#fff);background:color-mix(in srgb,var(--tag-color) 14%,#fff);color:var(--tgs-navy);cursor:pointer}.tag-chip--static{cursor:default}.tag-suggest{list-style:none;margin:0;padding:4px 0;border:1px solid var(--tgs-border);border-radius:8px;background:#fff}.tag-suggest__item{display:block;width:100%;text-align:left;padding:6px 10px;background:none;border:0;cursor:pointer;font-size:13px}.tag-suggest__item:hover{background:var(--tgs-bg)}.note-preview{display:block;max-width:420px;width:100%;text-align:left;border:1px dashed var(--tgs-border);border-radius:6px;padding:5px 8px;background:#fafbfc;cursor:pointer;min-height:0}.note-preview__body{margin:0;font-family:inherit;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.feature-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--tgs-border);border-radius:12px;background:#fff;text-decoration:none;color:inherit}.feature-card:hover,.feature-card--on{border-color:var(--tgs-cyan);box-shadow:0 0 0 1px var(--tgs-cyan)}.feature-card__swatch{width:28px;height:4px;border-radius:2px}.feature-tree{padding:12px 0;border-top:1px solid var(--tgs-border)}.feature-tree:first-child{border-top:0;padding-top:0}.stack-board{position:relative;display:flex;align-items:flex-start;gap:16px;padding:16px 16px 8px;min-height:280px;overflow-x:auto;background:#f4f7fa}.stack-connectors{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}.stack-connectors path{fill:none;stroke:#94a3b8;stroke-width:1.5}.stack-col{position:relative;z-index:1;flex:0 0 220px;min-width:200px;max-width:280px}.stack-col__title{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tgs-slate-muted)}.stack-col__list{display:flex;flex-direction:column;gap:10px}.stack-card{display:flex;flex-direction:column;border-radius:10px;background:#fff;border:1px solid #d5dde5;border-left-width:4px;box-shadow:0 1px 2px #011c310f}.stack-card__hit{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:10px 12px;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.stack-card__hit--static{cursor:default}.stack-card__kind{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.stack-card__name{font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:13.5px;font-weight:650;line-height:1.35;overflow-wrap:anywhere;color:var(--tgs-navy)}.stack-card__scope{font-size:11px;color:#64748b}.stack-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:2px}.stack-card__count{font-size:11px;color:#64748b}.stack-card__chevron{font-size:12px;color:#0098d1}.stack-card__open{align-self:flex-start;margin:0 12px 10px;padding:0;border:0;background:none;color:#0098d1;font-size:12px;font-weight:600;cursor:pointer}.stack-card__open:hover{text-decoration:underline}.stack-card--feature{background:#011c31;border-color:#011c31;color:#fff}.stack-card--feature .stack-card__kind{color:#c4d600}.stack-card--feature .stack-card__name,.stack-card--feature .stack-card__count,.stack-card--feature .stack-card__chevron{color:#fff}.stack-card--proc{background:#f8fafc}.stack-card--copybook{background:#f8fafc;border-left-color:#64748b}.stack-card--table{background:#e0f4fb;border-left-color:#0098d1}.stack-card--reviewed{border-left-color:#c4d600}.stack-card--pending{border-left-color:#0098d1}.stack-card--out{border-left-color:#94a3b8}.stack-card--implicit{border-left-color:#cbd5e1;border-left-style:dashed}.stack-card--expandable:hover,.stack-card--selected{border-color:#0098d1;box-shadow:0 0 0 1px #0098d1}.stack-card--feature.stack-card--selected,.stack-card--feature.stack-card--expandable:hover{box-shadow:0 0 0 2px #c4d600}.stack-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px 14px;font-size:12px;color:var(--tgs-slate-muted)}.stack-legend__swatches{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.stack-legend__dot{display:inline-block;width:8px;height:8px;border-radius:50%}.stack-legend__dot--reviewed{background:#c4d600}.stack-legend__dot--pending{background:#0098d1}.stack-legend__dot--out{background:#94a3b8}
