:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#182235;background:#eef2f7}*{box-sizing:border-box}body{margin:0}.hidden{display:none!important}.login-page{min-height:100vh;display:grid;place-items:center;background:#111827}.login-card{width:min(390px,92vw);background:#fff;padding:30px;border-radius:14px;box-shadow:0 20px 60px #0005}.login-brand{width:48px;height:48px;border-radius:12px;background:#172033;color:#fff;display:grid;place-items:center;font-weight:800}.login-card h1{margin:14px 0 0}.login-card p{margin:4px 0 22px;color:#667085}.login-card label{display:block;font-size:12px;font-weight:700;margin:12px 0}.login-card input{width:100%;padding:10px;margin-top:5px;border:1px solid #d5dce6;border-radius:8px}.login-card button,.page-head button,.admin-top button{border:0;background:#172033;color:#fff;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.login-card button{width:100%;margin-top:8px}.login-error{background:#fee2e2;color:#991b1b;padding:9px;border-radius:7px;font-size:12px}.admin-top{height:60px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.admin-top div{display:flex;gap:12px;align-items:baseline}.admin-top span{color:#94a3b8}.admin-top nav{display:flex;gap:14px;align-items:center}.admin-top a{color:#e2e8f0;text-decoration:none;font-size:13px}.admin-top form{margin:0}.admin-top button{background:#263449;padding:7px 10px}.executions-page{padding:22px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-head h1{margin:0}.page-head p{margin:3px 0;color:#667085}.execution-layout{display:grid;grid-template-columns:minmax(650px,1.4fr) minmax(380px,.8fr);gap:16px}.table-wrap,.execution-detail{background:#fff;border:1px solid #dfe5ed;border-radius:10px;overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf0f4;font-size:12px}.table-wrap th{font-size:10px;color:#667085;text-transform:uppercase;letter-spacing:.05em}.table-wrap tbody tr{cursor:pointer}.table-wrap tbody tr:hover{background:#f8fafc}.status-pill{display:inline-block;border-radius:12px;padding:3px 8px;font-size:10px;font-weight:800}.status-pill.success{background:#dcfce7;color:#166534}.status-pill.error{background:#fee2e2;color:#991b1b}.execution-detail{padding:14px;min-height:500px}.execution-detail h2{margin:0 0 10px;font-size:14px}.execution-detail pre{white-space:pre-wrap;word-break:break-word;font:11px/1.5 Consolas,monospace;color:#344054}.muted{color:#98a2b3}@media(max-width:1000px){.execution-layout{grid-template-columns:1fr}}

