/* worca "Refined" design system (worca-cc ui/public/style.css, worca.dev styles.css):
   warm off-white ground, white panels, near-black active state, six pastel status families,
   Poppins for UI, JetBrains Mono for numbers, ids and hosts.
   Layout: app shell = sidebar (nav) + main column; cards on the ground, rows on a field grey. */
/* app.worca.dev. Fonts and logo masks are worca's own (worca-cc ui/public). No inline styles anywhere:
   the page CSP is style-src 'self', so size and colour come from classes, or from element.style set in JS. */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/poppins-latin-300-normal.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2');}
:root{
  --logo-mask:url(/assets/worca-logo-mask.png); --mark-mask:url(/assets/worca-mark-mask.png);
  --bg:#F1F1EF; --panel:#FFFFFF; --surface:#FFFFFF; --field:#F6F6F4; --canvas-2:#FBFBF9;
  --ink:#19191B; --ink-2:#5C5C63; --ink-3:#8E8E95; --on-ink:#FFFFFF;
  --line:#ECECEA; --line-2:#E3E3E0; --hover:#EBEBE8; --hover-outline:#9A9AA1;
  --green:#5BAE5B; --green-bg:#E2F3DF; --green-ink:#2F7A38;
  --peach:#EFA63C; --peach-bg:#FCEEDA; --peach-ink:#B5751A;
  --red:#E76A5A;   --red-bg:#FBE3E0;   --red-ink:#C5483A;
  --blue:#5BA6CC;  --blue-bg:#DEEFF7;  --blue-ink:#2B6A8C;
  --violet:#8C7FD6;--violet-bg:#EAE6F8;--violet-ink:#6353B8;
  --amber:#E6962A; --amber-bg:#FCE8C8; --amber-ink:#A66510;
  --slate:#8A96A3; --slate-bg:#E8ECF0; --slate-ink:#58646F;
  --amber-wash:#FEF7EC; --amber-line:#F5D9A8;
  --scrim:rgba(25,25,27,.42); --solid-hover:rgba(255,255,255,.14);
  --shadow:0 6px 28px rgba(25,25,27,.05),0 1px 2px rgba(25,25,27,.04);
  --shadow-soft:0 2px 12px rgba(25,25,27,.04);
  --shadow-sheet:0 18px 60px rgba(25,25,27,.14),0 2px 6px rgba(25,25,27,.06);
  --r-card:14px; --r-ctrl:10px;
  --sans:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#161614; --panel:#222220; --surface:#34342F; --field:#2C2C29; --canvas-2:#1B1B19;
  --ink:#ECECE8; --ink-2:#B4B4AE; --ink-3:#9E9E98; --on-ink:#161614;
  --line:#30302D; --line-2:#494944; --hover:#353531; --hover-outline:#9E9E98;
  --green-bg:#1C2F1D; --green-ink:#8FD48F; --peach-bg:#33261A; --peach-ink:#F2B96A;
  --red-bg:#34201D; --red-ink:#F08C7E; --blue-bg:#1A2A33; --blue-ink:#86C4E3;
  --violet-bg:#262336; --violet-ink:#B3A8EE; --amber-bg:#332715; --amber-ink:#F0B45A;
  --slate-bg:#262A2E; --slate-ink:#B3BEC8; --amber-wash:#322816; --amber-line:#6A5228;
  --scrim:rgba(0,0,0,.62); --solid-hover:rgba(22,22,20,.14);
  --shadow:0 6px 28px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.35);
  --shadow-soft:0 2px 12px rgba(0,0,0,.35);
  --shadow-sheet:0 18px 60px rgba(0,0,0,.65),0 2px 6px rgba(0,0,0,.4);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#161614; --panel:#222220; --surface:#34342F; --field:#2C2C29; --canvas-2:#1B1B19;
  --ink:#ECECE8; --ink-2:#B4B4AE; --ink-3:#9E9E98; --on-ink:#161614;
  --line:#30302D; --line-2:#494944; --hover:#353531; --hover-outline:#9E9E98;
  --green-bg:#1C2F1D; --green-ink:#8FD48F; --peach-bg:#33261A; --peach-ink:#F2B96A;
  --red-bg:#34201D; --red-ink:#F08C7E; --blue-bg:#1A2A33; --blue-ink:#86C4E3;
  --violet-bg:#262336; --violet-ink:#B3A8EE; --amber-bg:#332715; --amber-ink:#F0B45A;
  --slate-bg:#262A2E; --slate-ink:#B3BEC8; --amber-wash:#322816; --amber-line:#6A5228;
  --scrim:rgba(0,0,0,.62); --solid-hover:rgba(22,22,20,.14);
  --shadow:0 6px 28px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.35);
  --shadow-soft:0 2px 12px rgba(0,0,0,.35);
  --shadow-sheet:0 18px 60px rgba(0,0,0,.65),0 2px 6px rgba(0,0,0,.4);
  color-scheme:dark;
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;margin:0;}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
svg.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}
a{color:var(--blue-ink);}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}

