/* BayesARC Protein Engineering Workbench v3
   App-shell and scientific interaction layer. The original landing stylesheet
   remains the visual baseline; this file upgrades campaign work into an IDE-like workspace. */

:root{
  --pev3-bg:#07111d;--pev3-bg2:#0b1725;--pev3-card:#0e1b2b;--pev3-card2:#112235;
  --pev3-line:rgba(151,178,205,.18);--pev3-line2:rgba(151,178,205,.30);
  --pev3-text:#edf5fb;--pev3-muted:#91a7bb;--pev3-soft:#bdcbd7;
  --pev3-cyan:#56d7d3;--pev3-blue:#78a9ff;--pev3-violet:#9c8cff;
  --pev3-green:#68d9a1;--pev3-amber:#f1c56b;--pev3-red:#ff8d93;
  --pev3-shadow:0 22px 68px rgba(0,0,0,.28);
}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
.pev3-nav-workspace{border:0;background:transparent;color:inherit;padding:.25rem .1rem;cursor:pointer;font:inherit}
.pev3-nav-workspace:hover{color:#fff}
.pe-topbar-actions .pe-nav-primary{border:0;cursor:pointer}

.pev3-workbench[hidden]{display:none!important}
body.pev3-workspace-active{overflow:hidden}
body.pev3-workspace-active .pe-section-rail,
body.pev3-workspace-active #peMain>.pe-hero,
body.pev3-workspace-active #peMain>.pe-proof-strip,
body.pev3-workspace-active #peMain>.pe-workflow,
body.pev3-workspace-active #peMain>.pe-builder,
body.pev3-workspace-active #peMain>.pe-modes,
body.pev3-workspace-active #peMain>.pe-lab,
body.pev3-workspace-active #peMain>.pe-portfolio,
body.pev3-workspace-active #peMain>.pe-runtime,
body.pev3-workspace-active #peMain>.pe-boundary,
body.pev3-workspace-active #peMain>.pe-closeout,
body.pev3-workspace-active .pe-footer{display:none!important}
body.pev3-workspace-active #peMain{max-width:none;width:100%;padding:0;margin:0}
body.pev3-workspace-active .pe-topbar{position:fixed;top:0;left:0;right:0;z-index:40}

.pev3-workbench{
  position:fixed;inset:var(--pe-topbar-h,72px) 0 0;background:
  radial-gradient(circle at 78% 4%,rgba(91,75,160,.11),transparent 31%),
  radial-gradient(circle at 30% 10%,rgba(40,151,170,.08),transparent 28%),
  var(--pev3-bg);color:var(--pev3-text);z-index:30;overflow:hidden;
}
.pev3-workbench-bar{
  height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:0 1.15rem;border-bottom:1px solid var(--pev3-line);background:rgba(7,17,29,.94);
  backdrop-filter:blur(16px)
}
.pev3-workbench-id,.pev3-workbench-actions{display:flex;align-items:center;gap:.8rem}
.pev3-workbench-id>div{display:grid;gap:.12rem}
.pev3-workbench-id span,.pev3-campaign-switcher span{
  color:var(--pev3-cyan);font-size:.61rem;font-weight:800;letter-spacing:.13em
}
.pev3-workbench-id strong{font-size:.98rem;max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pev3-workbench-id small{color:var(--pev3-muted);font-size:.67rem}
.pev3-icon-button{
  width:34px;height:34px;border-radius:10px;border:1px solid var(--pev3-line);background:#0d1c2b;color:var(--pev3-text);cursor:pointer
}
.pev3-campaign-switcher{display:grid;gap:.18rem}
.pev3-campaign-switcher select{
  min-width:210px;max-width:270px;border:1px solid var(--pev3-line);background:#0c1a28;color:var(--pev3-text);
  border-radius:9px;padding:.54rem .72rem;font-size:.74rem
}
.pev3-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.58rem .85rem;border-radius:9px;
  border:1px solid var(--pev3-line);font-size:.72rem;font-weight:750;cursor:pointer;transition:.16s ease
}
.pev3-button.primary{background:linear-gradient(135deg,#2d8f9e,#6f63ca);color:#fff;border-color:transparent}
.pev3-button.secondary{background:#0e1d2c;color:var(--pev3-text)}
.pev3-button:hover{transform:translateY(-1px);filter:brightness(1.06)}
.pev3-button:disabled{opacity:.42;cursor:not-allowed;transform:none}

.pev3-workbench-grid{
  display:grid;grid-template-columns:190px minmax(0,1fr) 276px;height:calc(100% - 74px);min-height:0
}
.pev3-workbench-nav{
  border-right:1px solid var(--pev3-line);background:rgba(7,17,29,.72);padding:.7rem .55rem;overflow:auto
}
.pev3-workbench-nav button{
  width:100%;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:.3rem;text-align:left;
  padding:.66rem .55rem;margin:.12rem 0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--pev3-soft);cursor:pointer
}
.pev3-workbench-nav button>span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--pev3-line);border-radius:8px;color:var(--pev3-muted)}
.pev3-workbench-nav button b{font-size:.72rem}
.pev3-workbench-nav button small{font-size:.59rem;color:var(--pev3-muted);margin-top:.08rem}
.pev3-workbench-nav button:hover{background:rgba(255,255,255,.025)}
.pev3-workbench-nav button.active{background:linear-gradient(90deg,rgba(74,192,196,.12),rgba(122,103,212,.06));border-color:rgba(86,215,211,.22);color:#fff}
.pev3-workbench-nav button.active>span{color:var(--pev3-cyan);border-color:rgba(86,215,211,.34)}
.pev3-nav-boundary{margin:.9rem .3rem .2rem;padding:.72rem;border:1px solid var(--pev3-line);border-radius:10px;color:var(--pev3-muted);font-size:.59rem;line-height:1.55}
.pev3-nav-boundary i{display:block;width:7px;height:7px;border-radius:50%;background:var(--pev3-green);box-shadow:0 0 0 5px rgba(104,217,161,.08);margin-bottom:.55rem}

.pev3-workbench-main{min-width:0;overflow:auto;padding:1rem 1rem 7rem;scrollbar-width:thin}
.pev3-panel{display:none;animation:pev3Fade .18s ease}
.pev3-panel.active{display:block}
@keyframes pev3Fade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
.pev3-panel-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.pev3-panel-heading>div>span,.pev3-card-head span,.pev3-pareto-head span,.pev3-dialog-eyebrow{
  color:var(--pev3-cyan);font-weight:800;font-size:.62rem;letter-spacing:.13em
}
.pev3-panel-heading h2{font-size:1.22rem;margin:.22rem 0 0;letter-spacing:-.025em}
.pev3-text-button{border:0;background:transparent;color:var(--pev3-blue);font-size:.68rem;font-weight:750;cursor:pointer;padding:.3rem}
.pev3-text-button:disabled{opacity:.35;cursor:not-allowed}

.pev3-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:.75rem}
.pev3-kpi{
  min-height:86px;padding:.8rem;border:1px solid var(--pev3-line);border-radius:12px;
  background:linear-gradient(145deg,rgba(16,33,50,.86),rgba(9,24,38,.84));box-shadow:0 10px 34px rgba(0,0,0,.11)
}
.pev3-kpi small{display:block;color:var(--pev3-muted);font-size:.59rem;text-transform:uppercase;letter-spacing:.09em}
.pev3-kpi strong{display:block;font-size:1.36rem;margin:.36rem 0 .1rem}
.pev3-kpi span{font-size:.62rem;color:var(--pev3-soft)}

.pev3-two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:.7rem;margin-top:.7rem}
.pev3-card{
  border:1px solid var(--pev3-line);border-radius:13px;background:linear-gradient(155deg,rgba(14,29,45,.95),rgba(8,21,34,.96));
  box-shadow:0 12px 38px rgba(0,0,0,.11);padding:.85rem;min-width:0
}
.pev3-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;margin-bottom:.7rem}
.pev3-card-head h3{font-size:.84rem;margin:.18rem 0 0}
.pev3-card-head>small{font-size:.64rem;color:var(--pev3-cyan);padding-top:.25rem}
.pev3-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.pev3-summary-item{padding:.6rem;border:1px solid var(--pev3-line);border-radius:9px;background:rgba(255,255,255,.018)}
.pev3-summary-item span{display:block;color:var(--pev3-muted);font-size:.57rem;text-transform:uppercase;letter-spacing:.08em}
.pev3-summary-item strong{display:block;margin-top:.25rem;font-size:.7rem;overflow-wrap:anywhere}
.pev3-summary-copy{color:var(--pev3-soft);font-size:.68rem;line-height:1.6;margin:.65rem 0 0}
.pev3-chip-row{display:flex;flex-wrap:wrap;gap:.32rem;margin-top:.55rem}
.pev3-chip{padding:.3rem .48rem;border:1px solid var(--pev3-line);border-radius:999px;color:var(--pev3-soft);font-size:.57rem;background:rgba(255,255,255,.018)}
.pev3-chip.good{color:var(--pev3-green);border-color:rgba(104,217,161,.28)}
.pev3-chip.warn{color:var(--pev3-amber);border-color:rgba(241,197,107,.3)}
.pev3-chip.bad{color:var(--pev3-red);border-color:rgba(255,141,147,.26)}

