/* Delegentra Gate console */
body{font-size:15.5px;line-height:1.55}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
h1{font-size:30px;letter-spacing:-.01em}
h2{font-size:23px}
h3{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--ink)}
.lead{color:var(--ink-2);max-width:74ch;margin-top:8px}
.hint{color:var(--muted);font-size:13.5px;margin-top:8px}
.error{color:var(--fail);font-size:14px;margin-top:10px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}

/* header */
.top{background:var(--navy);color:var(--on-navy)}
.top-row{display:flex;align-items:center;gap:16px;height:60px}
.brand{display:flex;align-items:center;gap:11px;color:var(--on-navy);text-decoration:none}
.brand-name{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.005em}
.brand-name span{font-weight:400;color:var(--on-navy-muted)}
.top-tag{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-navy-muted);border:1px solid #415567;border-radius:3px;padding:2px 8px}
.top-nav{margin-left:auto;display:flex;gap:22px}
.top-nav a{color:var(--on-navy-muted);text-decoration:none;font-size:14px}
.top-nav a:hover{color:#fff}
.notice{background:var(--review-soft);border-bottom:1px solid var(--review-rule);color:#5C3F0B;font-size:13.5px;padding:9px 0}
.notice strong{font-weight:600}

/* blocks */
.block{padding:38px 0;border-bottom:1px solid var(--rule)}
.block:last-of-type{border-bottom:0}
.block-head{margin-bottom:24px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}
.panel{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:20px 22px}
.panel-note{color:var(--muted);font-size:13px;margin-top:4px}
.panel .panel-note:last-child{margin-top:14px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--rule-strong);border-radius:5px;background:var(--surface);color:var(--ink);font-size:14.5px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .12s,border-color .12s}
.btn:hover{background:var(--surface-2);border-color:#aaa497;color:var(--ink)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;min-height:46px;padding:10px 20px;font-size:15.5px}
.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-quiet{border-color:transparent;background:transparent;color:var(--accent);padding-left:8px;padding-right:8px}
.btn-quiet:hover{background:var(--accent-soft);border-color:transparent;color:var(--accent-dark)}

/* run controls */
.run-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:start}
.choice{border:0;margin:0;padding:0;min-width:0}
.choice legend{font-size:13px;font-weight:600;color:var(--ink);padding:0;margin-bottom:8px}
.option{display:flex;gap:11px;align-items:flex-start;background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:12px 14px;cursor:pointer}
.option + .option{margin-top:8px}
.option:hover{border-color:var(--rule-strong)}
.option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.option input{margin-top:4px;accent-color:var(--accent)}
.option-body{display:flex;flex-direction:column;gap:2px}
.option-body strong{font-weight:600;font-size:14.5px}
.option-body span{color:var(--muted);font-size:13.5px;line-height:1.45}
.run-action{padding-top:27px}
.run-action .btn-primary{width:100%}
.progress{margin-top:14px}
.progress-track{height:6px;background:var(--rule);border-radius:3px;overflow:hidden}
.progress-bar{height:100%;width:0;background:var(--accent);transition:width .25s linear}

/* results */
.results-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.history{font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:8px}
select,input[type=search],input[type=text],textarea{background:var(--surface);border:1px solid var(--rule-strong);border-radius:5px;padding:7px 10px;font-size:14px;min-height:36px}
select{padding-right:28px}
.empty{background:var(--surface);border:1px dashed var(--rule-strong);border-radius:6px;padding:28px;color:var(--muted);text-align:center}

.verdict{display:grid;grid-template-columns:minmax(260px,1.1fr) 1.4fr auto;gap:28px;align-items:center;background:var(--surface);border:1px solid var(--rule);border-left:6px solid var(--muted);border-radius:6px;padding:22px 26px}
.verdict-word{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1.1;margin-top:4px;letter-spacing:.005em}
.verdict-reason{color:var(--ink-2);margin-top:8px;font-size:14.5px}
.verdict.is-blocked{border-left-color:var(--fail);background:linear-gradient(90deg,var(--fail-soft),var(--surface) 42%)}
.verdict.is-blocked .verdict-word{color:var(--fail)}
.verdict.is-review{border-left-color:var(--review);background:linear-gradient(90deg,var(--review-soft),var(--surface) 42%)}
.verdict.is-review .verdict-word{color:var(--review)}
.verdict.is-passed{border-left-color:var(--pass);background:linear-gradient(90deg,var(--pass-soft),var(--surface) 42%)}
.verdict.is-passed .verdict-word{color:var(--pass)}
.verdict-actions{display:flex;flex-direction:column;gap:8px}
.meta{display:grid;grid-template-columns:auto 1fr;gap:5px 16px;margin:0;font-size:13px}
.meta dt{color:var(--muted)}
.meta dd{margin:0;font-family:var(--mono);font-size:12.5px;color:var(--ink-2);overflow-wrap:anywhere}
.meta-stack{margin-top:12px}

.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:20px;background:var(--surface);border:1px solid var(--rule);border-radius:6px}
.kpi{padding:16px 18px;border-right:1px solid var(--rule)}
.kpi:last-child{border-right:0}
.kpi-value{font-family:var(--mono);font-size:26px;font-weight:500;line-height:1.1;color:var(--ink)}
.kpi-label{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.35}
.kpi.is-fail .kpi-value{color:var(--fail)}
.kpi.is-pass .kpi-value{color:var(--pass)}
.kpi.is-review .kpi-value{color:var(--review)}