/* ---------- shell ---------- */
.app{display:flex;min-height:100vh;}
.sidebar{width:272px;flex:0 0 272px;background:var(--panel);border-right:1px solid var(--line);padding:22px 16px 14px;display:flex;flex-direction:column;gap:2px;}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px;margin-bottom:18px;}
.logo{display:block;height:28px;aspect-ratio:512/190;background:var(--ink);-webkit-mask:var(--logo-mask) left center/contain no-repeat;mask:var(--logo-mask) left center/contain no-repeat;}
.brand .tag{font-size:11px;font-weight:600;color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;padding:1px 8px;margin-left:auto;}
.ctx{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;margin-bottom:14px;border:1px solid var(--line-2);border-radius:12px;background:var(--field);cursor:pointer;text-align:left;}
.ctx:hover{border-color:var(--hover-outline);}
.ctx .av{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:12px;background:var(--ink);color:var(--on-ink);flex:none;}
.ctx .av svg{width:16px;height:16px;color:var(--on-ink);}
.ctx .t{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.ctx .t b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ctx .t span{font-size:11.5px;color:var(--ink-3);}
.ctx svg{margin-left:auto;color:var(--ink-3);}
.nav{display:flex;flex-direction:column;gap:2px;}
.nav .navlink{display:flex;align-items:center;gap:12px;width:100%;padding:8px 13px;border:0;border-radius:13px;background:transparent;color:var(--ink-2);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s,color .15s;}
.nav .navlink:hover{background:var(--hover);color:var(--ink);}
.nav .navlink.active{background:var(--ink);color:var(--on-ink);}
.nav .navlink.cta{border:1.5px solid var(--ink);color:var(--ink);font-weight:600;padding:6.5px 11.5px;margin-bottom:6px;}
.nav .navlink.cta:hover{background:var(--hover);}
.nav-sect{font-size:11.5px;font-weight:600;color:var(--ink-3);padding:20px 13px 5px;}
.count{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:grid;place-items:center;font-size:11.5px;font-weight:700;background:var(--field);color:var(--ink-3);}
.count.amber{background:var(--amber);color:#fff;}
.count.red{background:var(--red);color:#fff;}
.nav .navlink.active .count{background:rgba(255,255,255,.18);color:var(--on-ink);}
.side-foot{margin-top:auto;padding-top:12px;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);}
.usage{margin-top:10px;background:var(--field);border-radius:12px;padding:11px 14px;font-size:12.5px;display:flex;flex-direction:column;gap:6px;}
.usage .r{display:flex;justify-content:space-between;color:var(--ink-2);font-weight:500;}
.usage .r b{color:var(--ink);font-family:var(--mono);font-weight:500;}
.meter{height:5px;border-radius:999px;background:var(--line-2);overflow:hidden;}
.meter i{display:block;height:100%;background:var(--blue);border-radius:999px;}
.main{flex:1;min-width:0;padding:34px clamp(16px,3vw,40px) 60px;}
.page{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:22px;}
.page.narrow{max-width:820px;}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;}
.head h1{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0;text-wrap:balance;}
.head p{margin:6px 0 0;color:var(--ink-2);max-width:62ch;}
.head .acts{display:flex;gap:10px;flex-wrap:wrap;}
.crumb{font-size:12.5px;color:var(--ink-3);font-weight:500;display:flex;gap:6px;align-items:center;margin-bottom:6px;}
.crumb button{background:none;border:0;padding:0;color:var(--ink-2);cursor:pointer;font-weight:600;}
.crumb button:hover{color:var(--ink);}
.crumb a{color:var(--ink-2);font-weight:600;text-decoration:none;}
.crumb a:hover{color:var(--ink);}
.crumb svg{width:14px;height:14px;}

/* ---------- primitives ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:22px;min-width:0;}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.card-head h2,.card h2{font-size:17px;font-weight:700;letter-spacing:-.015em;margin:0;}
.card-head .sub{font-size:12.5px;color:var(--ink-3);}
.label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:4px 2px 8px;}
.grid{display:grid;gap:18px;}
.g2{grid-template-columns:repeat(2,minmax(0,1fr));}
.g3{grid-template-columns:repeat(3,minmax(0,1fr));}
.g4{grid-template-columns:repeat(4,minmax(0,1fr));}
.g-main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr));}.g-main{grid-template-columns:1fr;}}
@media (max-width:760px){.g2,.g3,.g4{grid-template-columns:1fr;}}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:18px 20px;display:flex;flex-direction:column;gap:4px;min-width:0;}
.tile .k{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-weight:500;font-size:13px;}
.tile .k svg{width:15px;height:15px;color:var(--ink-3);}
.tile .k .delta{margin-left:auto;font-size:11.5px;font-weight:600;background:var(--field);border-radius:999px;padding:1px 8px;color:var(--ink-2);}
.tile .v{font-family:var(--mono);font-size:28px;font-weight:500;letter-spacing:-.02em;line-height:1.25;font-variant-numeric:tabular-nums;}
.tile .s{font-size:12px;color:var(--ink-3);}
.tile .s b{color:var(--ink-2);font-weight:600;}
.mini{background:var(--field);border-radius:12px;padding:14px 16px;text-align:center;display:flex;flex-direction:column;gap:2px;min-width:0;}
.mini b{font-family:var(--mono);font-size:19px;font-weight:500;}
.mini span{font-size:12px;color:var(--ink-2);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);border:1.5px solid var(--line-2);color:var(--ink);font-weight:600;font-size:13px;padding:10px 18px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:border-color .15s,transform .15s,box-shadow .15s;}
.btn:hover:not(:disabled){border-color:var(--hover-outline);}
.btn:disabled{opacity:.45;cursor:not-allowed;}
.btn svg{width:16px;height:16px;}
.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink);}
.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 0 0 999px var(--solid-hover);}
.btn.danger{background:var(--red-bg);border-color:transparent;color:var(--red-ink);}
.btn.danger:hover:not(:disabled){border-color:var(--red);}
.btn.sm{padding:6px 13px;font-size:12.5px;}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2);}
.btn.ghost:hover{background:var(--hover);}
.linkbtn{background:none;border:0;padding:0;color:var(--blue-ink);font-weight:600;cursor:pointer;font-size:inherit;}
.linkbtn:hover{text-decoration:underline;}

.seg{display:inline-flex;flex-wrap:wrap;background:var(--field);border-radius:12px;padding:4px;gap:4px;}
.seg button{font-weight:600;font-size:13px;color:var(--ink-2);background:transparent;border:none;padding:7px 16px;border-radius:9px;cursor:pointer;transition:.15s;}
.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft);}
.seg button:hover:not(.on){color:var(--ink);}

/* status glyph: a tinted round badge, as on worca's run list */
.g{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;}
.g svg{width:14px;height:14px;stroke-width:2.4;}
.g.green{background:var(--green-bg);color:var(--green-ink);}
.g.blue{background:var(--blue-bg);color:var(--blue-ink);}
.g.amber{background:var(--amber-bg);color:var(--amber-ink);}
.g.red{background:var(--red-bg);color:var(--red-ink);}
.g.violet{background:var(--violet-bg);color:var(--violet-ink);}
.g.slate{background:var(--slate-bg);color:var(--slate-ink);}
.g.lg{width:40px;height:40px;}
.g.lg svg{width:20px;height:20px;}
.spin svg{animation:spin 1.4s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.pulse svg{animation:pulse 1.6s ease-in-out infinite;}
@keyframes pulse{50%{opacity:.35;}}
@media (prefers-reduced-motion:reduce){.spin svg,.pulse svg{animation:none;}}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap;}
.pill.green{background:var(--green-bg);color:var(--green-ink);}
.pill.blue{background:var(--blue-bg);color:var(--blue-ink);}
.pill.amber{background:var(--amber-bg);color:var(--amber-ink);}
.pill.red{background:var(--red-bg);color:var(--red-ink);}
.pill.violet{background:var(--violet-bg);color:var(--violet-ink);}
.pill.slate{background:var(--slate-bg);color:var(--slate-ink);}
.pill.line{background:transparent;border:1px solid var(--line-2);color:var(--ink-2);}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none;}