/* v21 operational areas */
.admin-top nav a.active{color:#fff;font-weight:800}.admin-page{padding:22px;max-width:1700px;margin:0 auto}.filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid #dfe5ed;border-radius:10px;padding:12px;margin-bottom:16px}.filter-bar label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#475467;min-width:160px}.filter-bar input,.filter-bar select,.credential-editor input,.credential-editor select{min-height:36px;border:1px solid #d5dce6;border-radius:7px;padding:7px 34px 7px 9px;background:#fff;color:#182235}.filter-bar select,.credential-editor select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%);background-position:calc(100% - 14px) 15px,calc(100% - 10px) 15px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.filter-bar button,.btn,.credential-form-actions button,.dialog-actions button,.admin-dialog .dialog-head button{border:0;border-radius:8px;padding:9px 12px;background:#172033;color:#fff;text-decoration:none;font-size:12px;font-weight:700;cursor:pointer}.secondary{background:#f2f4f7!important;color:#344054!important;border:1px solid #d7dee8!important}.danger-link{background:#fff!important;color:#b42318!important;border:1px solid #fecdca!important}.error-text{color:#b42318}.empty-state{padding:40px;text-align:center;color:#98a2b3;background:#fff;border:1px dashed #d5dce6;border-radius:10px}.small-empty{padding:20px}.workflow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.workflow-card{background:#fff;border:1px solid #dfe5ed;border-radius:12px;padding:16px;box-shadow:0 1px 2px rgba(15,23,42,.03)}.workflow-card-head{display:flex;justify-content:space-between;gap:12px}.workflow-card h2{font-size:16px;margin:0 0 4px}.workflow-card code,.credential-form-head code{font:10px Consolas,monospace;color:#98a2b3}.workflow-stats{display:flex;gap:16px;margin:18px 0 12px;color:#667085;font-size:12px}.workflow-stats b{color:#182235}.workflow-last{border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;padding:10px 0;display:flex;justify-content:space-between;gap:12px;font-size:11px}.workflow-last small{color:#98a2b3}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#98a2b3;margin-right:6px}.status-dot.success{background:#16a34a}.status-dot.error{background:#dc2626}.workflow-actions{display:flex;gap:7px;margin-top:12px}.workflow-actions .btn{flex:0 0 auto}.status-pill.draft{background:#fef3c7;color:#92400e}.status-pill.published{background:#dcfce7;color:#166534}.status-pill.disabled{background:#e5e7eb;color:#4b5563}.admin-dialog{border:0;border-radius:12px;padding:0;width:min(440px,92vw);box-shadow:0 20px 60px rgba(15,23,42,.28)}.admin-dialog::backdrop{background:rgba(15,23,42,.48)}.dialog-head{height:50px;border-bottom:1px solid #edf0f4;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.icon-btn{font-size:20px!important;background:transparent!important;color:#667085!important;padding:4px 8px!important}.dialog-body{padding:16px}.dialog-body label,.credential-editor label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#475467;margin-bottom:12px}.dialog-body input{min-height:38px;border:1px solid #d5dce6;border-radius:7px;padding:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.notice{border:1px solid #f5d07a;background:#fff9e8;color:#8a6110;border-radius:9px;padding:11px 13px;margin-bottom:14px;font-size:12px}.credential-layout{display:grid;grid-template-columns:minmax(330px,.65fr) minmax(460px,1.35fr);gap:16px}.credential-list-panel,.credential-editor{background:#fff;border:1px solid #dfe5ed;border-radius:11px;min-height:600px}.filter-bar.compact{border:0;border-bottom:1px solid #edf0f4;border-radius:0;margin:0}.credential-list{padding:8px}.credential-row{width:100%;display:grid;grid-template-columns:80px 1fr;text-align:left;border:0;border-bottom:1px solid #edf0f4;background:#fff;padding:11px;border-radius:7px;cursor:pointer}.credential-row:hover,.credential-row.active{background:#f8fafc}.credential-row strong{font-size:13px}.credential-row small{grid-column:2;color:#98a2b3;font:10px Consolas,monospace}.credential-type{font-size:10px;text-transform:uppercase;color:#667085}.credential-editor{padding:16px}.credential-form-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.credential-form-head strong{display:block;font-size:15px}.credential-editor input,.credential-editor select{width:100%}.field-note{font-weight:400;color:#98a2b3}.credential-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;border-top:1px solid #edf0f4;padding-top:14px}.form-message{font-size:11px;color:#475467;margin-top:10px}.execution-filters label{min-width:130px}.bulk-bar{display:flex;justify-content:space-between;align-items:center;background:#eef4ff;border:1px solid #c7d7fe;border-radius:9px;padding:9px 12px;margin-bottom:10px;font-size:12px}.check-col{width:42px;text-align:center!important}.table-wrap input[type=checkbox]{width:15px;height:15px}.table-footer{padding:9px 12px;color:#667085;font-size:11px;border-top:1px solid #edf0f4}@media(max-width:1050px){.credential-layout{grid-template-columns:1fr}.workflow-grid{grid-template-columns:1fr}.execution-filters label{min-width:150px}}
.exec-failed-node{font-size:10px;color:#b42318;font-weight:600}.status-pill.success:has(+ .exec-failed-node){background:#fee4e2;color:#b42318}

.admin-brand{display:flex;align-items:center!important;gap:9px!important}.top-brand-mark{width:30px;height:30px;border-radius:8px;background:#f8fafc;color:#111827!important;display:grid!important;place-items:center;font-size:11px;font-weight:800;line-height:1}.admin-brand>strong{font-size:13px}.admin-brand>span:last-child{margin-left:3px}


/* Workflow list view */
.workflow-list-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid var(--border, #dfe3e8);
  border-radius:12px;
  background:var(--panel, #fff);
}
.workflow-list-table{
  width:100%;
  border-collapse:collapse;
  min-width:980px;
}
.workflow-list-table th,
.workflow-list-table td{
  padding:14px 16px;
  border-bottom:1px solid var(--border, #e5e7eb);
  vertical-align:middle;
  text-align:left;
}
.workflow-list-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:var(--panel, #fff);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted, #6b7280);
}
.workflow-list-table tbody tr:hover{
  background:rgba(127,127,127,.05);
}
.workflow-list-table tbody tr:last-child td{
  border-bottom:0;
}
.sort-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  text-transform:inherit;
  letter-spacing:inherit;
}
.sort-btn.active{
  color:var(--text, #111827);
}
.sort-indicator{
  display:inline-block;
  min-width:10px;
  font-size:9px;
  line-height:1;
}
.workflow-name{
  font-weight:700;
  color:var(--text, #111827);
  margin-bottom:3px;
}
.workflow-id{
  font-size:12px;
  color:var(--muted, #6b7280);
  background:transparent;
  padding:0;
}
.num-cell{
  text-align:center !important;
  font-variant-numeric:tabular-nums;
}
.workflow-last-main{
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}
.workflow-last-sub{
  margin-top:3px;
  padding-left:16px;
  font-size:12px;
  color:var(--muted, #6b7280);
}
.workflow-row-actions{
  white-space:nowrap;
  text-align:right !important;
}
.workflow-row-actions .btn{
  margin-left:6px;
}
.workflow-actions-head{
  text-align:right !important;
}
@media (max-width: 900px){
  .workflow-list-wrap{
    border-radius:8px;
  }
}


/* Runner execution environment diagnostics */
.runtime-diagnostics{
  margin:16px;
}
.runtime-diag-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
  padding:14px 16px;
}
.runtime-diag-grid>div{
  border:1px solid var(--border,#e5e7eb);
  border-radius:8px;
  padding:10px 12px;
}
.runtime-diag-grid small{
  display:block;
  color:var(--muted,#6b7280);
  margin-bottom:4px;
}
.runtime-diag-grid strong{
  font-size:14px;
}
.runtime-diag-message{
  padding:0 16px 14px;
}
.runtime-diag-warning{
  color:#b45309;
  font-weight:600;
}


/* Runtime diagnostics warning emphasis */
.runtime-diag-message.runtime-diag-warning{
  margin:0 16px 16px;
  padding:10px 12px;
  border:1px solid rgba(180,83,9,.35);
  border-radius:8px;
  background:rgba(245,158,11,.10);
}


/* Runtime diagnostics state cards */
#runtimeDiagnostics.runtime-warning{
  border-color:#d97706 !important;
  background:#fff7ed !important;
}
#runtimeDiagnostics.runtime-warning .panel-head{
  background:#ffedd5 !important;
  border-bottom-color:#fed7aa !important;
}
#runtimeDiagnostics.runtime-warning #runtimeDiagMessage{
  margin:0 16px 16px !important;
  padding:12px 14px !important;
  border:1px solid #fdba74 !important;
  border-radius:8px !important;
  background:#fffbeb !important;
  color:#9a3412 !important;
  font-weight:600 !important;
}
#runtimeDiagnostics.runtime-ok{
  background:var(--panel,#fff);
}


/* Execution environment warning - exact card styling */
section#runtimeDiagnostics.runtime-diagnostics.panel.runtime-warning {
  background-color: #fff4e5 !important;
  border: 1px solid #e0a14a !important;
  box-shadow: 0 0 0 1px rgba(224, 161, 74, 0.08) !important;
}

section#runtimeDiagnostics.runtime-diagnostics.panel.runtime-warning > .panel-head {
  background-color: #ffe8c7 !important;
  border-bottom: 1px solid #e0a14a !important;
}

section#runtimeDiagnostics.runtime-diagnostics.panel.runtime-warning .runtime-diag-grid {
  padding: 16px !important;
}

section#runtimeDiagnostics.runtime-diagnostics.panel.runtime-warning #runtimeDiagMessage.runtime-diag-warning {
  display: block !important;
  margin: 0 16px 16px 16px !important;
  padding: 12px 14px !important;
  background-color: #fff0d6 !important;
  border: 1px solid #e0a14a !important;
  border-radius: 8px !important;
  color: #8a4b08 !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}


/* Live execution indicators */
.running-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:8px;
  padding:3px 7px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  background:rgba(37,99,235,.10);
  color:#1d4ed8;
}
.running-dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2563eb;
  animation:qweb-running-pulse 1.25s ease-in-out infinite;
  flex:0 0 auto;
}
.status-pill.running{
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:rgba(37,99,235,.10);
  color:#1d4ed8;
}
.workflow-running,
.execution-running{
  background:rgba(37,99,235,.035);
}
@keyframes qweb-running-pulse{
  0%,100%{opacity:.45;transform:scale(.85)}
  50%{opacity:1;transform:scale(1)}
}


/* Execution diagnostic detail */
.execution-detail-content{
  min-width:0;
}
.exec-detail-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:8px;
  margin-bottom:14px;
}
.exec-detail-summary>div{
  padding:9px 10px;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:rgba(127,127,127,.035);
}
.exec-detail-summary small{
  display:block;
  margin-bottom:4px;
  color:#6b7280;
}
.exec-detail-summary strong{
  display:block;
  overflow-wrap:anywhere;
}
.exec-warning-banner{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid #f59e0b;
  border-radius:9px;
  background:#fffbeb;
  color:#92400e;
}
.exec-error-section{
  margin-top:16px;
}
.exec-error-section h3,
.exec-raw-section h3{
  margin:0 0 9px;
  font-size:14px;
}
.exec-error-groups{
  display:grid;
  gap:10px;
}
.exec-error-group{
  padding:11px 12px;
  border:1px solid #fecaca;
  border-radius:9px;
  background:#fff7f7;
}
.exec-error-group-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.exec-error-count{
  flex:0 0 auto;
  font-size:11px;
  font-weight:700;
  padding:3px 7px;
  border-radius:999px;
  background:#fee2e2;
  color:#991b1b;
}
.exec-error-message{
  margin-top:7px;
  color:#991b1b;
  overflow-wrap:anywhere;
}
.exec-error-iterations{
  margin-top:7px;
  font-size:12px;
}
.exec-error-table-wrap{
  overflow:auto;
  border:1px solid #e5e7eb;
  border-radius:8px;
}
.exec-error-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  font-size:12px;
}
.exec-error-table th,
.exec-error-table td{
  padding:8px 9px;
  border-bottom:1px solid #e5e7eb;
  text-align:left;
  vertical-align:top;
}
.exec-error-table tr:last-child td{
  border-bottom:0;
}
.exec-error-table td:nth-child(4){
  max-width:380px;
  overflow-wrap:anywhere;
}
.exec-raw-section{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e5e7eb;
}
.exec-raw-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.exec-raw-details{
  margin-top:10px;
}
.exec-raw-details summary{
  cursor:pointer;
  font-weight:600;
}
.exec-raw-details pre{
  max-height:520px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  margin-top:8px;
  padding:10px;
  border-radius:7px;
  background:#111827;
  color:#e5e7eb;
  font-size:11px;
}