.bars{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.bar-row{display:grid;grid-template-columns:190px 1fr 34px;gap:12px;align-items:center;width:100%;background:none;border:1px solid transparent;border-radius:4px;padding:6px 8px;text-align:left;cursor:pointer;font-size:14px}
.bar-row:hover{background:var(--surface-2);border-color:var(--rule)}
.bar-row[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}
.bar-track{height:10px;background:var(--paper);border-radius:2px;overflow:hidden}
.bar-fill{height:100%;background:var(--fail);opacity:.82}
.bar-n{font-family:var(--mono);font-size:13.5px;text-align:right}
.bars-empty{color:var(--muted);font-size:14px;padding:8px 0}

table{border-collapse:collapse;width:100%}
.plain{margin-top:12px;font-size:14px}
.plain th{font-size:12px;font-weight:600;color:var(--muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--rule)}
.plain td{padding:8px;border-bottom:1px solid var(--rule)}
.plain tr:last-child td{border-bottom:0}
.plain tbody tr{cursor:pointer}
.plain tbody tr:hover{background:var(--surface-2)}
.num{text-align:right!important;font-family:var(--mono);font-size:13.5px}

/* scenarios */
.filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-top:18px}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);font-weight:500}
.filters .grow{flex:1;min-width:200px}
.filters input{width:100%}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;margin-top:10px;align-items:start}
.table-wrap{background:var(--surface);border:1px solid var(--rule);border-radius:6px;max-height:760px;overflow:auto}
.grid{font-size:14px}
.grid th{position:sticky;top:0;background:var(--surface-2);font-size:12px;font-weight:600;color:var(--muted);text-align:left;padding:9px 12px;border-bottom:1px solid var(--rule);z-index:1}
.grid td{padding:9px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.grid tbody tr{cursor:pointer}
.grid tbody tr:hover{background:var(--surface-2)}
.grid tbody tr[aria-selected=true]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
.grid .id{font-family:var(--mono);font-size:13px;white-space:nowrap}
.grid .wf{display:block;font-weight:500}
.grid .sub{display:block;color:var(--muted);font-size:12.5px}
.dots{display:inline-flex;gap:4px;vertical-align:middle}
.dot{width:10px;height:10px;border-radius:50%;background:var(--pass);opacity:.75}
.dot.FAIL{background:var(--fail);opacity:1}
.dot.INCONCLUSIVE{background:transparent;border:2px solid var(--review)}
.dot.ERROR{background:var(--muted)}
.tag{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.03em;border-radius:3px;padding:2px 7px;border:1px solid var(--rule-strong);color:var(--ink-2);background:var(--surface);white-space:nowrap}
.tag.FAIL,.tag.BLOCKED{color:var(--fail);border-color:var(--fail-rule);background:var(--fail-soft)}
.tag.PASS,.tag.TESTS_PASSED{color:var(--pass);border-color:var(--pass-rule);background:var(--pass-soft)}
.tag.INCONCLUSIVE,.tag.REVIEW_REQUIRED,.tag.NOT_VERIFIED{color:var(--review);border-color:var(--review-rule);background:var(--review-soft)}
.sev{font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--ink-2);white-space:nowrap}
.sev.CRITICAL,.sev.HIGH{color:var(--ink)}
.sev::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:1px;background:var(--rule-strong);vertical-align:1px}
.sev.CRITICAL::before{background:var(--fail)}
.sev.HIGH::before{background:#C9764A}
.sev.MEDIUM::before{background:#C9A64A}
.reviewed{display:block;font-size:11.5px;color:var(--accent);margin-top:3px}

.detail{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:22px 24px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.detail-empty{color:var(--muted)}
.detail h3.d-title{font-family:var(--serif);font-size:20px;font-weight:600;margin-top:6px}
.d-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.d-sec{margin-top:18px}
.d-label{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.quote{border-left:3px solid var(--rule-strong);padding:2px 0 2px 14px;color:var(--ink)}
.quote.agent{border-left-color:var(--accent)}
.policy{background:var(--surface-2);border:1px solid var(--rule);border-radius:4px;padding:10px 12px;font-size:14px}
.policy .mono{color:var(--muted);display:block;margin-bottom:3px}
.tabs{display:flex;gap:6px;margin-top:20px;border-bottom:1px solid var(--rule)}
.tab{background:none;border:1px solid transparent;border-bottom:0;border-radius:5px 5px 0 0;padding:7px 14px;font-size:13.5px;font-weight:500;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:7px;margin-bottom:-1px}
.tab[aria-selected=true]{background:var(--surface);border-color:var(--rule);color:var(--ink)}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.box{border:1px solid var(--rule);border-radius:4px;padding:10px 12px;font-size:13.5px;background:var(--surface-2);min-width:0}
.box h4{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--ink-2)}
.box ul{margin:0;padding-left:16px}
.box li{margin:2px 0;overflow-wrap:anywhere}
.box .none{color:var(--muted)}
.checks{list-style:none;margin:0;padding:0}
.checks li{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--rule);font-size:14px}
.checks li:first-child{border-top:0}
.checks .name{font-family:var(--mono);font-size:12.5px;color:var(--muted);display:block}
.review-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.review-form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);font-weight:500}
.review-form .full{grid-column:1/-1}
.review-form textarea{min-height:64px;resize:vertical}
.review-list{list-style:none;margin:10px 0 0;padding:0;font-size:13.5px}
.review-list li{border-top:1px solid var(--rule);padding:8px 0}
.review-list .who{color:var(--muted);font-size:12.5px}