/* list rows: field-grey blocks inside a card, like worca's RESULTS rows */
.rows{display:flex;flex-direction:column;background:var(--field);border-radius:12px;overflow:hidden;}
.row{display:flex;align-items:center;gap:14px;padding:13px 16px;border-top:1px solid var(--line);min-width:0;}
.row:first-child{border-top:0;}
.row.click{cursor:pointer;}
.row.click:hover{background:var(--hover);}
.row .t{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.35;}
.row .t b{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.row .t span{font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.row .r{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12.5px;flex:none;}
.row .r .mono{color:var(--ink-2);}
.list{display:flex;flex-direction:column;}
.list .row{background:transparent;padding:12px 4px;}

.tablewrap{overflow-x:auto;margin:0 -4px;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{font-weight:600;color:var(--ink-2);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap;}
td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;}
tr:last-child td{border-bottom:0;}
tbody tr.click{cursor:pointer;}
tbody tr.click:hover td{background:var(--field);}
td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;}
td .who{display:flex;align-items:center;gap:10px;}
.av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;color:var(--ink);background:var(--line-2);flex:none;}
td .who .t{display:flex;flex-direction:column;line-height:1.3;}
td .who .t span{font-size:12px;color:var(--ink-3);}

.field{display:flex;flex-direction:column;gap:7px;}
.field > label{font-weight:600;font-size:13px;}
.field .opt{color:var(--ink-3);font-weight:500;}
.hint{color:var(--ink-2);font-size:12px;line-height:1.45;}
.hint.err{color:var(--red-ink);}
.inp.field-invalid,.inp.field-invalid:focus{border-color:var(--red-ink);}
.inp.field-invalid::placeholder{color:var(--ink-2);}
.field-error{display:flex;gap:6px;align-items:flex-start;color:var(--red-ink);font-size:12px;line-height:1.45;}
.field-error svg.fe-ic{width:14px;height:14px;margin-top:1px;stroke-width:2.2;}
.inp{width:100%;background:var(--field);border:1.5px solid transparent;border-radius:var(--r-ctrl);padding:11px 14px;font-size:13.5px;outline:none;transition:border-color .15s,background .15s;}
.inp:focus{border-color:var(--ink);background:var(--surface);}
select.inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px;}
.form{display:flex;flex-direction:column;gap:18px;}
.checks{display:flex;flex-direction:column;gap:2px;background:var(--field);border-radius:12px;padding:6px;}
.check{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:9px;cursor:pointer;}
.check:hover{background:var(--hover);}
.check input{width:17px;height:17px;accent-color:var(--ink);margin:0;}
.check .t{display:flex;flex-direction:column;line-height:1.3;}
.check .t span{font-size:12px;color:var(--ink-3);}
.switch{position:relative;width:38px;height:22px;flex:none;}
.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;}
.switch i{position:absolute;inset:0;border-radius:999px;background:var(--line-2);transition:.15s;pointer-events:none;}
.switch i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.15s;}
.switch input:checked + i{background:var(--green);}
.switch input:checked + i::after{left:19px;}
.switch input:focus-visible + i{outline:2px solid var(--ink);outline-offset:2px;}

.banner{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:13px 16px;font-size:13px;line-height:1.5;}
.banner svg{margin-top:1px;}
.banner.amber{background:var(--amber-wash);border:1px solid var(--amber-line);color:var(--ink);}
.banner.amber svg{color:var(--amber-ink);}
.banner.blue{background:var(--blue-bg);color:var(--ink);}
.banner.blue svg{color:var(--blue-ink);}
.banner.red{background:var(--red-bg);color:var(--ink);}
.banner.red svg{color:var(--red-ink);}
.banner.violet{background:var(--violet-bg);color:var(--ink);}
.banner.violet svg{color:var(--violet-ink);}
.banner .grow{flex:1;min-width:0;}
.banner b{font-weight:600;}