/* Execution detail copy actions */
.exec-section-head,
.exec-raw-loaded-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.exec-section-head h3{
  margin:0;
}
.exec-copy-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.exec-raw-loaded-head{
  margin-top:12px;
}


/* Live running duration/progress */
.exec-running-time{
  margin-top:4px;
  font-size:11px;
  color:#1d4ed8;
  font-variant-numeric:tabular-nums;
}
.exec-live-progress{
  font-size:12px;
  line-height:1.35;
  color:#374151;
}


/* Workflow status can be changed directly from the workflow list. */
.workflow-status-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.workflow-status-select{
  min-width:118px;
  height:32px;
  padding:4px 28px 4px 10px;
  border:1px solid var(--border,#d7dce3);
  border-radius:8px;
  background:var(--panel,#fff);
  color:inherit;
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.workflow-status-select.status-published{border-color:#8fc9a3}
.workflow-status-select.status-draft{border-color:#c8ced8}
.workflow-status-select.status-disabled{border-color:#d6b0b0}
.workflow-status-select.saving{opacity:.6;cursor:wait}
.workflow-status-select:disabled{cursor:wait}

.execution-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.execution-page-controls{display:flex;align-items:center;gap:8px}
.execution-page-controls label{display:flex;align-items:center;gap:6px}
.execution-page-controls select{min-width:72px;height:32px;padding:4px 8px}
.execution-page-controls button{min-width:82px}

.filters input[type="datetime-local"]{min-width:190px}

.page-head-actions{display:flex;align-items:center;gap:8px}
.workflow-row-actions{position:relative;overflow:visible}
.workflow-more{position:relative;display:inline-flex}
.workflow-more-btn{min-width:34px;padding-left:9px;padding-right:9px;font-size:18px;line-height:1}
.workflow-more-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:30;min-width:150px;padding:5px;background:#fff;border:1px solid #dbe2eb;border-radius:8px;box-shadow:0 12px 28px rgba(15,23,42,.16)}
.workflow-more-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;color:#344054;font-size:11px;cursor:pointer}
.workflow-more-menu button:hover{background:#f2f4f7}
.import-workflow-dialog{width:min(720px,92vw)}
.import-workflow-dialog .dialog-head>div{display:flex;flex-direction:column;gap:2px}
.import-workflow-dialog .dialog-head small{font-size:10px;color:#98a2b3}
.import-dialog-body{display:flex;flex-direction:column;gap:12px}
.import-file-name{font:11px ui-monospace,SFMono-Regular,Consolas,monospace;color:#475467;overflow-wrap:anywhere}
.import-summary{border:1px solid #dbe2eb;border-radius:9px;padding:12px;background:#fbfcfe}
.import-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.import-summary-head code{font-size:10px;color:#667085}
.import-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.import-summary-grid span{padding:7px 8px;border-radius:6px;background:#fff;border:1px solid #edf0f4;font-size:10px;color:#667085}
.import-summary-grid strong{display:block;margin-top:2px;color:#182235;font-size:12px}
.import-validation-list{border-radius:8px;padding:11px 12px;font-size:11px}
.import-validation-list strong{display:block;margin-bottom:5px}
.import-validation-list ul{margin:0;padding-left:18px;line-height:1.5}
.import-validation-list.errors{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.import-validation-list.warnings{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.import-validation-note{font-size:10px;line-height:1.5;color:#667085;background:#f8fafc;padding:10px;border-radius:7px}
@media(max-width:760px){.import-summary-grid{grid-template-columns:repeat(2,1fr)}.page-head-actions{flex-wrap:wrap;justify-content:flex-end}}

/* Generic API credential form: visual-only conditional authentication UI */
.credential-section{
  border:1px solid #e5eaf0;
  border-radius:10px;
  padding:13px 14px 4px;
  margin-bottom:14px;
  background:#fbfcfe;
}
.credential-section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
  padding-bottom:8px;
  border-bottom:1px solid #edf0f4;
}
.credential-section-head strong{
  font-size:12px;
  color:#182235;
}
.credential-section-head small{
  font-size:10px;
  color:#98a2b3;
}
.credential-help{
  display:block;
  margin-top:1px;
  font-weight:400;
  line-height:1.4;
  color:#7b8798;
}
.credential-auth-empty{
  margin:2px 0 12px;
  padding:10px 11px;
  border:1px dashed #d5dce6;
  border-radius:7px;
  background:#fff;
  color:#667085;
  font-size:11px;
  line-height:1.45;
}

/* v62 — scalable execution bulk selection */
.bulk-selection-summary{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.bulk-select-all{
  border:0;
  padding:0;
  background:transparent;
  color:#3157b7;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.bulk-select-all:hover{color:#1d3f96}
.bulk-all-selected{font-size:12px;font-weight:700;color:#344054}
.bulk-all-selected::before{content:"✓ ";color:#16794b}
.bulk-bar .hidden{display:none!important}