.pev3-evidence-graph{min-height:190px;display:flex;align-items:center;overflow:auto;padding:.5rem .1rem}
.pev3-graph-flow{display:flex;align-items:stretch;gap:.25rem;min-width:max-content;width:100%}
.pev3-graph-node{
  min-width:112px;max-width:150px;flex:1;padding:.62rem;border:1px solid var(--pev3-line);border-radius:10px;background:rgba(255,255,255,.02)
}
.pev3-graph-node span{display:block;color:var(--pev3-muted);font-size:.54rem;text-transform:uppercase}
.pev3-graph-node strong{display:block;font-size:.67rem;margin:.22rem 0}
.pev3-graph-node small{display:block;color:var(--pev3-soft);font-size:.55rem;line-height:1.35}
.pev3-graph-node.active{border-color:rgba(86,215,211,.35);box-shadow:inset 0 0 0 1px rgba(86,215,211,.06)}
.pev3-graph-arrow{display:grid;place-items:center;color:var(--pev3-muted);font-size:.76rem}

.pev3-review-list,.pev3-job-list{display:grid;gap:.45rem}
.pev3-review-row,.pev3-job-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:.58rem;border:1px solid var(--pev3-line);border-radius:9px;background:rgba(255,255,255,.015)
}
.pev3-review-row strong,.pev3-job-row strong{font-size:.66rem}
.pev3-review-row p,.pev3-job-row p{margin:.17rem 0 0;color:var(--pev3-muted);font-size:.58rem}
.pev3-state{align-self:start;padding:.24rem .38rem;border-radius:999px;border:1px solid var(--pev3-line);font-size:.54rem;text-transform:uppercase}
.pev3-state.accepted,.pev3-state.completed{color:var(--pev3-green);border-color:rgba(104,217,161,.26)}
.pev3-state.rejected,.pev3-state.failed{color:var(--pev3-red);border-color:rgba(255,141,147,.25)}
.pev3-state.needs_revision,.pev3-state.running,.pev3-state.queued{color:var(--pev3-amber);border-color:rgba(241,197,107,.25)}

