:root {
  color-scheme: light;
  --background:#f5f7f8; --surface:#fff; --ink:#1a2835; --muted:#566875;
  --line:#dce4e8; --accent:#056e60; --accent-bg:#e5f3ee; --warn:#92312e;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--background);color:var(--ink);font:15px/1.55 system-ui,-apple-system,sans-serif}
.wrap{width:min(calc(100% - 48px),1120px);margin-inline:auto}
.masthead{background:var(--surface);border-bottom:1px solid var(--line)}
.header-inner,.brand,.list-heading,.row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.header-inner{padding:26px 0}
.brand{justify-content:flex-start}
.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--accent-bg);color:var(--accent);border-radius:12px;flex:none}
.brand-mark svg{width:26px;height:26px}
.kicker{font-size:12px;font-weight:650;color:var(--muted);letter-spacing:.07em}
h1,h2,h3,h4,p{margin:0}
h1{font-size:clamp(21px,3vw,29px);letter-spacing:-.025em;line-height:1.2}
h2{font-size:19px}
h3{font-size:16px}
h4{font-size:15px}
main{padding:36px 0 30px}
footer{padding:16px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
#connection,.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600}
#connection{background:#eef2f5;color:var(--muted)}
#connection::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
#connection.online,.badge.good{background:var(--accent-bg);color:#075d51}
#connection.offline,.badge.warning{background:#fceeed;color:var(--warn)}
.badge.neutral{background:#edf2f5;color:#405667}
.list-heading{margin-bottom:13px}
.muted{font-size:13px;color:var(--muted)}
.empty{padding:26px;background:var(--surface);border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
#runs{display:grid;gap:10px}
.task{border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0;box-shadow:0 1px 2px #172e3d08}
.task:has(.task-toggle[aria-expanded=true]){border-color:#a5cbc2;box-shadow:0 6px 24px #2943480b}
button{font:inherit;color:inherit;cursor:pointer}
.task-toggle{width:100%;display:grid;grid-template-columns:minmax(95px,1fr) minmax(115px,1.15fr) minmax(140px,1.35fr) minmax(0,3.55fr) 16px;gap:15px;text-align:left;align-items:center;border:0;background:none;border-radius:11px;padding:16px 19px}
.task-toggle:hover{background:#f8fafb}
.task-toggle[aria-expanded=true]{background:#f6fbf9;border-radius:11px 11px 0 0}
.task-toggle:focus-visible,summary:focus-visible,.disconnect:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.field{display:grid;gap:3px;min-width:0;align-self:start}
.field .label{color:var(--muted);font-size:11px;font-weight:650}
.field .value{line-height:1.4;overflow-wrap:anywhere;font-size:14px;font-weight:600}
.field.target .value{font-family:ui-monospace,monospace;font-size:13px;color:#075d51}
.field.when .value{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.field.reason .value{font-weight:450;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.task-toggle.active .agent .value::after{content:"";display:inline-block;vertical-align:middle;width:6px;height:6px;margin-left:7px;background:#0c8773;border-radius:50%}
.chevron{height:8px;width:8px;margin:auto;transform:rotate(45deg);border-right:2px solid #54727b;border-bottom:2px solid #54727b}
[aria-expanded=true] .chevron{transform:rotate(225deg)}
.task-detail{border-top:1px solid #dceae5;padding:17px 19px 20px}
.review-box{background:#f1f8f5;border-left:3px solid #167d6b;border-radius:7px;padding:12px 14px}
.review-box p{margin-top:6px}
.findings{margin:5px 0 0;padding-left:22px}
.findings li{margin-top:3px}
.steps-heading{margin:18px 0 8px}
.steps{display:grid;gap:8px;padding:0;margin:0;list-style:none}
.step{border:1px solid var(--line);border-radius:9px;padding:11px 13px}
.step-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:start}
.step-number{display:grid;place-items:center;width:29px;height:29px;background:#edf4f5;border-radius:6px;color:#385463;font:600 13px ui-monospace,monospace}
.step-copy,.step-body{min-width:0;overflow-wrap:anywhere}
.step-controls{display:flex;gap:6px;align-items:center;justify-content:end;flex-wrap:wrap}
.step-body{margin-left:38px}
.step-result{margin:5px 0}
.commands{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}
.commands code{font:12px/1.5 ui-monospace,monospace;color:#254453;background:#edf3f5;padding:2px 6px;border-radius:4px;overflow-wrap:anywhere}
.disclosure{margin-top:6px;color:#385663;font-size:13px}
.disclosure summary{cursor:pointer;width:fit-content;max-width:100%;font-weight:600;padding:2px 0}
.disclosure p,.disclosure h4{margin:5px 0}
pre{background:#132936;color:#e8f5f3;padding:11px;border-radius:7px;max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;font:13px/1.55 ui-monospace,monospace}
pre.stderr{color:#ffd4bb}
.stream-label{margin-top:5px;font-size:12px}
.disconnect{padding:3px 8px;border:1px solid #c47b79;border-radius:5px;background:#fff5f4;color:var(--warn);font-size:12px}
.disconnect:disabled{cursor:default;opacity:.65}
p,.findings li{white-space:pre-wrap;overflow-wrap:anywhere}
.error{color:var(--warn);margin-bottom:8px}
.error:empty{display:none}
@media(max-width:760px){
  .task-toggle{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 12px;gap:8px 12px}
  .field.reason{grid-row:2;grid-column:1/4}
  .chevron{grid-row:1/3;grid-column:4}
}
@media(max-width:470px){
  .wrap{width:calc(100% - 24px)}
  .header-inner{padding:19px 0}
  .brand{gap:8px}
  .brand-mark{width:32px;height:32px;border-radius:8px}
  .brand-mark svg{width:20px;height:20px}
  #connection{font-size:11px;padding:3px 5px}
  main{padding-top:25px}
  .task-toggle,.task-detail{padding:11px 12px}
  .step-head{grid-template-columns:auto minmax(0,1fr)}
  .step-controls{grid-column:2;justify-content:start}
  .step-body{margin-left:0}
}

/* Search, state and evidence hierarchy for the standalone console. */
:root{--background:#f4f6f8;--ink:#172a39;--line:#dbe4e9}
.masthead{background:linear-gradient(115deg,#fff 54%,#edf6f4)}
.toolbar{display:flex;gap:8px;margin:0 0 12px}
.search,.filter{background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0;display:flex;align-items:center}
.search{width:min(440px,100%);gap:8px;padding:0 10px}
.search svg{width:18px;height:18px;color:var(--muted);flex:none}
.toolbar input,.toolbar select{font:inherit;color:inherit;background:transparent;border:0;min-width:0;padding:8px 0}
.toolbar input{flex:1;width:100%}
.toolbar select{padding-inline:9px;cursor:pointer}
.search:focus-within,.filter:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.toolbar input:focus,.toolbar select:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.demo-notice{border:1px solid #cedfdd;background:#eef7f4;color:#284e48;border-radius:8px;padding:8px 12px;margin-bottom:17px;font-size:13px}
.task-toggle{grid-template-columns:minmax(75px,.8fr) minmax(100px,1fr) minmax(132px,1.2fr) minmax(0,3.2fr) auto 16px}
.task-status{align-self:center;justify-self:end}
.detail-tools{display:flex;justify-content:flex-end;margin:0 0 8px}
.export{font-size:13px;color:var(--accent);font-weight:600;text-underline-offset:3px}
.step-intent{margin-top:8px;background:#f6f8fa;border-radius:5px;padding:6px 9px;font-size:13px;color:#334b5a}
.step-intent p{margin-top:2px}
.evidence-label{margin:7px 0 0;font-size:12px;font-weight:650;color:#435d6d}
@media(max-width:760px){
  .task-toggle{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto 12px}
  .field.reason{grid-column:1/5}
  .task-status{grid-row:1;grid-column:4}
  .chevron{grid-column:5}
}
@media(max-width:470px){
  .task-toggle{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) 12px}
  .field.reason{grid-row:2;grid-column:1/4}
  .task-status{grid-row:3;grid-column:1/4;justify-self:start}
  .chevron{grid-column:4;grid-row:1/4}
  .toolbar input,.toolbar select{font-size:13px}
}

.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.tabs button,.management-card button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:6px 10px;font:inherit;font-size:13px}
.tabs button[aria-pressed=true],.management-card .primary{background:var(--accent);border-color:var(--accent);color:#fff}
.tabs .plain{margin-left:auto}
.management-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.management-card{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}
.management-card form{display:grid;gap:9px;margin-top:12px}
.management-card label{display:grid;gap:3px;font-size:13px;font-weight:550}
.management-card input:not([type=checkbox]),.management-card textarea{border:1px solid var(--line);border-radius:6px;padding:7px 8px;font:inherit;color:var(--ink);width:100%}
.management-card .check{display:flex;align-items:center;gap:6px;font-weight:400}
.management-card fieldset{border:1px solid var(--line);border-radius:6px;margin:0;padding:6px 9px;font-size:13px}
.management-card input:focus-visible,.management-card textarea:focus-visible{outline:2px solid var(--accent)}
.form-actions,.manage-item{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.manage-item{justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.token-box{margin-top:13px;padding:9px;background:var(--accent-bg);border-radius:6px}
.login-form{max-width:420px}.login-form button{justify-self:start}
@media(max-width:700px){.management-grid{grid-template-columns:1fr}}

/* The authenticated console uses an asset-management shell. */
.app-sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#172832;color:#d5e1e4;display:flex;flex-direction:column;padding:19px 13px;z-index:2}
.is-console .app-shell{margin-left:224px}
.is-console .wrap{width:min(calc(100% - 54px),1440px)}
.is-console .masthead{background:#fff}
.is-console .header-inner{padding:16px 0}
.is-console .brand-mark,.is-console .masthead .kicker{display:none}
.is-console .masthead h1{font-size:17px;font-weight:650}
.is-console main{padding-top:29px}
.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 6px 19px;border-bottom:1px solid #3c4b53}
.sidebar-brand strong,.sidebar-brand div span{display:block}
.sidebar-brand strong{color:#f5fbfa;font-size:16px;letter-spacing:.015em}
.sidebar-brand div span{color:#adc0c6;font-size:11px}
.sidebar-logo,.brand-mark{font:700 21px ui-monospace,monospace}
.sidebar-logo{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:#1f6f62;color:#f2fffb}
.sidebar-nav{display:grid;gap:5px;margin-top:16px}
.sidebar-nav p{padding:0 8px 5px;font-size:11px;color:#a7bac1;letter-spacing:.07em}
.sidebar-nav button,.logout{border:0;border-radius:7px;background:none;color:inherit;text-align:left;padding:9px 10px;font-size:14px}
.sidebar-nav button{display:flex;align-items:center;gap:10px}
.sidebar-nav button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sidebar-nav button:hover,.logout:hover{background:#263e47}
.sidebar-nav button[aria-current=page]{color:#e3fbf2;background:#26534e;font-weight:650}
.logout{margin-top:auto;color:#bdd0d5}
.sidebar-nav button:focus-visible,.logout:focus-visible{outline:2px solid #9fdace}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}
.page-heading h2{font-size:27px;line-height:1.25;margin:3px 0 4px;letter-spacing:-.025em}
.page-heading p{color:var(--muted);font-size:13px}
button.primary{border:1px solid var(--accent);background:var(--accent);color:white;border-radius:7px;padding:7px 13px;font-weight:650;white-space:nowrap}
button.primary:hover{background:#075d51}
button:disabled{cursor:default;opacity:.5}
.asset-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.asset-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px}
.asset-toolbar .search{width:min(360px,80%)}
.asset-toolbar input{width:100%;background:none;border:0;font:inherit;padding:7px 0;outline:none;min-width:0}
.table-wrap{overflow:auto}
.asset-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}
.asset-table th{background:#f3f6f8;color:#536773;font-size:12px;font-weight:650}
.asset-table td,.asset-table th{padding:10px 12px;border-top:1px solid #e5ecef}
.asset-table td{font-size:13px}
.asset-table tbody tr:hover{background:#f8fbfa}
.asset-table .endpoint code{font:12px ui-monospace,monospace;color:#344e60}
.table-actions{display:flex;align-items:center;gap:9px}
.text-button{border:0;background:none;color:#056e60;padding:0;font-size:13px}
.text-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}
.text-button.node-name{font-size:14px;font-weight:700;color:#173644}
.text-button.danger-text{color:#9a413a}
.check-time{font-size:11px;color:#596b77;margin-top:3px}
.asset-empty{border-top:1px solid var(--line);color:var(--muted);padding:23px 14px;font-size:13px}
.message{margin:0 0 10px;color:#355b60;font-size:13px}
.message:empty{display:none}
.login-card{max-width:520px;margin:25px auto}
.login-card h2{margin-bottom:5px}
.node-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(100%,520px);height:100dvh;max-width:100%;max-height:100%;border:0;padding:0;background:#fff;color:var(--ink);box-shadow:-10px 0 30px #132c3b26}
.node-drawer::backdrop{background:#12273066}
.drawer-head{position:sticky;top:0;z-index:1;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:17px 19px}
.drawer-head h2{overflow-wrap:anywhere}
.close-button{border:1px solid var(--line);background:#fff;border-radius:7px;width:34px;height:34px;font-size:22px;line-height:1}
.drawer-body{padding:17px 19px 24px}
.drawer-body form{display:grid;gap:10px}
.drawer-body label{display:grid;gap:4px;font-size:13px;font-weight:600}
.drawer-body input:not([type=checkbox]):not([type=radio]),.drawer-body textarea{border:1px solid var(--line);border-radius:7px;padding:8px 9px;font:inherit;color:var(--ink);width:100%;min-width:0}
.drawer-body input[readonly]{background:#f3f6f7}
.drawer-body label.check{display:flex;align-items:center;font-weight:500;gap:7px}
.drawer-body .form-actions button:not(.primary){border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:#fff}
.drawer-body .message{margin:12px 0 0}
.node-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.node-fields{margin:0 0 16px;display:grid;grid-template-columns:minmax(88px,auto) 1fr;gap:0 13px}
.node-fields dt,.node-fields dd{margin:0;padding:7px 0;border-bottom:1px solid #edf1f3;font-size:13px;overflow-wrap:anywhere}
.node-fields dt{color:var(--muted)}
.node-fields dd{font-weight:550}
.check-card{background:#f4f8f7;border:1px solid #dce9e5;border-radius:8px;padding:10px 12px;margin:0 0 14px}
.check-card p{margin:4px 0}
.check-error{font-size:13px;color:var(--warn)}
@media(max-width:950px){
  .app-sidebar{width:180px}.is-console .app-shell{margin-left:180px}
  .is-console .wrap{width:calc(100% - 28px)}
}
@media(max-width:690px){
  .app-sidebar{position:relative;width:100%;padding:7px 9px;flex-direction:row;align-items:center;gap:5px;flex-wrap:wrap}
  .is-console .app-shell{margin-left:0}
  .sidebar-brand{display:none}
  .sidebar-nav{display:flex;gap:2px;margin:0;flex-wrap:wrap}
  .sidebar-nav p,.sidebar-nav button svg{display:none}
  .sidebar-nav button,.logout{font-size:12px;padding:6px 7px}
  .logout{margin:0 0 0 auto}
  .page-heading h2{font-size:22px}
  .page-heading{align-items:start}
  .asset-table th,.asset-table td{padding:8px 9px}
}


.node-drawer{width:min(100%,560px)}
.drawer-head{padding:18px 22px}
.drawer-body{padding:18px 22px 22px}
.drawer-body .node-form{gap:15px}
.node-form-section{display:grid;gap:10px;padding:12px 14px;border:1px solid #e2e9ec;border-radius:9px;min-width:0}
.form-section-heading h3{font-size:14px;line-height:1.4}
.form-section-heading p{margin-top:3px;font-size:12px;color:var(--muted)}
.node-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.drawer-body .node-form label{font-size:13px;font-weight:550;min-width:0}
.drawer-body .node-form input:not([type=checkbox]):not([type=radio]),.drawer-body .node-form textarea{
  padding:7px 9px;font-size:14px;font-weight:400;line-height:1.45;
}
.drawer-body .node-form .key-input{font:12px/1.5 ui-monospace,monospace;resize:vertical}
.drawer-body .node-form input::placeholder,.drawer-body .node-form textarea::placeholder{color:#657681}
.auth-options{margin:0;padding:0;border:0;min-width:0}
.auth-options legend{font-size:12px;font-weight:650;margin-bottom:5px}
.auth-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.drawer-body .auth-choices label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);
  border-radius:7px;cursor:pointer;min-height:36px;white-space:nowrap;font-weight:550}
.auth-choices label:has(input:checked){background:#edf7f3;border-color:#9dcfc2;color:#075d51}
.auth-choices input,.node-form-footer input{accent-color:var(--accent);margin:0;width:15px;height:15px;flex:none}
#credential-help{font-size:12px;line-height:1.45}
.node-form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.issued-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.token-box p{margin:5px 0;font-size:13px}
.issued-actions{margin-top:9px}
.management-card .issued-actions .text-button{background:none;color:var(--accent);border:0}
#copy-text{font:12px/1.5 ui-monospace,monospace;white-space:pre-wrap;resize:vertical}
@media(max-width:390px){
  .drawer-head{padding:14px}.drawer-body{padding:14px}
  .node-form-section{padding:10px}
  .drawer-body .auth-choices label{padding:6px;gap:5px;font-size:12px}
}