/* evidence */
.file{display:inline-block;margin-top:16px;cursor:pointer}
.file input{position:absolute;opacity:0;width:1px;height:1px}
.file:focus-within .btn{outline:2px solid var(--accent);outline-offset:2px}
.verify-out{margin-top:16px}
.verify-card{border:1px solid var(--rule);border-left:5px solid var(--muted);border-radius:5px;background:var(--surface);padding:14px 16px}
.verify-card.ok{border-left-color:var(--pass)}
.verify-card.bad{border-left-color:var(--fail)}
.verify-card strong{display:block;font-size:15.5px;margin-bottom:6px}
.verify-card ul{margin:0;padding:0;list-style:none;font-size:14px}
.verify-card li{padding:3px 0}
.verify-card li::before{content:"Pass";display:inline-block;min-width:38px;font-size:11.5px;font-weight:600;color:var(--pass);margin-right:8px}
.verify-card li.no::before{content:"Fail";color:var(--fail)}
.about ul{margin:10px 0 0;padding-left:18px;color:var(--ink-2)}
.about li{margin:5px 0}

.foot{border-top:1px solid var(--rule);padding:20px 0 34px;color:var(--muted);font-size:13px}
.foot-row{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between}

@media (max-width:1040px){
  .run-grid{grid-template-columns:1fr 1fr}
  .run-action{grid-column:1/-1;padding-top:0}
  .verdict{grid-template-columns:1fr}
  .verdict-actions{flex-direction:row;flex-wrap:wrap}
  .kpis{grid-template-columns:repeat(3,1fr)}
  .kpi:nth-child(3){border-right:0}
  .kpi:nth-child(-n+3){border-bottom:1px solid var(--rule)}
  .split{grid-template-columns:1fr}
  .detail{position:static;max-height:none}
  .table-wrap{max-height:420px}
}
@media (max-width:720px){
  .wrap{padding:0 16px}
  h1{font-size:25px}
  .top-nav a:not(:last-child){display:none}
  .run-grid,.two,.compare,.review-form{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .kpi{border-right:0;border-bottom:1px solid var(--rule)}
  .kpi:nth-child(odd){border-right:1px solid var(--rule)}
  .kpi:nth-last-child(-n+2){border-bottom:0}
  .bar-row{grid-template-columns:130px 1fr 28px}
  .grid th:nth-child(3),.grid td:nth-child(3){display:none}
}