.pev3-explorer-toolbar{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(130px,.7fr) minmax(145px,.7fr) auto;gap:.55rem;align-items:end;margin-bottom:.7rem}
.pev3-explorer-toolbar label,.pev3-axis-controls label,.pev3-form-stack label{display:grid;gap:.28rem;color:var(--pev3-muted);font-size:.58rem}
.pev3-explorer-toolbar input,.pev3-explorer-toolbar select,.pev3-axis-controls select,.pev3-form-stack input,.pev3-form-stack select,.pev3-form-stack textarea{
  width:100%;border:1px solid var(--pev3-line);border-radius:9px;background:#0a1927;color:var(--pev3-text);padding:.58rem .65rem;outline:none
}
.pev3-explorer-toolbar input:focus,.pev3-explorer-toolbar select:focus,.pev3-form-stack input:focus,.pev3-form-stack textarea:focus,.pev3-form-stack select:focus{border-color:rgba(86,215,211,.48);box-shadow:0 0 0 3px rgba(86,215,211,.06)}
.pev3-toolbar-count{display:grid;place-items:center;min-height:50px;padding:.4rem .7rem;border:1px solid var(--pev3-line);border-radius:9px}
.pev3-toolbar-count strong{font-size:.9rem}.pev3-toolbar-count span{font-size:.54rem;color:var(--pev3-muted)}

.pev3-pareto-card{border:1px solid var(--pev3-line);border-radius:13px;background:linear-gradient(145deg,rgba(14,31,47,.92),rgba(8,20,33,.96));padding:.8rem;margin-bottom:.7rem}
.pev3-pareto-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.pev3-pareto-head h3{font-size:.82rem;margin:.18rem 0 0}
.pev3-axis-controls{display:flex;gap:.45rem}.pev3-axis-controls label{grid-template-columns:auto 120px;align-items:center}
.pev3-axis-controls select{padding:.42rem .5rem}
.pev3-pareto-plot{height:270px;margin:.5rem 0 .25rem;border:1px solid var(--pev3-line);border-radius:10px;background:
  linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:40px 40px;overflow:hidden}
