[hidden]{display:none!important}
.dashboard-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #cddbe2;padding-bottom:12px;margin:24px 0}
.dashboard-tabs button{background:transparent;color:#496271;border-color:transparent}
.dashboard-tabs button[aria-selected=true]{background:#096d68;color:#fff}
.dashboard-tabs button:focus-visible{outline:3px solid #dd780c;outline-offset:3px}
.pipeline-legend{display:flex;flex-wrap:wrap;gap:22px;color:#607685;font-size:12px}
.workflow-grid{align-items:start}
.stage-list{list-style:none;padding:0;margin:24px 0}
.stage{--stage-color:#087fb5;display:flex;gap:20px;position:relative;padding:0 0 24px;color:#728694;min-height:100px}
.stage[data-stage=generate],.stage[data-stage=extract]{--stage-color:#8455d2}
.stage[data-stage=upload],.stage[data-stage=sign]{--stage-color:#13935a}
.stage[data-stage=login]{--stage-color:#c27605}
.stage[data-stage=patient]{--stage-color:#c84287}
.stage[data-stage=document]{--stage-color:#168d94}
.stage:not(:last-child):before{content:"";position:absolute;left:15px;top:31px;bottom:0;width:3px;background:#dce4e9}
.stage.completed:not(:last-child):before{background:var(--stage-color)}
.stage>div{flex:1;border-left:3px solid var(--stage-color);padding-left:14px;min-width:0;overflow-wrap:anywhere}
.stage-dot{flex:0 0 33px;height:33px;border:5px solid #e3e9ed;border-radius:50%;background:#87949f;box-shadow:inset 0 2px 4px #52627255;margin-top:3px;z-index:1}
.stage strong{color:#284656;display:block}.stage-number{margin:0 0 3px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--stage-color);font-weight:700}
.stage.completed .stage-dot,.stage.running .stage-dot{background:var(--stage-color);border-color:#eff5f7;box-shadow:0 0 12px var(--stage-color),inset 0 2px 3px #ffffffb0}
.stage.running .stage-dot{animation:stage-blink 1.2s ease-in-out infinite}
.stage.running .stage-state{color:var(--stage-color);font-weight:700}
.stage.failed .stage-dot{background:#c93838;border-color:#ffe4e4}.stage.failed .stage-state{color:#af2020}
.stage.stopped .stage-state,.stage.blocked .stage-state,.stage.interrupted .stage-state{color:#9b6308}
.stage-state{text-transform:capitalize}.stage-detail:empty{display:none}
@keyframes stage-blink{0%,100%{opacity:1;box-shadow:0 0 14px var(--stage-color)}50%{opacity:.3;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.stage.running .stage-dot{animation:none;outline:2px dashed var(--stage-color);outline-offset:4px}}
.run-detail{min-height:24px;font-size:13px}.duo-panel{display:grid;grid-template-columns:1fr auto;gap:8px 25px;border-left:4px solid #d95800;max-width:550px}.duo-panel h2{margin:0}.duo-panel p{margin:7px 0 0}.duo-panel small{grid-column:1/-1}.duo-panel output{font-size:38px;letter-spacing:7px;font-weight:700;color:#b54800;align-self:center;font-variant-numeric:tabular-nums}.pipeline-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.pipeline-metrics .card{padding:18px}.pipeline-metrics strong{font-size:28px;display:block;color:#086b65}.pipeline-metrics span{display:block;font-size:12px;color:#567180;line-height:1.5;margin-top:5px}.pagination{display:flex;gap:20px;align-items:center;margin-top:20px}a[aria-disabled=true]{pointer-events:none;opacity:.45}td .pill{margin:2px}summary{cursor:pointer;font-weight:600}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.detail-grid dt{font-size:12px;color:#607685}.detail-grid dd{margin:5px 0 0;overflow-wrap:anywhere}#connection-status{white-space:normal}@media(max-width:600px){.detail-grid{grid-template-columns:1fr}.duo-panel{max-width:100%}.duo-panel output{font-size:30px;letter-spacing:4px}}


/* Pipelines stay horizontal; narrow screens scroll each sequence. */
.workflow-grid{grid-template-columns:minmax(0,1fr);gap:0}
.stage-list{display:flex;overflow-x:auto;padding:8px 4px 16px;gap:0}
.stage{flex:1 0 155px;min-width:0;flex-direction:column;gap:14px;padding:0 18px 8px 0}
.stage:not(:last-child):before{left:33px;right:0;top:19px;bottom:auto;width:auto;height:3px}
.stage-dot{flex:0 0 33px;width:33px}
.stage>div{border-left:0;border-top:3px solid var(--stage-color);padding:10px 0 0}
.stage-detail{font-size:12px}.stage strong{font-size:14px}
[data-counts]{display:block}
.pipeline-metrics{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);grid-template-columns:none;overflow-x:auto;gap:12px;padding:2px 2px 10px;margin:0;border:0}
.pipeline-metrics .card{border-top:3px solid #087fb5;padding:16px;margin-bottom:12px}
.pipeline-metrics .card:nth-child(2n){border-top-color:#8455d2}.pipeline-metrics .card:nth-child(3n){border-top-color:#13935a}
.pipeline-metrics strong{font-size:26px}.pipeline-metrics span{margin-top:5px}
.workflow-toolbar{margin-bottom:18px}.workflow-toolbar p{max-width:780px;margin:0}
.individual-steps{margin-top:20px;padding-top:16px;border-top:1px solid #e0e8ec}
.individual-steps .actions{margin-top:15px}
#shared-filters h2{font-size:18px}#shared-filters .grid{gap:12px}#shared-filters label{margin-bottom:8px}