.kv{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:10px 18px;font-size:13px;margin:0;}
.kv dt{color:var(--ink-3);font-weight:500;}
.kv dd{margin:0;min-width:0;overflow-wrap:anywhere;}
.code{font-family:var(--mono);font-size:12.5px;background:var(--field);border-radius:8px;padding:2px 7px;}
.codeblock{font-family:var(--mono);font-size:12.5px;background:var(--field);border-radius:10px;padding:12px 14px;overflow-x:auto;white-space:pre;}
.muted{color:var(--ink-3);}
.ink2{color:var(--ink-2);}
.flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.stack{display:flex;flex-direction:column;gap:14px;}
.empty{text-align:center;color:var(--ink-3);padding:26px 10px;font-size:13px;}
.danger-zone{border:1px solid var(--red-bg);}
.danger-zone .row{background:transparent;}

/* steps (provisioning progress) */
.steps{display:flex;flex-direction:column;gap:0;}
.step{display:flex;gap:14px;align-items:flex-start;padding:10px 0;position:relative;}
.step:not(:last-child)::after{content:"";position:absolute;left:12.5px;top:38px;bottom:-8px;width:1.5px;background:var(--line-2);}
.step .t{display:flex;flex-direction:column;line-height:1.35;padding-top:2px;}
.step .t span{font-size:12.5px;color:var(--ink-3);}
.step.wait .t b{color:var(--ink-3);font-weight:500;}

/* charts */
.chart svg{display:block;width:100%;height:auto;}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--ink-2);margin-bottom:8px;}
.legend span{display:inline-flex;align-items:center;gap:6px;}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block;}
.legend b{font-family:var(--mono);font-weight:500;color:var(--ink);}
.bar{height:8px;border-radius:999px;background:var(--line-2);overflow:hidden;display:flex;}
.bar i{display:block;height:100%;}

/* modal */
.scrim{position:fixed;inset:0;background:var(--scrim);display:grid;place-items:center;padding:16px;z-index:60;}
.modal{background:var(--panel);border-radius:18px;box-shadow:var(--shadow-sheet);width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:24px;display:flex;flex-direction:column;gap:16px;}
.modal.wide{width:min(640px,100%);}
.modal h2{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0;}
.modal h2.danger{color:var(--red-ink);}
.modal p{margin:0;color:var(--ink-2);}
.modal .acts{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px;}
.modal .center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
.mail{border:1px solid var(--line-2);border-radius:12px;overflow:hidden;font-size:13px;}
.mail .mh{background:var(--field);padding:10px 14px;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--ink-2);}
.mail .mh b{color:var(--ink);font-size:13px;}
.mail .mb{padding:14px;display:flex;flex-direction:column;gap:10px;color:var(--ink-2);}

/* toasts (as worca's #555): bottom right, at most 3, icon per tone; words in ink, tone on the icon */
.toasts{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));display:grid;gap:10px;width:min(380px,calc(100vw - 32px));z-index:90;pointer-events:none;}
.toasts:empty{display:none;}
.toast{pointer-events:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-card);box-shadow:var(--shadow-sheet);padding:12px 12px 12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;animation:toast-in .18s ease-out;}
@keyframes toast-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.toast .ti{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;}
.toast .ti svg{width:15px;height:15px;stroke-width:2.2;}
.toast.ok .ti{background:var(--green-bg);color:var(--green-ink);}
.toast.err .ti{background:var(--red-bg);color:var(--red-ink);}
.toast.warn .ti{background:var(--amber-bg);color:var(--amber-ink);}
.toast.info .ti{background:var(--blue-bg);color:var(--blue-ink);}
.toast .tb{min-width:0;display:grid;gap:3px;}
.toast .tt{font-size:13.5px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;padding-top:3px;}
.toast .td{font-size:12.5px;color:var(--ink-2);line-height:1.4;overflow-wrap:anywhere;}
.toast .toast-act{justify-self:start;margin-top:6px;}
.toast-x{background:none;border:0;padding:4px;border-radius:var(--r-ctrl);color:var(--ink-2);cursor:pointer;display:grid;place-items:center;}
.toast-x svg{width:14px;height:14px;}
.toast-x:hover{background:var(--field);color:var(--ink);}
.toasts-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
@media (max-width:760px){.toasts{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));width:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));}}
/* busy(btn, fn, { done }): spinner while running, then a green "✓ Saved" for 2 s */
.btn-spin{width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite;flex:none;}
.btn.is-busy:disabled{opacity:1;cursor:progress;transform:none;}
.btn.is-done,.btn.is-done:hover:not(:disabled){background:var(--green-ink);border-color:var(--green-ink);color:var(--on-ink);transform:none;box-shadow:none;cursor:default;}
@media (prefers-reduced-motion:reduce){.toast{animation:none;}.btn-spin{animation:none;}}

/* drawer for detail panes */
.split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start;}
@media (max-width:1100px){.split{grid-template-columns:1fr;}}

/* phone */
.menu-btn{display:none;}
@media (max-width:860px){
  .app{flex-direction:column;}
  .sidebar{width:auto;flex:none;border-right:0;border-bottom:1px solid var(--line);padding:14px 16px;}
  .sidebar .nav,.sidebar .side-foot,.sidebar .ctx{display:none;}
  .sidebar.open .nav,.sidebar.open .side-foot,.sidebar.open .ctx{display:flex;}
  .brand{margin-bottom:0;}
  .sidebar.open .brand{margin-bottom:14px;}
  .menu-btn{display:inline-flex;margin-left:auto;}
  .brand .tag{margin-left:0;}
  .main{padding-top:22px;}
  .head h1{font-size:25px;}
}