.pev3-pareto-plot svg{width:100%;height:100%;display:block}
.pev3-plot-axis{stroke:rgba(189,203,215,.28);stroke-width:1}
.pev3-plot-label{fill:#91a7bb;font:10px ui-sans-serif,system-ui}
.pev3-plot-point{cursor:pointer;transition:.12s}
.pev3-plot-point:hover{r:8}
.pev3-plot-legend{display:flex;align-items:center;gap:.7rem;color:var(--pev3-soft);font-size:.57rem}
.pev3-plot-legend span{display:flex;align-items:center;gap:.25rem}.pev3-plot-legend i{width:8px;height:8px;border-radius:50%;display:block}
.pev3-plot-legend .front{background:var(--pev3-cyan)}.pev3-plot-legend .other{background:var(--pev3-blue)}.pev3-plot-legend .selected{background:var(--pev3-violet)}
.pev3-plot-legend small{margin-left:auto;color:var(--pev3-muted)}

.pev3-design-table-wrap{border:1px solid var(--pev3-line);border-radius:12px;overflow:auto;background:#091725}
.pev3-design-table{width:100%;border-collapse:collapse;min-width:930px}
.pev3-design-table th{position:sticky;top:0;z-index:1;background:#102131;color:var(--pev3-muted);font-size:.56rem;text-transform:uppercase;letter-spacing:.07em;text-align:left;padding:.62rem;border-bottom:1px solid var(--pev3-line)}
.pev3-design-table td{padding:.62rem;border-bottom:1px solid rgba(151,178,205,.10);font-size:.64rem;color:var(--pev3-soft);vertical-align:middle}
.pev3-design-table tr{cursor:pointer}.pev3-design-table tbody tr:hover{background:rgba(255,255,255,.018)}
.pev3-design-table tr.selected{background:rgba(156,140,255,.07);box-shadow:inset 2px 0 0 var(--pev3-violet)}
.pev3-design-table td strong{display:block;color:var(--pev3-text);font-size:.67rem}
.pev3-design-table td small{color:var(--pev3-muted);font-size:.54rem}
.pev3-metric-mini{display:flex;gap:.25rem;flex-wrap:wrap}.pev3-metric-mini span{padding:.22rem .3rem;border:1px solid var(--pev3-line);border-radius:5px;font-size:.52rem}
.pev3-front-badge{padding:.24rem .38rem;border-radius:999px;color:var(--pev3-cyan);border:1px solid rgba(86,215,211,.3);font-size:.53rem}

.pev3-sequence-layout{grid-template-columns:1fr 1fr}
.pev3-mutation-list,.pev3-liability-list{display:flex;flex-wrap:wrap;gap:.35rem}
.pev3-mutation{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:.28rem .4rem;border:1px solid rgba(156,140,255,.28);border-radius:6px;color:#c8c0ff;background:rgba(156,140,255,.06);font-size:.58rem}
.pev3-liability-tile{flex:1;min-width:105px;padding:.55rem;border:1px solid var(--pev3-line);border-radius:8px}
.pev3-liability-tile span{display:block;color:var(--pev3-muted);font-size:.54rem}.pev3-liability-tile strong{display:block;margin-top:.18rem;font-size:.78rem}
.pev3-sequence-card{margin-top:.7rem}
.pev3-sequence-legend{display:flex;flex-wrap:wrap;gap:.3rem}
.pev3-sequence-legend span{padding:.2rem .34rem;border-radius:5px;border:1px solid var(--pev3-line);font-size:.5rem;color:var(--pev3-muted)}
.pev3-sequence-canvas{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:2.1;overflow:auto;max-height:470px;padding:.5rem}
.pev3-seq-row{display:grid;grid-template-columns:46px minmax(0,1fr);gap:.6rem;margin:.18rem 0}
.pev3-seq-index{color:var(--pev3-muted);font-size:.58rem;text-align:right;padding-top:.05rem}
.pev3-seq-residues{display:flex;flex-wrap:wrap;gap:2px}
.pev3-residue{position:relative;display:inline-grid;place-items:center;width:20px;height:24px;border-radius:4px;color:#dce8f2;font-size:.62rem;cursor:pointer;border:1px solid transparent}
.pev3-residue:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.06)}
.pev3-residue.glyco{box-shadow:inset 0 -3px 0 #56d7d3}
.pev3-residue.deam{box-shadow:inset 0 -3px 0 #f1c56b}
.pev3-residue.iso{outline:1px solid rgba(255,141,147,.6)}
.pev3-residue.hydro{background:rgba(120,169,255,.09)}
.pev3-residue.low{background:rgba(104,217,161,.07)}
.pev3-residue.mut{color:#fff;background:rgba(156,140,255,.25);border-color:rgba(156,140,255,.5)}
.pev3-residue.pev3-structure-selected{box-shadow:0 0 0 2px #fff,0 0 0 5px rgba(86,215,211,.24)}
.pev3-seq-tooltip{margin-top:.6rem;min-height:26px;padding:.45rem .55rem;border:1px solid var(--pev3-line);border-radius:8px;color:var(--pev3-soft);font-size:.59rem}

.pev3-structure-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(250px,.55fr);gap:.7rem}
.pev3-viewer-card{padding:0;overflow:hidden}.pev3-structure-viewer{height:560px;position:relative;background:radial-gradient(circle at 50% 42%,#16314a,#050b12 70%)}
.pev3-viewer-boundary{padding:.65rem .8rem;border-top:1px solid var(--pev3-line);color:var(--pev3-muted);font-size:.59rem;line-height:1.45}
.pev3-empty-state{height:100%;display:grid;place-content:center;text-align:center;padding:2rem;color:var(--pev3-muted)}
.pev3-empty-state strong{color:var(--pev3-soft);font-size:.8rem}.pev3-empty-state p{max-width:430px;font-size:.64rem;line-height:1.55}
.pev3-structure-actions{display:flex;gap:.35rem}
.pev3-structure-meta{display:grid;gap:.45rem}.pev3-structure-meta div{padding:.55rem;border:1px solid var(--pev3-line);border-radius:8px}
.pev3-structure-meta span{display:block;color:var(--pev3-muted);font-size:.54rem}.pev3-structure-meta strong{display:block;margin-top:.2rem;font-size:.64rem;overflow-wrap:anywhere}

.pev3-evidence-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:.7rem}
.pev3-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.pev3-metric-card{padding:.65rem;border:1px solid var(--pev3-line);border-radius:9px;min-height:106px}
.pev3-metric-card>span{display:block;color:var(--pev3-muted);font-size:.55rem;text-transform:uppercase}
.pev3-metric-card>strong{display:block;font-size:1rem;margin:.32rem 0}
.pev3-metric-card small{display:block;color:var(--pev3-soft);font-size:.53rem;line-height:1.45}
.pev3-evidence-class{display:inline-flex!important;margin-top:.35rem;padding:.2rem .34rem;border-radius:999px;border:1px solid var(--pev3-line);font-size:.49rem!important;letter-spacing:.04em}
.pev3-evidence-class.MEASURED{color:var(--pev3-green);border-color:rgba(104,217,161,.28)}
.pev3-evidence-class.PREDICTED{color:var(--pev3-violet);border-color:rgba(156,140,255,.28)}
.pev3-evidence-class.COMPUTED{color:var(--pev3-cyan);border-color:rgba(86,215,211,.28)}
.pev3-evidence-class.RETRIEVED{color:var(--pev3-blue);border-color:rgba(120,169,255,.28)}
.pev3-form-stack{display:grid;gap:.55rem}
.pev3-form-stack textarea{resize:vertical;line-height:1.45}
.pev3-confirm{grid-template-columns:18px 1fr!important;align-items:start!important;gap:.45rem!important;line-height:1.45}
.pev3-confirm input{width:15px!important;height:15px!important;margin-top:.1rem}
.pev3-form-status{display:block;min-height:1em;color:var(--pev3-muted);font-size:.58rem;line-height:1.4}
.pev3-form-status.is-error{color:var(--pev3-red)}

.pev3-jobs-layout{display:grid;grid-template-columns:minmax(310px,.65fr) minmax(0,1.35fr);gap:.7rem}
.pev3-job-detail{display:grid;gap:.2rem}.pev3-job-detail code{color:var(--pev3-muted);font-size:.51rem;overflow-wrap:anywhere}
.pev3-job-output{margin-top:.38rem;max-height:160px;overflow:auto;padding:.45rem;background:#06111c;border:1px solid var(--pev3-line);border-radius:7px;font:500 .52rem/1.5 ui-monospace,monospace;color:#aec0cf;white-space:pre-wrap}

.pev3-engine-console{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.pev3-engine{border:1px solid var(--pev3-line);border-radius:12px;background:linear-gradient(145deg,#0e1d2d,#091723);padding:.75rem}
.pev3-engine-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}
.pev3-engine-head h3{font-size:.78rem;margin:0}.pev3-engine-head span{font-size:.53rem;padding:.24rem .35rem;border-radius:999px;border:1px solid var(--pev3-line)}
.pev3-engine p{color:var(--pev3-soft);font-size:.6rem;line-height:1.5;margin:.45rem 0}
.pev3-engine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.36rem}
.pev3-engine-grid div{padding:.45rem;border:1px solid rgba(151,178,205,.12);border-radius:7px}
.pev3-engine-grid span{display:block;color:var(--pev3-muted);font-size:.49rem;text-transform:uppercase}.pev3-engine-grid strong{display:block;font-size:.58rem;margin-top:.15rem;overflow-wrap:anywhere}
.pev3-engine-boundary{margin-top:.45rem;padding:.48rem;border-left:2px solid var(--pev3-amber);background:rgba(241,197,107,.035);color:var(--pev3-muted);font-size:.53rem;line-height:1.45}

.pev3-inspector{border-left:1px solid var(--pev3-line);background:rgba(8,20,32,.84);padding:.75rem;overflow:auto}
.pev3-inspector-head{display:grid;gap:.16rem;padding-bottom:.65rem;border-bottom:1px solid var(--pev3-line)}
.pev3-inspector-head span{color:var(--pev3-cyan);font-size:.56rem;font-weight:800;letter-spacing:.12em}
.pev3-inspector-head strong{font-size:.8rem}.pev3-inspector-head small{color:var(--pev3-muted);font-size:.54rem;overflow-wrap:anywhere}
.pev3-inspector-body{display:grid;gap:.5rem;padding:.65rem 0}
.pev3-inspector-block{padding:.58rem;border:1px solid var(--pev3-line);border-radius:9px;background:rgba(255,255,255,.015)}
.pev3-inspector-block>span{display:block;color:var(--pev3-muted);font-size:.5rem;text-transform:uppercase}.pev3-inspector-block>strong{display:block;font-size:.67rem;margin:.16rem 0}.pev3-inspector-block p{font-size:.55rem;color:var(--pev3-soft);line-height:1.45;margin:.2rem 0 0}
.pev3-inspector-actions{display:grid;grid-template-columns:1fr;gap:.4rem;padding-top:.55rem;border-top:1px solid var(--pev3-line)}

.pev3-job-tray{position:absolute;left:190px;right:276px;bottom:0;border-top:1px solid var(--pev3-line2);background:rgba(6,15,25,.96);box-shadow:0 -16px 35px rgba(0,0,0,.22)}
.pev3-job-tray-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.48rem .8rem;border:0;background:transparent;color:var(--pev3-text);cursor:pointer}
.pev3-job-tray-toggle span{font-size:.54rem;color:var(--pev3-cyan);letter-spacing:.12em}.pev3-job-tray-toggle strong{font-size:.58rem;color:var(--pev3-amber)}
#pev3JobTrayBody{display:flex;gap:.45rem;overflow:auto;max-height:0;transition:max-height .18s ease;padding:0 .65rem}
.pev3-job-tray.open #pev3JobTrayBody{max-height:155px;padding-bottom:.55rem}
.pev3-job-tray-card{min-width:245px;padding:.5rem;border:1px solid var(--pev3-line);border-radius:8px;background:#0b1a28}
.pev3-job-tray-card strong{display:block;font-size:.6rem}.pev3-job-tray-card span{display:block;color:var(--pev3-muted);font-size:.51rem;margin-top:.15rem}

.pev3-template-block{margin:1rem 0}
.pev3-template-block>span{display:block;color:var(--pev3-cyan);font-size:.61rem;font-weight:800;letter-spacing:.12em;margin-bottom:.45rem}
.pev3-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.pev3-template{border:1px solid rgba(151,178,205,.2);border-radius:9px;background:rgba(8,23,35,.52);padding:.62rem;color:inherit;text-align:left;cursor:pointer}
.pev3-template:hover{border-color:rgba(86,215,211,.35);background:rgba(86,215,211,.035)}
.pev3-template strong{display:block;font-size:.66rem}.pev3-template small{display:block;color:#88a0b5;font-size:.54rem;line-height:1.4;margin-top:.2rem}
.pev3-mode-contract{margin-top:.65rem;padding:.65rem;border:1px solid rgba(86,215,211,.2);border-radius:9px;background:rgba(86,215,211,.035)}
.pev3-mode-contract strong{display:block;font-size:.66rem}.pev3-mode-contract p{margin:.3rem 0;color:inherit!important;font-size:.61rem!important}.pev3-mode-contract span{font-size:.54rem;color:var(--pev3-muted)}

.pev3-dialog{
  width:min(660px,calc(100vw - 32px));max-height:86vh;overflow:auto;border:1px solid var(--pev3-line2);border-radius:15px;
  background:linear-gradient(145deg,#102235,#07131f);color:var(--pev3-text);box-shadow:var(--pev3-shadow);padding:1.15rem
}
.pev3-dialog::backdrop,.pev3-passport-dialog::backdrop{background:rgba(2,7,12,.76);backdrop-filter:blur(5px)}
.pev3-dialog h2{font-size:1.1rem;margin:.25rem 0}.pev3-dialog>p{font-size:.64rem;line-height:1.55;color:var(--pev3-muted)}
.pev3-dialog-close{float:right;width:32px;height:32px;border-radius:9px;border:1px solid var(--pev3-line);background:#0d1d2c;color:#fff;cursor:pointer}
.pev3-passport-dialog{width:min(1040px,calc(100vw - 28px));max-height:90vh}
.pev3-passport-tabs{display:flex;gap:.25rem;overflow:auto;margin:.8rem 0;border-bottom:1px solid var(--pev3-line)}
.pev3-passport-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--pev3-muted);padding:.55rem .7rem;font-size:.61rem;font-weight:700;cursor:pointer;white-space:nowrap}
.pev3-passport-tabs button.active{color:var(--pev3-text);border-bottom-color:var(--pev3-cyan)}
.pev3-passport-panel{display:none}.pev3-passport-panel.active{display:block}
.pev3-passport-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}
.pev3-passport-hero div,.pev3-passport-section{padding:.6rem;border:1px solid var(--pev3-line);border-radius:9px}
.pev3-passport-hero span{display:block;color:var(--pev3-muted);font-size:.52rem;text-transform:uppercase}.pev3-passport-hero strong{display:block;font-size:.63rem;margin-top:.2rem;overflow-wrap:anywhere}
.pev3-passport-section{margin:.55rem 0}.pev3-passport-section h4{font-size:.66rem;margin:0 0 .4rem}.pev3-passport-section p{font-size:.58rem;color:var(--pev3-soft);line-height:1.55}
.pev3-passport-code{max-height:430px;overflow:auto;white-space:pre-wrap;background:#05101a;border:1px solid var(--pev3-line);border-radius:9px;padding:.7rem;color:#aebfce;font:500 .54rem/1.55 ui-monospace,monospace}
.pev3-export-row{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0}

.pev3-mobile-only{display:none}
.pev3-empty-note{padding:1rem;text-align:center;color:var(--pev3-muted);font-size:.62rem;line-height:1.5}
.pev3-error{color:var(--pev3-red)}
.pev3-loading{display:grid;place-items:center;min-height:120px;color:var(--pev3-muted);font-size:.62rem}
.pev3-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.13);border-top-color:var(--pev3-cyan);border-radius:50%;animation:pev3Spin .7s linear infinite;margin-bottom:.4rem}
@keyframes pev3Spin{to{transform:rotate(360deg)}}

@media(max-width:1280px){
  .pev3-workbench-grid{grid-template-columns:170px minmax(0,1fr) 238px}
  .pev3-job-tray{left:170px;right:238px}
  .pev3-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pev3-engine-console{grid-template-columns:1fr}
  .pev3-workbench-actions .pev3-button.secondary{display:none}
}
@media(max-width:1040px){
  .pev3-workbench-grid{grid-template-columns:74px minmax(0,1fr)}
  .pev3-workbench-nav button{grid-template-columns:1fr;grid-template-rows:auto;padding:.6rem .35rem;text-align:center}
  .pev3-workbench-nav button>span{grid-row:auto;margin:auto}.pev3-workbench-nav button small{display:none}.pev3-workbench-nav button b{font-size:.58rem;margin-top:.2rem}
  .pev3-nav-boundary{display:none}.pev3-inspector{display:none}.pev3-job-tray{left:74px;right:0}
  .pev3-two-col,.pev3-evidence-layout,.pev3-jobs-layout,.pev3-structure-grid{grid-template-columns:1fr}
  .pev3-structure-grid aside{display:none}
  .pev3-structure-viewer{height:470px}
}
@media(max-width:760px){
  body.pev3-workspace-active .pe-topbar{height:58px}
  .pev3-workbench{inset:58px 0 0}
  .pev3-workbench-bar{height:62px;padding:0 .6rem}.pev3-workbench-id small{display:none}
  .pev3-workbench-actions .pev3-campaign-switcher{display:none}.pev3-workbench-actions .pev3-button{padding:.5rem .6rem}
  .pev3-workbench-grid{height:calc(100% - 62px);grid-template-columns:1fr}
  .pev3-workbench-nav{position:absolute;bottom:0;left:0;right:0;height:60px;z-index:7;display:grid;grid-template-columns:repeat(7,1fr);padding:.2rem;border:0;border-top:1px solid var(--pev3-line);background:#07131f}
  .pev3-workbench-nav button{margin:0;padding:.25rem .1rem;border-radius:7px}.pev3-workbench-nav button>span{width:22px;height:22px}.pev3-workbench-nav button b{font-size:.45rem}.pev3-workbench-nav button:nth-of-type(6),.pev3-workbench-nav button:nth-of-type(7){display:none}
  .pev3-workbench-main{padding:.7rem .55rem 5.2rem}
  .pev3-panel-heading{align-items:flex-start}.pev3-panel-heading h2{font-size:1rem}
  .pev3-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pev3-explorer-toolbar{grid-template-columns:1fr 1fr}.pev3-toolbar-count{display:none}
  .pev3-pareto-head{display:grid}.pev3-axis-controls{display:grid;grid-template-columns:1fr 1fr}.pev3-axis-controls label{grid-template-columns:auto 1fr}
  .pev3-pareto-plot{height:230px}.pev3-plot-legend small{display:none}
  .pev3-sequence-legend{display:none}.pev3-residue{width:19px}
  .pev3-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pev3-structure-viewer{height:420px}
  .pev3-job-tray{display:none!important}
  .pev3-template-grid{grid-template-columns:1fr}
  .pev3-passport-hero{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .pev3-workbench-id strong{max-width:47vw;font-size:.76rem}
  .pev3-workbench-actions .pev3-button.primary{font-size:0;width:36px;padding:0}.pev3-workbench-actions .pev3-button.primary::before{content:"▶";font-size:.75rem}
  .pev3-kpi-grid{grid-template-columns:1fr 1fr;gap:.4rem}.pev3-kpi{min-height:72px;padding:.6rem}.pev3-kpi strong{font-size:1.05rem}
  .pev3-explorer-toolbar{grid-template-columns:1fr}.pev3-explorer-toolbar label:nth-child(2),.pev3-explorer-toolbar label:nth-child(3){display:none}
  .pev3-pareto-plot{height:205px}
  .pev3-metric-grid{grid-template-columns:1fr}
  .pev3-passport-hero{grid-template-columns:1fr}
}
.pe-field.is-required-contract{padding:.7rem;border:1px solid rgba(76,190,166,.48);border-radius:12px;background:rgba(76,190,166,.07)}
.pe-field.is-required-contract>span::after{content:' REQUIRED';margin-left:.45rem;color:#60d6bd;font-size:.64rem;font-weight:800;letter-spacing:.08em}
.pev3-contract-note{grid-column:1/-1;margin:.9rem 0 0;color:var(--pe-muted,#9aa9b6);font-size:.82rem;line-height:1.55}
.pev3-identity-notice{display:grid;gap:.25rem;padding:.9rem 1rem;border:1px solid rgba(92,214,189,.3);border-radius:12px;background:rgba(92,214,189,.08)}
.pev3-identity-notice strong{color:#dffbf4;font-size:.84rem}.pev3-identity-notice span{color:#9fc2ba;font-size:.78rem;line-height:1.5}
.pev3-passport-state{display:grid;gap:.3rem;margin:0 0 1rem;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(240,178,76,.36);background:rgba(240,178,76,.08)}
.pev3-passport-state.is-frozen{border-color:rgba(78,211,171,.42);background:rgba(78,211,171,.09)}
.pev3-passport-state strong{font-size:.88rem}.pev3-passport-state span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;line-height:1.45;overflow-wrap:anywhere;color:var(--pe-muted,#9aa9b6)}