/* ---------- app shell additions (links instead of buttons in nav, sign-out form) ---------- */
/* `hidden` wins over every component's display (rows, fields, checks set display themselves). */
[hidden]{display:none!important;}
.nav .navlink.cta.active{color:var(--on-ink);}
.nav .navlink{text-decoration:none;}
.navform{margin:0;display:contents;}
.brand a.logo{flex:none;}
.main.bare{display:flex;justify-content:center;padding-top:8vh;}
.card.center,.stack.center{align-items:center;text-align:center;}
.noscript{padding:24px;text-align:center;}
a.row{color:inherit;text-decoration:none;}
a.btn{text-decoration:none;}

/* ---------- personal ---------- */
.home-list{gap:28px;}
.home-org{display:flex;flex-direction:column;gap:12px;}
.home-org-head{display:flex;align-items:center;}
.home-org-link{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;border-radius:10px;padding:2px 6px 2px 2px;min-width:0;}
.home-org-link:hover b{text-decoration:underline;}
.home-org-link .av{border-radius:8px;background:var(--ink);color:var(--on-ink);}
.home-org-link .t{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
.home-org-link .t b{font-size:15px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.home-org-link .t span{font-size:12px;color:var(--ink-3);}
.home-org-link > svg{color:var(--ink-3);}
.home-inst{display:flex;flex-direction:column;gap:14px;}
.home-inst-top{display:flex;align-items:center;gap:10px;min-width:0;}
.home-inst-id{min-width:0;}
.home-inst-id b{display:block;font-size:16px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.home-inst-id .mono{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.home-inst-line{font-size:13px;}
.home-inst-foot{flex-wrap:nowrap;}
.home-inst-teams{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.home-empty{padding:6px 22px;}
.home-empty-act{margin-top:12px;}
.home-staff{flex-wrap:nowrap;align-items:flex-start;}
.home-staff .t{display:flex;flex-direction:column;gap:2px;}
.welcome-org-av{border-radius:8px;}
.welcome-inv .t b{white-space:normal;}
.pending-card{gap:12px;padding:34px 26px;}
.pending-logo{height:26px;margin-bottom:10px;}
.pending-h{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0;}
.pending-p{margin:0;max-width:52ch;}
.pending-acts{justify-content:center;margin-top:8px;}

/* ---------- org-overview ---------- */
.ov-card{display:flex;flex-direction:column;gap:14px;}
.ov-top{display:flex;align-items:center;gap:10px;min-width:0;}
.ov-id{min-width:0;}
.ov-name{display:block;font-size:16px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ov-host{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ov-line{font-size:13px;}
.ov-teams{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ov-card .between{flex-wrap:nowrap;}
.ov-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:34px 22px;}
.ov-empty p{margin:0;max-width:52ch;}
a.ov-tile{color:inherit;text-decoration:none;transition:border-color .15s;}
a.ov-tile:hover{border-color:var(--hover-outline);}
.ov-of{font-size:16px;color:var(--ink-3);}
.tile .v.ov-text{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-.01em;padding-block:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ov-link{text-decoration:none;font-size:13px;}
.ov-link:hover{text-decoration:underline;}
.ov-calm{display:flex;flex-direction:column;align-items:center;gap:10px;}
.ov-activity .row .t b{font-weight:500;white-space:normal;}
.ov-activity .row .t span{white-space:normal;}
.ov-more{margin-top:10px;text-align:center;}
.ov-setup-p{margin:0 0 6px;}
.ov-steps{list-style:none;margin:0;padding:0;}
.ov-steps .step .t a{color:var(--ink);font-weight:600;}
.ov-step-act{margin-top:8px;}
.ov-dot{background:var(--slate);}
.ov-setup-more{margin-top:6px;text-align:right;}

/* ---------- account ---------- */
.acct-tabs{align-self:flex-start;max-width:100%;}
.acct-tabs a{font-weight:600;font-size:13px;color:var(--ink-2);text-decoration:none;padding:7px 16px;border-radius:9px;transition:.15s;}
.acct-tabs a.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft);}
.acct-tabs a:hover:not(.on){color:var(--ink);}
.acct-actions{display:flex;justify-content:flex-end;}
.acct-note{margin-top:10px;}
.acct-export{margin-top:18px;}
.acct-measure{max-width:56ch;}
.acct .rows > .row > svg.i{color:var(--ink-2);}
@media (max-width:520px){
  .acct .row{flex-wrap:wrap;}
  .acct .row .t{flex-basis:calc(100% - 40px);}
  .acct .row .t b,.acct .row .t span{white-space:normal;}
  .acct-tabs a{padding:7px 12px;}
}
.ov-needs .row .t b,.ov-needs .row .t span{white-space:normal;}

/* ---------- people ---------- */
.ppl-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ppl-search{position:relative;flex:0 1 320px;min-width:0;}
.ppl-search > svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-3);pointer-events:none;}
.ppl-search .inp{padding-left:38px;background:var(--panel);border-color:var(--line-2);}
.ppl-search .inp:focus{border-color:var(--ink);}
.ppl-bar{align-items:center;}
.ppl-tablecard{padding:8px 14px;}
.ppl-tablecard .tablewrap{position:relative;} /* keeps the visually hidden header text inside the scroller */
.ppl-tablecard td .who .t b{font-weight:600;}
.ppl-tablecard td .who{min-width:210px;}
.ppl-tablecard td .who .t span{white-space:nowrap;}
.ppl-err:empty{display:none;}
.ppl-you{font-weight:500;}
.ppl-act{text-align:right;white-space:nowrap;}
.ppl-email{font-size:12.5px;overflow-wrap:anywhere;}
p.ppl-email{margin-top:-10px;}
.ppl-deliv{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:11.5px;}
.ppl-soon{color:var(--amber-ink);font-weight:600;}
.ppl-ta{resize:vertical;min-height:76px;line-height:1.5;}
.ppl-fs{border:0;padding:0;margin:0;min-width:0;}
.ppl-fs legend{font-weight:600;font-size:13px;padding:0;margin-bottom:7px;}
.modal .acts.ppl-split{justify-content:space-between;}
.ppl-empty-act{margin-top:12px;}
.crumb a{color:var(--ink-2);font-weight:600;text-decoration:none;}
.crumb a:hover{color:var(--ink);}
.crumb svg{width:14px;height:14px;}
a.ppl-team{display:flex;flex-direction:column;gap:12px;color:inherit;text-decoration:none;transition:border-color .15s;}
a.ppl-team:hover{border-color:var(--hover-outline);}
.ppl-team-name{font-size:16px;font-weight:700;letter-spacing:-.01em;min-width:0;overflow-wrap:anywhere;}
.ppl-team-r{gap:8px;color:var(--ink-3);flex-wrap:nowrap;}
.ppl-team-people{gap:0;font-size:12.5px;}
.ppl-avs{display:inline-flex;margin-right:12px;}
.ppl-avs .av{width:28px;height:28px;font-size:10.5px;border:2px solid var(--panel);margin-right:-8px;}
.ppl-avs .av.ppl-more{background:var(--field);color:var(--ink-2);}
.ppl-pills{gap:6px;}
.ppl-dot.green{background:var(--green);}
.ppl-dot.blue{background:var(--blue);}
.ppl-dot.violet{background:var(--violet);}
.ppl-dot.amber{background:var(--amber);}
.ppl-dot.red{background:var(--red);}
.ppl-dot.slate{background:var(--slate);}
.ppl-added{font-size:12px;}
label.row.ppl-grant{cursor:pointer;}
label.row.ppl-grant:hover{background:var(--hover);}
@media (max-width:640px){
  .ppl-search{flex:1 1 100%;}
  .ppl-added{display:none;}
}

/* ---------- instances ---------- */
.inst-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.inst-crumb a{color:var(--ink-2);font-weight:600;text-decoration:none;}
.inst-crumb a:hover{color:var(--ink);text-decoration:underline;}
.inst-crumb svg{width:14px;height:14px;}
.inst-crumb span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.inst-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;}
.inst-count{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-left:2px;}
.inst-team{min-width:180px;}
.inst-team .inp{padding-top:9px;padding-bottom:9px;}
.inst-tablecard{padding:8px 14px;}
.inst-table td.inst-g{width:40px;}
.inst-name a{color:var(--ink);font-weight:600;text-decoration:none;}
.inst-name a:hover{text-decoration:underline;}
.inst-name .mono{font-size:12px;}
.inst-sub{font-size:12px;margin-top:3px;}
.inst-health{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.inst-dot-green{background:var(--green);}
.inst-dot-amber{background:var(--amber);}
.inst-dot-slate{background:var(--slate);}
.inst-dot{background:var(--slate);}
.inst-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 10px;}
.inst-empty b{color:var(--ink);font-size:15px;}
.inst-empty .btn{margin-top:8px;}
.inst-fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:7px;}
.inst-fieldset legend{font-weight:600;font-size:13px;padding:0;margin-bottom:7px;}
.inst-fieldset legend .opt{color:var(--ink-3);font-weight:500;}
.inst-methods{margin-top:2px;}
.inst-form-acts{justify-content:flex-end;}
.inst-head-t{min-width:0;}
.inst-head-t h1{overflow-wrap:anywhere;}
.inst-host{font-size:13px;overflow-wrap:anywhere;}
.inst-status{gap:18px;}
.inst-status-top{display:flex;align-items:center;gap:12px;}
.inst-status-t{min-width:0;}
.inst-status-t b{font-size:17px;font-weight:700;}
.inst-steps{list-style:none;margin:0;padding:4px 0 0;}
.inst-steps .step .t span.step-problem{color:var(--amber-ink);margin-top:3px;max-width:52ch;}
.inst-minis .mini b{font-size:17px;}
.inst-mini-bad b{color:var(--red-ink);}
.inst-kv{border-top:1px solid var(--line);padding-top:16px;}
.inst-kv dd{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;}
.inst-copy{padding:2px 10px;}
.banner.inst-red{background:var(--red-bg);color:var(--ink);}
.banner.inst-red svg{color:var(--red-ink);}
.inst-sections{gap:20px;}
.inst-rowbtn{width:100%;border:0;border-top:1px solid var(--line);background:transparent;font:inherit;color:inherit;text-align:left;}
.inst-rowbtn:first-child{border-top:0;}
.inst-rowbtn:disabled{cursor:default;opacity:.6;}
.inst-rowbtn .t b,.inst-rowbtn .t span{white-space:normal;}
.inst-sections .row .t span{white-space:normal;}
.inst-danger-t{max-width:56ch;}
.inst-teams{display:inline-flex;flex-wrap:wrap;gap:4px;}
.inst-teampill svg{width:12px;height:12px;}
a.inst-teampill{text-decoration:none;}
a.inst-teampill:hover{border-color:var(--hover-outline);color:var(--ink);}
@media (max-width:760px){
  .inst-filters{align-items:stretch;}
  .inst-team{flex:1;min-width:0;}
  .inst-status-top{align-items:flex-start;}
}

/* ---------- platform-people ---------- */
.pp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.pp-small{font-size:12.5px;}
.pp-gap{margin:12px 0 0;}
.pp-mb{margin-bottom:14px;}
.pp-wrap{white-space:normal !important;overflow-wrap:anywhere;}
.pp-nobr{white-space:nowrap;}
.pp-nowrap{flex-wrap:nowrap;}
.pp-grow{flex:1;min-width:0;}
.pp-center{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.pp-light{font-weight:500;}
.pp-tablecard{padding:8px 14px;}
.pp-tablecard .tablewrap,.pp-filters,#find{position:relative;}
.pp-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pp-acts{text-align:right;white-space:nowrap;}
.pp-acts .btn + .btn{margin-left:6px;}
.pp-code{font-size:20px;letter-spacing:.06em;user-select:all;text-align:center;white-space:normal;overflow-wrap:anywhere;width:100%;}
.pp-picked{background:var(--violet-bg);}
.pp-av{width:44px;height:44px;font-size:14px;}
.pp-name{font-size:17px;}
.pp-reason{color:var(--ink-2) !important;font-style:italic;}
.pp-req{align-items:flex-start;}
.pp-req > svg{margin-top:2px;color:var(--ink-3);}
.pp-req .r{max-width:40%;text-align:right;white-space:normal;}
.pp-filters{display:flex;flex-direction:column;gap:14px;}
.pp-filter-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;}
.pp-filter-row .field{flex:1 1 220px;min-width:0;}
.pp-clear{margin-bottom:6px;}
.pp-v{font-size:22px;}
.pp-fieldset{border:0;padding:0;margin:0;min-width:0;}
.pp-legend{font-weight:600;font-size:13px;padding:0;margin-bottom:7px;}
.pp-quota{background:var(--field);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;}
.pp-quota b{font-weight:600;}
.pp-meter{height:7px;}
.pp-meter i{background:var(--green);}
.pp-meter.amber i{background:var(--amber);}
.pp-meter.red i{background:var(--red);}
.row.pp-tight{padding:9px 14px;}
.pp-days{display:flex;flex-direction:column;gap:4px;font-size:12.5px;}
.pp-day{display:grid;grid-template-columns:44px 1fr 36px;align-items:center;gap:10px;}
.pp-day > span:last-child{text-align:right;}
.pp-daybar{height:8px;border-radius:999px;background:var(--field);overflow:hidden;}
.pp-daybar i{display:block;height:100%;background:var(--blue);border-radius:999px;min-width:0;}
.pp-daybar i.over{background:var(--red);}
@media (max-width:760px){.pp-req{flex-wrap:wrap;}.pp-req .r{max-width:none;margin-left:0;width:100%;justify-content:flex-start;text-align:left;}}

/* ---------- org-admin ---------- */
.oa-flush{margin:0;}
.oa-end{justify-content:flex-end;}
.oa-center{display:flex;justify-content:center;}
.oa-measure{max-width:56ch;}
.oa-small{font-size:12px;}
.oa-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
label.row.oa-click{cursor:pointer;}
label.row.oa-click:hover{background:var(--hover);}
.oa-copy{display:flex;align-items:center;gap:6px;min-width:0;}
.oa-copy .mono{font-size:12.5px;background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:4px 8px;min-width:0;overflow-wrap:anywhere;flex:1;}
.oa-copy .btn{flex:none;padding:6px 8px;}
.modal .oa-copy .mono{background:var(--field);border-color:transparent;}
.row .t b.oa-dom{font-family:var(--mono);font-weight:500;white-space:normal;overflow-wrap:anywhere;}
.row.oa-pending{align-items:flex-start;flex-wrap:wrap;}
.row.oa-pending .t{flex:1 1 260px;}
.row.oa-pending .t span{white-space:normal;}
.row.oa-pending .t b.oa-dom{white-space:normal;overflow-wrap:anywhere;}
.oa-txt{margin-top:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;}
.oa-domacts{align-self:center;}
@media (max-width:760px){.row.oa-pending > .g{display:none;}}
label.row.oa-click .t span{white-space:normal;}
.oa-sso{background:var(--field);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:14px;min-width:0;}
.oa-sso-t{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
.oa-sso-t b{font-weight:600;font-family:var(--mono);font-size:13.5px;overflow-wrap:anywhere;}
.oa-sso-t span{font-size:12.5px;color:var(--ink-3);}
.oa-sso .kv dd.mono{font-size:12.5px;}
.oa-more summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--ink-2);padding:4px 0;}
.oa-more[open] summary{margin-bottom:12px;}
.oa-cert{resize:vertical;min-height:110px;font-size:12px;}
.oa-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;}
.oa-selects{display:flex;gap:10px;flex-wrap:wrap;}
.oa-selects .inp{width:auto;min-width:180px;max-width:100%;padding-top:8px;padding-bottom:8px;}
.card.oa-auditcard{padding:8px 14px;}
.oa-audit td{vertical-align:top;}
.oa-when{white-space:nowrap;}
.oa-who{white-space:nowrap;}
.oa-what{line-height:1.45;}
.oa-det{font-size:12px;color:var(--ink-3);margin-top:2px;overflow-wrap:anywhere;}
.oa-prog{display:flex;flex-direction:column;gap:8px;background:var(--field);border-radius:12px;padding:12px 14px;}
.oa-prog .meter{height:7px;}
.oa-prog .meter i{width:0;transition:width .4s;}
@media (max-width:760px){
  .oa-selects,.oa-selects .inp{width:100%;}
  .oa-audit thead{display:none;}
  .oa-audit tr{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line);}
  .oa-audit tr:last-child{border-bottom:0;}
  .oa-audit td{border:0;padding:0;}
  .oa-audit td:nth-child(3){grid-column:1 / -1;}
  .oa-who{font-weight:600;}
  .oa-txt{grid-template-columns:1fr;}
  .oa-sso .kv{grid-template-columns:1fr;gap:2px;}
  .oa-sso .kv dd{margin-bottom:8px;}
}
#keys .pill{font-family:var(--sans);}

/* ---------- platform-core ---------- */
.pc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.pc-tablecard{padding:8px 14px;}
.pc-tablecard .tablewrap{position:relative;}
.pc-tablecard .pc-cardhead{padding:12px 4px 0;margin-bottom:6px;}
a.pc-tile{color:inherit;text-decoration:none;transition:border-color .15s;}
a.pc-tile:hover{border-color:var(--hover-outline);}
.tile .v.pc-warn,.pc-warn{color:var(--amber-ink);}
span.pc-warn{font-weight:600;}
.pc-bad{color:var(--red-ink);}
.pc-link{font-size:13px;font-weight:600;text-decoration:none;}
.pc-link:hover{text-decoration:underline;}
.pc-look .row .t b,.pc-look .row .t span{white-space:normal;}
.pc-calm{display:flex;flex-direction:column;align-items:center;gap:10px;}
.pc-note{margin:10px 2px 0;}
.pc-tight{margin:-10px 2px 0;}
.pc-gap{margin-top:14px;}
.pc-small{font-size:12px;}
.fact-warn{flex-basis:100%;color:var(--amber-ink);font-size:12px;}
.fact-rows{display:flex;flex-direction:column;gap:2px;}
.pc-vbar{height:12px;margin-bottom:12px;}
.pc-v0{background:var(--green);}
.pc-v1{background:var(--amber);}
.pc-v2{background:var(--blue);}
.pc-v3{background:var(--slate);}
.pc-ver{font-weight:500;}
.pill.pc-latest{font-family:var(--sans);margin-left:4px;}
.pc-dot-green{background:var(--green);}
.pc-dot-slate{background:var(--slate);}
.pc-search{max-width:420px;}
.pc-search-box{position:relative;display:block;}
.pc-search-box svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none;}
.pc-search-box .inp{padding-left:40px;background:var(--panel);border-color:var(--line-2);}
.pc-search-box .inp:focus{border-color:var(--ink);}
a.pc-name,a.pc-org{color:var(--ink);font-weight:600;text-decoration:none;}
a.pc-org{font-weight:500;}
a.pc-name:hover,a.pc-org:hover{text-decoration:underline;}
.pc-sub{font-size:12px;color:var(--ink-3);margin-top:1px;}
.pc-nowrap{white-space:nowrap;}
td.pc-glyph{width:40px;padding-right:0;}
.pc-fieldset{border:0;margin:0;padding:0;min-width:0;}
.head p .pc-idline{font-size:13px;}
.pc-status{text-transform:capitalize;}
.pc-email{font-weight:500;font-size:13px;}
.crumb a.pc-crumb{color:var(--ink-2);font-weight:600;text-decoration:none;}
.crumb a.pc-crumb:hover{color:var(--ink);}
.crumb svg{width:14px;height:14px;}
.pc-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;}
.pc-tabs{max-width:100%;align-self:flex-start;}
.pc-tabs a{font-weight:600;font-size:13px;color:var(--ink-2);text-decoration:none;padding:7px 14px;border-radius:9px;transition:.15s;display:inline-flex;align-items:center;gap:6px;}
.pc-tabs a.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft);}
.pc-tabs a:hover:not(.on){color:var(--ink);}
.pc-n{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--ink-3);}
.pc-orgsel{min-width:220px;max-width:320px;flex:0 1 280px;}
.pc-orgsel .inp{background-color:var(--panel);border-color:var(--line-2);padding-top:9px;padding-bottom:9px;}
.pc-col{gap:18px;}
.pc-state{display:flex;align-items:center;gap:12px;}
.pc-state-l{font-size:17px;}
.pc-id{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0;}
.pc-id .mono{font-size:12px;overflow-wrap:anywhere;min-width:0;}
.btn.pc-copy{padding:3px 6px;color:var(--ink-3);}
.btn.pc-copy svg{width:14px;height:14px;}
.pc-reflist{display:flex;flex-direction:column;gap:10px;}
.pc-ref{display:flex;flex-direction:column;gap:1px;min-width:0;}
.pc-ref-k{font-size:12px;color:var(--ink-3);font-weight:500;}
.pc-ref-k::first-letter{text-transform:uppercase;}
.pc-instsub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;}
.pc-insturl{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:6px;font-size:15px;}
.pc-insturl a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
.pc-err{font-size:12px;overflow-wrap:anywhere;}
td.pc-errcell{max-width:280px;}
td.pc-errcell .pc-err{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pc-kind{font-weight:600;}
td.pc-act{text-align:right;white-space:nowrap;}
@media (max-width:760px){
  .pc-filters{flex-direction:column;align-items:stretch;}
  .pc-orgsel{max-width:none;flex:none;}
  .pc-tabs{display:flex;}
  .pc-tabs a{padding:7px 10px;}
}
.inst-fieldset[hidden],.inst-methods[hidden]{display:none;}
.inst-minis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}
/* The "New instance" call to action is this module's nav entry; when it is the active one the
   shared .cta colour would leave dark text on the dark active background. */
.nav .navlink.cta.active{color:var(--on-ink);}
@media (max-width:760px){.inst-kv{grid-template-columns:1fr;gap:2px 0;}.inst-kv dd{margin-bottom:10px;}}

.inst-host a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}

/* Outbound network policy editor (egress.mjs, D73) */
.eg-fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:7px;}
.eg-fieldset legend{font-weight:600;font-size:13px;padding:0;margin-bottom:7px;}
textarea.eg-list{min-height:96px;resize:vertical;font-family:var(--mono);font-size:12.5px;line-height:1.5;}
.eg-hosts .row{cursor:default;}
.eg-ro{font-size:12px;line-height:1.45;overflow-wrap:anywhere;}
