
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body {
    min-height: 100vh;
    padding: 24px 16px;
    display: flex; align-items: center; justify-content: center;
    background: #0f172a;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #e2e8f0;
  }
  .card {
    width: 100%; max-width: 380px;
    background: #1e293b;
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,.4);
  }
  h1 { font-size: 32px; line-height: 1.25; text-align: center; margin-bottom: 30px; font-weight: 700; letter-spacing: .04em; }
  label { display: block; font-size: 13px; color: #94a3b8; margin-bottom: 6px; }
  input {
    width: 100%; padding: 12px 14px; margin-bottom: 16px;
    border-radius: 10px; border: 1px solid #334155;
    background: #0f172a; color: #e2e8f0;
    font-size: 15px; outline: none;
  }
  input:focus { border-color: #6366f1; }
  button {
    width: 100%; padding: 13px; border: none;
    border-radius: 10px; background: #6366f1; color: #fff;
    font-size: 15px; font-weight: 600; cursor: pointer; margin-top: 6px;
  }
  button:disabled { opacity: .5; cursor: not-allowed; }
  .status { margin-top: 16px; font-size: 13px; color: #94a3b8; min-height: 20px; text-align: center; }
  .status.error { color: #f87171; }
  .status.success { color: #4ade80; }
  .progress-bar { height: 4px; background: #334155; border-radius: 2px; margin-top: 12px; overflow: hidden; display: none; }
  .progress-bar.active { display: block; }
  .progress-fill { height: 100%; width: 0%; background: #6366f1; transition: width .2s; }

#cap{margin:12px 0} [hidden]{display:none!important}
@media (max-width: 420px) { .card { padding: 30px 24px; } h1 { font-size: 30px; } }

.intro, .notice { color: #94a3b8; font-size: 13px; line-height: 1.6; }
.intro { margin-bottom: 22px; }
.notice { margin-top: 16px; }
fieldset { border: 0; min-inline-size: 0; }
legend { color: #94a3b8; font-size: 13px; margin-bottom: 6px; }
.methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 16px; }
.methods button { padding: 8px 3px; font-size: 12px; margin-top: 0; }

.brand-logo { display: block; margin: 0 auto 12px; object-fit: contain; }

[hidden] { display: none !important; }
select { width: 100%; margin-bottom: 16px; padding: 12px 14px; border: 1px solid #475569; border-radius: 8px; background: #0f172a; color: #e2e8f0; }
.portal-toolbar { display: flex; justify-content: flex-end; }
.portal-toolbar button { width: auto; margin-top: 0; font-size: 12px; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }
.actions button { flex: 1 1 120px; }
#status, #bindingState, .muted, #pluginConfirm p { font-size: 13px; line-height: 1.6; color: #94a3b8; margin: 12px 0; }
#captcha { border: 0; width: 100%; min-height: 150px; background: white; }
#qr { display: block; margin: 16px auto; max-width: 100%; }

:root {
  color-scheme: dark;
  --page: #0f172a;
  --surface: #172339;
  --ink: #e2e8f0;
  --muted: #aab8ca;
  --line: #43536a;
  --blue: #0967e0;
}
:root[data-theme="light"] {
  color-scheme: light;
  --page: #f1f5fb;
  --surface: #fff;
  --ink: #12213a;
  --muted: #52617a;
  --line: #c7d3e3;
}
body { background: var(--page); color: var(--ink); }
.card { background: var(--surface); box-shadow: 0 12px 40px #07152a20; }
.card:has(#binding:not([hidden])) { max-width: 720px; background: transparent; box-shadow: none; }
.card header > p { text-align: center; color: var(--muted); }
h1 { margin-bottom: 12px; }
h2 { font-size: 19px; margin-bottom: 14px; }
.step { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: clamp(14px, 4vw, 24px); margin-bottom: 14px; }
input, select { background: var(--page); color: var(--ink); border-color: var(--line); }
label, #status, #bindingState, .muted, #pluginConfirm p { color: var(--muted); }
button { background: var(--blue); }
.choices, .portal-toolbar { display: flex; flex-wrap: wrap; gap: 8px; }
.choices { margin-bottom: 14px; }
.choices button { flex: 1 1 100px; width: auto; }
.choices button[aria-pressed="false"], .portal-toolbar button, #unbind, #pluginCancel {
  background: var(--surface); color: var(--ink); border: 1px solid var(--line);
}

.card:not(:has(#binding:not([hidden]))) { max-width: 440px; }
.card:has(#pluginConfirm:not([hidden])) header > :is(h1, p) { display: none; }
#status { text-align: center; }
#status:empty { display: none; }
#pluginConfirm { text-align: center; padding-top: 24px; }
#pluginConfirm .identity-label { margin-bottom: 4px; }
#pluginConfirm #pluginIdentity {
  margin: 0 0 16px;
  color: var(--ink);
  font-size: clamp(32px, 9vw, 48px);
  font-weight: 750;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
#pluginConfirm .actions { margin-top: 18px; }
#pluginConfirm .actions button { flex-basis: 0; }

#accountDetails {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 8px 16px;
}
#accountDetails dd {
  margin: 0;
  overflow-wrap: anywhere;
}

:root {
  --page: #0a101b;
  --surface: #111b2a;
  --line: #29384b;
  --blue: #1859cf;
}
:root[data-theme="light"] {
  --page: #eef3fa;
  --surface: #fff;
  --line: #d3ddea;
}
body {
  align-items: flex-start;
  padding: clamp(24px, 5vw, 64px) 18px;
}
.card:has(#binding:not([hidden])) {
  max-width: 1100px;
  padding: 0;
}
.card header { position: relative; }
.portal-brand {
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .08em;
  margin-bottom: 12px;
}
.portal-brand span { color: var(--muted); font-weight: 500; }
.card header :is(h1,p), #status { text-align: left; }
.card header h1 { font-size: clamp(28px, 5vw, 44px); letter-spacing: -.04em; }
.card header > p { font-size: 14px; }
.portal-toolbar { margin-bottom: 16px; }
.card:has(#pluginConfirm:not([hidden])) .portal-brand { display: none; }
#binding {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  margin-top: 22px;
}
.instance-step { grid-column: 1 / -1; }
#panArea { display: flex; min-width: 0; }
#panArea > .step { width: 100%; }
#accountCard { display: flex; flex-direction: column; }
#accountCard > .actions { margin-top: auto; }
body:not(.portal-shell) #binding:has(#accountCard[hidden]) #panArea { grid-column: 1 / -1; max-width: 600px; width: 100%; }
.step { margin: 0; padding: clamp(16px, 3vw, 26px); border-radius: 18px; }
.instance-step .choices { margin-bottom: 0; }
.instance-step .choices button { flex: 0 1 auto; padding-inline: 20px; }
#bindingState { margin: 10px 0 0; }
.account-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.account-heading h2 { margin: 0; }
.account-badge { border: 1px solid currentColor; border-radius: 999px; padding: 3px 9px; font-size: 12px; color: var(--muted); }
.account-badge[data-state="valid"] { color: #32c69c; }
.account-badge[data-state="expired"], .account-badge[data-state="error"] { color: #fb8b96; }
:root[data-theme="light"] .account-badge[data-state="valid"] { color: #08775a; }
:root[data-theme="light"] .account-badge:is([data-state="expired"],[data-state="error"]) { color: #ab253e; }
#accountDetails { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 18px; }
#accountDetails > div { background: var(--page); border-radius: 10px; padding: 10px 12px; }
#accountDetails dt, .form-note { color: var(--muted); font-size: 13px; }
#accountDetails dd { margin-top: 4px; font-size: 14px; font-weight: 600; }
.form-note { margin: -6px 0 14px; line-height: 1.5; }
#accountCard .actions button { flex: 0 1 auto; }
#accountCard #unbind { color: #fb8b96; }
:root[data-theme="light"] #accountCard #unbind { color: #ab253e; }
#modeButtons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
#modeButtons button { margin: 0; padding: 10px 3px; font-size: 13px; }
button:focus-visible, input:focus-visible { outline: 2px solid #609aff; outline-offset: 2px; }
@media (max-width: 720px) {
  #binding { grid-template-columns: minmax(0,1fr); }
}
#accountCard .actions button { width: auto; }
.card, #binding > *, #accountDetails > div { min-width: 0; }

.pan-method-body {
  height: 218px;
  display: flex;
  flex-direction: column;
}
#panForm {
  display: flex;
  flex-direction: column;
  flex: 1;
}
#panLogin { margin-top: auto; }
#qr {
  width: 144px;
  height: auto;
  aspect-ratio: 1;
  margin: 8px auto;
}
#qrRefresh {
  width: auto;
  align-self: center;
  padding: 8px 14px;
}
.viewport-notice {
  position: fixed;
  inset: max(16px, env(safe-area-inset-top)) auto auto 50%;
  transform: translateX(-50%);
  z-index: 2147483647;
  box-sizing: border-box;
  width: max-content;
  max-width: calc(100vw - 32px);
  margin: 0;
  padding: 14px 20px;
  border: 1px solid #52647f;
  border-radius: 12px;
  background: #182338;
  color: #fff;
  box-shadow: 0 12px 40px #0007;
  font: 600 14px/1.5 system-ui, sans-serif;
  text-align: center;
  overflow-wrap: anywhere;
  pointer-events: none;
}
.viewport-notice[hidden] { display: none !important; }

.settings-card { margin-inline: auto; }
.settings-card .brand-logo { margin: 0 0 12px; }
.settings-card h1 { text-align: left; font-size: 30px; }
.settings-card .form-note { margin: 8px 0 20px; }
#manageLink { align-self: center; color: var(--ink); font-size: 13px; }
.settings-card a { color: var(--ink); }

body:has(#em:not([hidden])) {
  align-items: center;
  padding: 24px 16px;
  background: #0f172a;
}
.card:has(#em:not([hidden])) {
  max-width: 380px;
  padding: 32px 28px;
  background: #1e293b;
  border-radius: 16px;
  box-shadow: 0 20px 60px #0006;
}
.card:has(#em:not([hidden])) header > :is(.portal-brand,p) { display: none; }
.card:has(#em:not([hidden])) header h1 {
  text-align: center;
  margin-bottom: 30px;
  font-size: 32px;
  letter-spacing: .04em;
}
.card:has(#em:not([hidden])) .portal-toolbar {
  position: fixed;
  top: max(12px,env(safe-area-inset-top));
  right: 16px;
  margin: 0;
}
#emForm label { color: #94a3b8; }
#emForm input { background: #0f172a; border-color: #334155; }
#emForm input:focus { border-color: #6366f1; }
#emForm #cap { margin: 12px 0; }
#emForm cap-widget { display: inline-block; max-width: 100%; }
#emLogin { background: #6366f1; }
#emVerificationHint { margin: 6px 0 12px; }
#emVerificationHint:empty { display: none; }
:root[data-theme="light"] body:has(#em:not([hidden])) { background: #edf2fa; }
:root[data-theme="light"] .card:has(#em:not([hidden])) { background: #fff; box-shadow: 0 20px 60px #33415520; }
:root[data-theme="light"] #emForm label { color: #506179; }
:root[data-theme="light"] #emForm input { background: #eef2f8; border-color: #d3deec; }

.management-page {
  display: block;
  padding: 0;
  background: radial-gradient(ellipse at 90% 0, #6366f121, transparent 50%), linear-gradient(135deg,#0a0e17,#111827 55%,#0f172a);
}
.management-shell { width: 100%; max-width: 1060px; margin: auto; padding: 48px 28px 80px; }
.management-header, .management-section-head, .management-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.management-header { margin-bottom: 24px; }
.management-header h1 { font-size: 28px; letter-spacing: normal; text-align: left; margin: 8px 0; }
.management-header p, #connectionState { color: var(--muted); font-size: 13px; }
.management-eyebrow { color: #a5a7ff; font-size: 11px; letter-spacing: 2px; }
.management-panel { padding: 28px; background: #1f293599; border: 1px solid var(--line); border-radius: 16px; }
.management-section-head { margin-bottom: 18px; }
.management-section-head h2 { margin: 0; }
#connectionState { border: 1px solid var(--line); border-radius: 20px; padding: 4px 10px; }
.management-fields { max-width: 720px; }
.management-fields label { margin-top: 14px; }
.management-tools :is(a,button), .management-fields button {
  width: auto; margin: 0; padding: 10px 16px; border: 1px solid var(--line);
  border-radius: 10px; background: var(--surface); color: var(--ink); font-size: 13px; text-decoration: none;
}
.management-fields #save { background: linear-gradient(90deg,#6366f1,#8b5cf6); color: #fff; border-color: transparent; }
:root[data-theme="light"] .management-page { background: var(--portal-canvas); }
:root[data-theme="light"] .management-page .management-panel { background: transparent; }
:root[data-theme="light"] .management-page .management-eyebrow { color: var(--portal-ink); }
@media (max-width: 600px) {
  .management-shell { padding: 24px 16px 48px; }
  .management-panel { padding: 18px; }
}

.management-nav { display: flex; gap: 8px; flex-wrap: wrap; margin: 32px 0 20px; }
.management-nav button {
  width: auto; margin: 0; padding: 10px 16px; border: 1px solid var(--line);
  border-radius: 10px; background: var(--surface); color: var(--ink); font-size: 13px;
}
.management-nav button[aria-pressed="true"], .management-fields .management-primary {
  background: #6366f1; border-color: transparent; color: #fff;
}
#warpState { margin: 12px 0; font-size: 14px; overflow-wrap: anywhere; }

@media (max-width: 767px) {
  body:has(#em:not([hidden])) { padding-top: max(66px,calc(env(safe-area-inset-top) + 54px)); }
}

.warp-details { display: grid; grid-template-columns: minmax(80px,140px) minmax(0,1fr); gap: 12px; margin: 20px 0; font-size: 14px; }
.warp-details dt { color: var(--muted); }
.warp-details dd { margin: 0; overflow-wrap: anywhere; }
.management-fields .management-check { display: flex; gap: 8px; align-items: center; }
.management-check input { width: auto; margin: 0; }
.management-fields textarea { display: block; width: 100%; margin-top: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--page); color: var(--ink); }
.guard-head { margin-top: 24px; }
.guard-head button { width: auto; margin: 0; }
.guard-table { overflow-x: auto; }
.guard-table table { width: 100%; border-collapse: collapse; font-size: 13px; }
.guard-table :is(th,td) { text-align: left; padding: 10px; border-bottom: 1px solid var(--line); }

body:has(.portal-bottom-nav:not([hidden])) { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
.portal-bottom-nav {
  position: fixed; inset: auto 0 0; z-index: 30; display: flex; justify-content: center;
  background: var(--surface); border-top: 1px solid var(--line);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.portal-bottom-nav a {
  flex: 1 1 0; max-width: 260px; text-align: center; padding: 16px 12px;
  text-decoration: none; color: var(--muted); border-top: 2px solid transparent; font-weight: 600;
}
.portal-bottom-nav a[aria-current="page"] { color: var(--ink); border-color: #7971f0; }
#releaseNotes {
  width: min(590px, calc(100vw - 32px)); margin: auto; padding: 0;
  border: 1px solid var(--line); border-radius: 18px; background: var(--surface); color: var(--ink);
  box-shadow: 0 24px 80px #0005;
}
#releaseNotes::backdrop { background: #070c1670; backdrop-filter: blur(6px); }
#releaseNotes .release-head { display: flex; align-items: center; justify-content: space-between; }
.release-kicker { color: #9b92ef; font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.release-current { color: #8071df; background: #7c63ed20; border-radius: 5px; padding: 3px 8px; font-size: 10px; }
#releaseNotes button { width: auto; margin: 0; }
#releaseNotes .release-footer button { background: linear-gradient(115deg, #6366f1, #8b5cf6); color: white; padding: 10px 16px; }
.release-head{padding:24px 28px;border-bottom:1px solid var(--line)}
.release-head h2{margin:7px 0 0;font-size:22px}
.release-head button{padding:4px 10px}
.release-body{padding:2px 28px 8px;max-height:60vh;overflow:auto}
.release-body article{padding:22px 0;border-bottom:1px solid var(--line)}
.release-body article:last-child{border-bottom:0}
.release-body h3{font-size:14px;margin:0;display:flex;align-items:center;gap:10px}
.release-body time{margin-left:auto;color:var(--muted);font-size:11px;font-weight:400}
.release-body ul{padding-left:17px;margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.95}
.release-body p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:0}
.release-footer{border-top:1px solid var(--line);padding:16px 28px;display:flex;justify-content:space-between;align-items:center}
.portal-bottom-nav a {
  position: relative; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 3px; padding: 10px 12px;
  min-height: 58px; font-size: 11px; border-top: 0;
}
.portal-bottom-nav svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.portal-bottom-nav a[aria-current="page"] { color: #9992ff; }
.portal-bottom-nav a[aria-current="page"]::before {
  content: ""; position: absolute; top: 0; width: 46px; height: 2px;
  border-radius: 0 0 4px 4px; background: #7971f0;
}
:root[data-theme="light"] .portal-bottom-nav a[aria-current="page"] { color: #5141a6; }
.management-tools #releaseVersion { font-size: 11px; padding: 7px 10px; color: var(--muted); background: transparent; }

#warpBadge {
  flex: none;
  padding: 5px 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
}
#warpBadge[data-connected] { color: #20a97a; background: #20a97a18; }
#warpState { color: var(--muted); }
.warp-footnote { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line, #80808033); }

.cookie-gateway-card { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; padding: 20px; margin: 14px 0; border: 1px solid var(--line, #80808033); border-radius: 14px; background: var(--field, #0b1224a8); }
.cookie-gateway-card > label:first-of-type { grid-column: 1 / -1; padding-right: 90px; }
.cookie-gateway-card label { margin: 0; min-width: 0; }
.cookie-gateway-card input { width: 100%; }
.cookie-gateway-card small { grid-column: 1 / -1; color: var(--muted); }
.cookie-gateway-remove { position: absolute; right: 20px; top: 20px; }
.cookie-gateway-top { grid-column: 1 / -1; }
.cookie-table-wrap { overflow-x: auto; margin: 18px 0; }
.cookie-mappings { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.cookie-mappings th,.cookie-mappings td { padding: 12px 10px; border-bottom: 1px solid var(--line, #80808033); }
.cookie-mappings th { color: var(--muted); font-weight: 500; }
.cookie-mappings select { width: 100%; min-width: 190px; }
.cookie-mappings input[type="checkbox"] { width: auto; margin: 0; }
[data-theme="light"] .cookie-gateway-card { background: #f5f7fc; border-color: #d3deec; }
@media(max-width:600px) { .cookie-gateway-card { grid-template-columns: minmax(0,1fr); padding: 14px; } .cookie-gateway-card > label:first-of-type { padding-right: 75px; } .cookie-gateway-remove { right: 14px; top: 14px; } }
[data-management-panel="gateway"] > .management-fields { max-width: none; }
[data-management-panel="gateway"] h3 { margin-top: 28px; margin-bottom: 12px; }
[data-management-panel="gateway"] .management-section-head h3 { margin: 0; }
[data-management-panel="gateway"] .form-note { margin-top: 12px; margin-bottom: 20px; }
.cookie-gateway-card > label:first-of-type input { max-width: 330px; }
[data-management-panel="gateway"] #addGateway { width: auto; margin: 0; padding: 10px 16px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font-size: 13px; }
[data-management-panel="gateway"] #connectionState { border: 0; border-radius: 0; padding: 0; }
.cookie-gateway-card input { display: block; margin-top: 8px; margin-bottom: 0; }
.management-fields #saveMappings { background: linear-gradient(90deg,#6366f1,#8b5cf6); color: #fff; border-color: transparent; }

#instanceButtons { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: 8px; }
#instanceButtons button { width: 100%; min-width: 0; margin: 0; padding: 12px; white-space: normal; overflow-wrap: anywhere; }

.current-user{display:flex;align-items:center;gap:6px;margin:12px 0 0;color:var(--muted,#65758b);font-size:14px}.current-user[hidden]{display:none}.current-user strong{color:var(--ink,#172b49);overflow-wrap:anywhere}



#agentPool>p{color:var(--muted,#94a3b8);line-height:1.7;margin:16px 0}#agentPool .actions{margin:16px 0}#poolRows h3{margin-bottom:8px}

/* Portal design: unslop by Damir Sokolovsky (@heydamir), CC BY 4.0.
   Approved previews, 2026-11-08. Scoped shell; login/setup keep their layout. */
:root{--portal-accent:#2254cc;--portal-selected:#262628;--portal-good:#82d4a3;--portal-bad:#f29195;--portal-canvas:#171719;--portal-surface:#1e1e20;--portal-field:#242426;--portal-ink:#ededed;--portal-secondary:#b0b0b6;--portal-muted:#96969d;--portal-line:#343438}
:root[data-theme=light]{--portal-selected:#ebebed;--portal-good:#23723e;--portal-bad:#b92d39;--portal-canvas:#fafafa;--portal-surface:#fff;--portal-field:#fff;--portal-ink:#171717;--portal-secondary:#525252;--portal-muted:#6b6b73;--portal-line:#e5e5e8}
body:is(.portal-shell,.management-page){--page:var(--portal-canvas);--surface:var(--portal-surface);--ink:var(--portal-ink);--muted:var(--portal-muted);--line:var(--portal-line);--blue:var(--portal-accent);--pool-blue:var(--portal-accent);--pool-green:var(--portal-good);--pool-red:var(--portal-bad);display:block;min-height:100dvh;padding:32px 32px 40px 272px;background:var(--page);color:var(--ink);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.portal-shell main.card.pool-card:has(#agentPool),.portal-shell main.card.pool-card,.management-page .management-shell{max-width:1600px;width:100%;margin:0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;position:relative}
.portal-shell main>header{padding:0 280px 20px 0;border:0;margin:0}
.portal-shell main>header h1,.management-header h1{font-size:30px;line-height:1.2;font-weight:500;letter-spacing:0;text-align:left;margin:0 0 8px}
.portal-shell main>header>p,.management-header p{font-size:14px;line-height:1.6;color:var(--portal-secondary);text-align:left;margin:0}
.portal-shell .portal-brand,.management-page .management-eyebrow{position:fixed;top:28px;left:32px;z-index:110;color:var(--ink);font-size:24px;font-weight:500;letter-spacing:0;line-height:1.5}
:is(.portal-shell,.management-page) #portalNavigation{position:fixed;inset:0 auto 0 0;width:240px;height:100dvh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:96px 16px 180px;gap:4px;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--page);z-index:100}
:is(.portal-shell,.management-page) #portalNavigation a{position:relative;flex:0 0 auto;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;width:auto;max-width:none;min-height:36px;padding:8px 16px;font-size:14px;font-weight:400;white-space:nowrap;color:var(--portal-secondary);border:0;border-radius:8px;text-decoration:none}
:is(.portal-shell,.management-page) #portalNavigation a svg{display:none}
:is(.portal-shell,.management-page) #portalNavigation a::before{content:'';position:static;display:block;width:18px;height:18px;inset:auto;flex:0 0 18px;background:currentColor;mask:var(--icon-cloud) center/contain no-repeat;transform:none}
:is(.portal-shell,.management-page) #portalNavigation a:nth-child(2)::before{mask-image:var(--icon-pool)}
:is(.portal-shell,.management-page) #portalNavigation a:last-child:not(:nth-child(2))::before{mask-image:var(--icon-settings)}
:is(.portal-shell,.management-page) #portalNavigation a[aria-current=page]{color:var(--ink);background:var(--portal-selected);font-weight:500}
:is(.portal-shell,.management-page) #portalNavigation a[aria-current=page]::before{position:static;inset:auto;width:18px;height:18px;background:currentColor;transform:none}
.portal-shell .portal-toolbar,.management-page .settings-sidebar-footer{position:fixed;left:24px;bottom:24px;width:192px;z-index:110;display:flex;flex-direction:column;gap:8px}
.portal-shell .portal-toolbar button,.management-page .settings-sidebar-footer button{width:100%;padding:8px;text-align:left;background:transparent;border:0;color:var(--portal-secondary);font-size:13px;font-weight:400;min-height:36px;margin:0;border-radius:8px}
.portal-shell .current-user{position:fixed;left:32px;bottom:120px;width:184px;top:auto;right:auto;text-align:left;margin:0;z-index:110;font-size:13px;color:var(--portal-secondary);overflow-wrap:anywhere}
.settings-sidebar-footer p{padding:8px;color:var(--portal-secondary);font-size:13px}
:is(.portal-shell,.management-page) button{font-weight:500;box-shadow:none;letter-spacing:0;transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out}
:is(.portal-shell,.management-page) button:hover:not(:disabled){filter:none}
:is(.portal-shell,.management-page) :is(button,a):focus-visible{outline:2px solid #7398f2;outline-offset:3px}
:is(.portal-shell,.management-page) :is(input,select,textarea){color:var(--ink);background:var(--portal-field);border:1px solid var(--line);border-radius:8px;font-size:14px;box-shadow:none}
:is(.portal-shell,.management-page) input:focus{border-color:var(--portal-accent);outline:2px solid color-mix(in srgb,var(--portal-accent) 15%,transparent)}
.pool-title-actions{position:absolute;right:0;top:0;display:flex;gap:12px}
.portal-shell button,.pool-dialog button{width:auto;margin:0}
.pool-title-actions button{min-height:44px;padding:12px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:14px}
.portal-shell .pool-primary,.pool-dialog .pool-primary{background:var(--portal-accent);border:1px solid var(--portal-accent);color:#fff}
.pool-overview{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:0 0 20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--portal-secondary)}
.pool-overview label{display:flex;gap:12px;align-items:center;margin:0}.pool-overview select{margin:0;max-width:240px}
#poolEAButtons{display:flex;flex-wrap:wrap;gap:8px;margin:0}
#poolEAButtons::before{content:'EA 实例';align-self:center;margin-right:8px;font-size:14px;color:var(--portal-secondary)}
.portal-shell #poolEAButtons button,.portal-shell #instanceButtons button{flex:0 0 auto;width:auto;min-height:40px;margin:0;padding:8px 20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:14px;font-weight:500}
.portal-shell #poolEAButtons button[aria-pressed=true],.portal-shell #instanceButtons button[aria-pressed=true]{background:var(--portal-accent);color:white;border-color:var(--portal-accent)}
.pool-overview>span{padding:0;border:0;color:var(--portal-secondary);font-size:12px}
.pool-section{padding:24px 0 0}.pool-section+.pool-section{border-top:1px solid var(--line);margin-top:24px}
.pool-section-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.pool-section-head h2{font-size:22px;font-weight:500;margin:0 auto 0 0;line-height:1.4}
.pool-search{display:flex;align-items:center;gap:8px;margin:0;min-width:0}
.portal-shell .pool-search input,.pool-dialog input[type=search]{width:260px;min-width:0;margin:0;padding:8px 12px;min-height:36px;font-size:13px;background:var(--surface)}
.portal-shell .pool-search button,.pool-dialog .pool-search button{min-height:36px;padding:8px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:13px;white-space:nowrap;flex-shrink:0}
.portal-shell select,.pool-dialog select{width:auto;min-height:36px;margin:0;padding:8px 28px 8px 12px;font-size:13px}
.pool-table-wrap{width:100%;overflow:visible}#poolRows{display:table-row-group;margin:0}.pool-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;line-height:1.5;font-size:14px}
.pool-table col:nth-child(1){width:24%}.pool-table col:nth-child(2){width:16%}.pool-table col:nth-child(3){width:28%}.pool-table col:nth-child(4){width:14%}.pool-table col:nth-child(5){width:18%}
.pool-table th{background:var(--portal-selected);color:var(--ink);text-align:left;font-size:13px;font-weight:500;padding:8px 16px;border:0;white-space:normal}
.pool-table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}
.pool-table strong{font-size:15px;line-height:20px;font-weight:500;display:block;color:var(--ink)}
.pool-table td small{display:block;font-size:13px;line-height:18px;color:var(--portal-secondary);margin-top:0;overflow-wrap:anywhere}
.pool-table .pool-related{background:transparent;border-left:0}.pool-table th.pool-related{background:var(--portal-selected)}
.pool-table td.pool-connection{position:relative;padding-left:40px}
.pool-relationship-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:var(--portal-muted);mask:var(--icon-link) center/contain no-repeat}
.pool-member-details span+span::before{content:' · '}
.pool-badge{display:inline-block;margin:2px 8px 0 0;padding:0;border-radius:0;font-size:13px;font-weight:400;background:transparent;color:var(--portal-secondary);line-height:1.6}
.pool-badge[data-state=valid],.pool-badge[data-state=bound]{color:var(--portal-good)}.pool-badge[data-state=expired],.pool-badge[data-state=error]{color:var(--portal-bad)}
.pool-badge[data-state=free]{color:var(--portal-secondary)}
.pool-row-actions{line-height:1.5}.pool-row-actions button{margin:0 12px 0 0!important}
.portal-shell .pool-link{background:transparent;color:var(--portal-accent);border:0;padding:4px 0;min-height:32px;font-size:13px;font-weight:500;white-space:nowrap}
:root:not([data-theme=light]) .portal-shell .pool-link{color:#9ab7ff}
.portal-shell .pool-danger{color:var(--portal-bad)}.pool-muted,.pool-expiry-note{font-size:12px;color:var(--portal-muted);line-height:1.6}.pool-expiry-note{margin:12px 0 0}
.pool-empty{text-align:center!important;padding:32px!important;color:var(--portal-muted)}
.pool-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;font-size:12px;color:var(--portal-muted)}
.pool-pager>span:first-child:not(:only-child){margin-right:auto}.pool-pager button{border:1px solid var(--line);background:var(--surface);color:var(--portal-secondary);border-radius:8px;padding:4px 12px;min-height:32px;font-size:12px}
.pool-status-filters{display:flex;flex-wrap:wrap;gap:8px;width:100%;order:3}
.portal-shell .pool-filter{padding:4px 12px;min-height:32px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--portal-secondary);font-size:13px}
.portal-shell .pool-filter[aria-pressed=true]{border-color:var(--portal-accent);color:var(--portal-accent)}
/* Binding and account authorization reuse one form, without nested panels. */
.portal-shell #binding{display:block;max-width:none;margin:0}
.portal-shell #binding .step{padding:24px 0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.portal-shell #binding .instance-step{padding-top:0;border-bottom:1px solid var(--line)}
.portal-shell .instance-step h2{font-size:14px;font-weight:400;color:var(--portal-secondary);display:inline-block;margin:0 20px 0 0}
.portal-shell #instanceButtons{display:inline-flex;gap:8px;flex-wrap:wrap;margin:0;vertical-align:middle}
.portal-shell #bindingState{margin:16px 0 0;color:var(--portal-secondary);font-size:14px}
.portal-shell #panArea{max-width:760px;width:100%}.portal-shell #panHeading{font-size:22px;font-weight:500;margin:0 0 8px}
.portal-shell .form-note{color:var(--portal-secondary);font-size:14px;margin:0 0 24px}
.portal-shell #modeButtons{display:flex;gap:0;max-width:520px;padding:0;margin:24px 0;overflow:hidden;border:1px solid var(--line);border-radius:8px}
.portal-shell #modeButtons button{flex:1 1 0;min-height:40px;padding:8px 16px;margin:0;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--portal-secondary);font-size:14px;font-weight:400}
.portal-shell #modeButtons button:last-child{border-right:0}.portal-shell #modeButtons button[aria-pressed=true]{background:var(--portal-selected);color:var(--ink);font-weight:500}
.portal-shell #panForm label{display:grid;grid-template-columns:176px minmax(0,1fr);align-items:center;gap:16px;font-size:14px;color:var(--ink);margin:0 0 24px}
.portal-shell #panForm input{min-height:44px;padding:12px 16px;margin:0;width:100%}
.portal-shell #panLogin{width:100%;min-height:44px;padding:12px 20px;margin:8px 0 0;border-radius:8px;background:var(--portal-accent);color:#fff;font-size:15px;font-weight:500}
.password-field{position:relative;display:block;min-width:0}.portal-shell #panForm .password-field input{padding-right:76px}
.portal-shell #passwordToggle{position:absolute;right:8px;top:4px;min-height:36px;padding:8px;background:transparent;color:var(--portal-secondary);font-size:12px;border:0}
#bindingHelp{margin:16px 0 0;color:var(--portal-secondary);font-size:13px}
.pool-dialog,#poolLoginDialog{position:fixed;inset:0;margin:auto;width:min(580px,calc(100vw - 32px));height:fit-content;max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--line,#ddd);border-radius:16px;background:var(--surface,#fff);color:var(--ink,#171717);box-sizing:border-box;overflow:auto;box-shadow:0 8px 24px #00000012}
.pool-dialog::backdrop,#poolLoginDialog::backdrop{background:#15151a45}
.pool-dialog>header,#poolLoginDialog>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px;padding:0;border:0}
.pool-dialog h2,#poolLoginDialog>header h2{font-size:24px;font-weight:500;margin:0;line-height:1.4}
.pool-dialog>header button,#poolLoginClose{font-size:13px;padding:8px;border:0;background:transparent;color:var(--portal-secondary);margin:0;min-height:36px}
#poolLoginContext{font-size:16px;font-weight:500;margin:0 0 8px}#poolLoginDialog>.pool-muted{margin:0 0 24px;font-size:13px}
#poolLoginDialog .instance-step,#poolLoginDialog #accountCard,#poolLoginDialog #panHeading,#poolLoginDialog #panArea .form-note{display:none}
.portal-shell #poolLoginDialog #binding{margin:0;max-width:none}.portal-shell #poolLoginDialog #panArea{max-width:none}
.portal-shell #poolLoginDialog #panArea>.step{padding:0;margin:0;border:0}
.portal-shell #poolLoginDialog #panForm label{display:block;margin-bottom:20px;font-size:14px}
.portal-shell #poolLoginDialog #panForm input,.portal-shell #poolLoginDialog .password-field{margin-top:8px}
.portal-shell #poolLoginDialog .password-field input{margin-top:0!important}
.portal-shell #poolLoginDialog #modeButtons{max-width:none;margin:24px 0}
#poolLoginDialog #bindingHelp{font-size:12px;text-align:center;margin-top:16px}.portal-shell .pan-method-body{min-height:0;height:auto}.portal-shell #panLogin{position:static}
.pool-candidates{max-height:40vh;overflow:auto;margin-top:12px}.pool-candidate{display:flex!important;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink);margin:0}
.pool-candidate>span:nth-child(2){min-width:0;flex:1}.pool-candidate strong{font-size:14px;font-weight:500;display:block}.pool-candidate small{display:block;color:var(--portal-secondary);font-size:12px;overflow-wrap:anywhere}
.pool-candidate input[type=radio]{width:16px;height:16px;margin:0;flex:0 0 auto;accent-color:var(--portal-accent)}
.pool-dialog .pool-search{display:flex;gap:8px}.pool-dialog .pool-search input{width:100%;flex:1}.pool-dialog #poolInstanceLabel{display:flex;gap:12px;align-items:center;margin:20px 0 12px}.pool-dialog #poolBind{width:100%;min-height:44px;margin-top:20px;border-radius:8px}
/* Management uses the same shell; tabs and forms stay flat. */
.management-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0}
.management-page .management-tools{display:flex;gap:12px}.management-page #releaseVersion{font-size:13px;font-weight:400;border:0;background:transparent;color:var(--portal-secondary);padding:0;margin:0;min-height:32px}
.management-page .management-nav{display:flex;gap:24px;margin:32px 0 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.management-page .management-nav button{padding:12px 0;min-height:48px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--portal-secondary);font-size:15px;font-weight:400;margin:0}
.management-page .management-nav button[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink);background:transparent;font-weight:500}
.management-page .management-panel{padding:32px 0;background:transparent;border:0;border-radius:0;box-shadow:none}
.management-page h2{font-size:22px;font-weight:500;margin-bottom:24px}.management-page h3{font-weight:500}
.management-page .management-fields{max-width:760px}.management-page .form-note{color:var(--portal-secondary);font-size:13px}
.management-page .management-fields input{min-height:44px;padding:12px 16px;margin:0 0 8px}
.management-page .management-fields label{font-size:14px;color:var(--ink)}
.site-settings-form{display:grid;grid-template-columns:176px minmax(0,1fr);gap:24px 24px;align-items:start}
.site-settings-form label{padding-top:12px;margin:0!important}.site-settings-form .form-note{margin:0;line-height:1.6}
.site-settings-form input[readonly]{background:var(--portal-selected);color:var(--portal-muted)}
.management-page .management-fields :is(button,#save,#saveMappings){min-height:40px;padding:8px 20px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px;font-weight:500;box-shadow:none;width:auto;margin:0}
.management-page .management-fields :is(.management-primary,#saveSite,#save,#saveMappings){color:white;background:var(--portal-accent);border-color:var(--portal-accent)}
.site-settings-form #saveSite{grid-column:1/-1;justify-self:start;margin-top:8px}
.management-page #status:empty{display:none}
@media(min-width:641px) and (max-width:1100px){body:is(.portal-shell,.management-page){padding-left:224px;padding-right:24px}.portal-shell .portal-brand,.management-page .management-eyebrow{left:24px;font-size:22px}:is(.portal-shell,.management-page) #portalNavigation{width:200px}.portal-shell .portal-toolbar,.management-page .settings-sidebar-footer{left:16px;width:168px}.portal-shell .current-user{left:24px;width:160px}.pool-section-head h2{width:100%}.pool-table td,.pool-table th{padding:12px 8px}.pool-table td.pool-connection{padding-left:32px}.pool-relationship-icon{left:8px}.pool-table td small{font-size:12px}.pool-overview>span{width:100%}}
@media(max-width:640px){
body:is(.portal-shell,.management-page){padding:128px 16px 24px}
.portal-shell main.card.pool-card,.management-page .management-shell{padding:0;max-width:100%}
.portal-shell .portal-brand,.management-page .management-eyebrow{top:16px;left:16px;font-size:20px}
:is(.portal-shell,.management-page) #portalNavigation{inset:60px 0 auto;width:100%;height:48px;padding:4px 8px;flex-direction:row;gap:4px;border-right:0;border-bottom:1px solid var(--line);overflow:auto}
:is(.portal-shell,.management-page) #portalNavigation a{min-height:36px;padding:8px 12px;gap:8px;font-size:13px}
:is(.portal-shell,.management-page) #portalNavigation a::before,:is(.portal-shell,.management-page) #portalNavigation a[aria-current=page]::before{width:16px;height:16px;flex-basis:16px}
.portal-shell .portal-toolbar,.management-page .settings-sidebar-footer{left:auto;right:12px;top:12px;bottom:auto;width:auto;flex-direction:row;gap:4px}.portal-shell .portal-toolbar button,.management-page .settings-sidebar-footer button{width:auto;min-height:32px;font-size:11px;padding:8px}.portal-shell .current-user,.settings-sidebar-footer p{display:none}
.portal-shell main>header{padding:0 0 20px}.portal-shell main>header h1,.management-header h1{font-size:26px}
.pool-title-actions{position:static;justify-content:flex-end;margin:0 0 20px}.pool-title-actions button{min-height:40px;padding:8px 16px;font-size:13px}
.pool-overview{gap:12px;padding-bottom:20px}.pool-overview>span{width:100%;font-size:12px}.pool-section{padding-top:24px}
.pool-section-head h2{width:100%;font-size:21px}.pool-search{width:100%;gap:8px}.portal-shell .pool-search input{width:100%;flex:1;min-width:0}.portal-shell .pool-search button{padding:8px 10px;font-size:12px;min-height:40px}.portal-shell #poolRosterFilter{width:100%}
.pool-status-filters{gap:8px}.pool-table colgroup,.pool-table thead{display:none}.pool-table,.pool-table tbody,.portal-shell #poolRows{display:block;width:100%}.pool-table tr{display:block;margin:0 0 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.pool-table td{display:block;width:auto;padding:12px 16px;border:0;font-size:14px}.pool-table td::before{content:attr(data-label);display:block;font-size:12px;color:var(--portal-muted);margin-bottom:8px}.pool-table td:nth-child(2),.pool-table td:nth-child(4){padding-top:0}.pool-table td small{font-size:13px}
.pool-table td.pool-connection{padding:16px 16px 12px 40px;border-top:1px solid var(--line)}.pool-relationship-icon{left:16px;top:18px;transform:none}
.pool-table td.pool-related{background:transparent;border-left:0}.pool-row-actions{border-top:1px solid var(--line)!important;display:flex!important;justify-content:flex-end;flex-wrap:wrap;gap:12px}.pool-row-actions::before{display:none!important}.pool-row-actions button{margin:0!important;min-height:40px!important}.pool-member-details span{display:block}.pool-member-details span+span::before{content:''}
.pool-pager>span:first-child{width:100%}.pool-pager{gap:8px}.pool-dialog,#poolLoginDialog{padding:24px 20px;max-height:calc(100dvh - 24px)}.pool-dialog h2,#poolLoginDialog>header h2{font-size:22px}.pool-dialog .pool-search input{min-width:0;width:100%}.pool-dialog .pool-search button{padding:8px;font-size:12px}
.portal-shell #panForm label{display:block;margin-bottom:20px}.portal-shell #panForm input,.portal-shell #panForm .password-field{margin-top:8px}.portal-shell #panForm .password-field input{margin:0}.portal-shell #modeButtons button{padding:8px;font-size:13px}.portal-shell .instance-step h2{display:block;margin-bottom:12px}.portal-shell #instanceButtons{display:flex}
.management-header{display:block}.management-page .management-tools{margin-top:12px}.management-page .management-nav{gap:16px;margin-top:24px}.management-page .management-nav button{font-size:13px;min-height:44px}.management-page .management-panel{padding:24px 0}.site-settings-form{display:block}.site-settings-form label{display:block;padding-top:0;margin:24px 0 8px!important}.site-settings-form #saveSite{margin-top:24px}.management-page .management-fields input{width:100%}
}
@media(prefers-reduced-motion:reduce){:is(.portal-shell,.management-page) *{transition:none!important;animation:none!important}}
:root{--icon-cloud:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTIwIDE3OTIiPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTUzNikgc2NhbGUoMSAtMSkiIGQ9Ik0xOTIwIDM4NHEwIC0xNTkgLTExMi41IC0yNzEuNXQtMjcxLjUgLTExMi41aC0xMDg4cS0xODUgMCAtMzE2LjUgMTMxLjV0LTEzMS41IDMxNi41cTAgMTMyIDcxIDI0MS41dDE4NyAxNjMuNXEtMiAyOCAtMiA0M3EwIDIxMiAxNTAgMzYydDM2MiAxNTBxMTU4IDAgMjg2LjUgLTg4dDE4Ny41IC0yMzBxNzAgNjIgMTY2IDYycTEwNiAwIDE4MSAtNzV0NzUgLTE4MXEwIC03NSAtNDEgLTEzOHExMjkgLTMwIDIxMyAtMTM0LjV0ODQgLTIzOS41eiAiLz48L3N2Zz4=");--icon-pool:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMzA0IDE3OTIiPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTUzNikgc2NhbGUoMSAtMSkiIGQ9Ik02NDAgLTk2bDM4NCAxOTJ2MzE0bC0zODQgLTE2NHYtMzQyek01NzYgMzU4bDQwNCAxNzNsLTQwNCAxNzNsLTQwNCAtMTczek0xNjY0IC05NmwzODQgMTkydjMxNGwtMzg0IC0xNjR2LTM0MnpNMTYwMCAzNThsNDA0IDE3M2wtNDA0IDE3M2wtNDA0IC0xNzN6TTExNTIgNjUxbDM4NCAxNjV2MjY2bC0zODQgLTE2NHYtMjY3ek0xMDg4IDEwMzBsNDQxIDE4OWwtNDQxIDE4OWwtNDQxIC0xODl6TTIxNzYgNTEydi00MTZxMCAtMzYgLTE5IC02NyB0LTUyIC00N2wtNDQ4IC0yMjRxLTI1IC0xNCAtNTcgLTE0dC01NyAxNGwtNDQ4IDIyNHEtNCAyIC03IDRxLTIgLTIgLTcgLTRsLTQ0OCAtMjI0cS0yNSAtMTQgLTU3IC0xNHQtNTcgMTRsLTQ0OCAyMjRxLTMzIDE2IC01MiA0N3QtMTkgNjd2NDE2cTAgMzggMjEuNSA3MHQ1Ni41IDQ4bDQzNCAxODZ2NDAwcTAgMzggMjEuNSA3MHQ1Ni41IDQ4bDQ0OCAxOTJxMjMgMTAgNTAgMTB0NTAgLTEwbDQ0OCAtMTkycTM1IC0xNiA1Ni41IC00OHQyMS41IC03MCB2LTQwMGw0MzQgLTE4NnEzNiAtMTYgNTcgLTQ4dDIxIC03MHoiLz48L3N2Zz4=");--icon-settings:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTUzNikgc2NhbGUoMSAtMSkiIGQ9Ik0xMDI0IDY0MHEwIDEwNiAtNzUgMTgxdC0xODEgNzV0LTE4MSAtNzV0LTc1IC0xODF0NzUgLTE4MXQxODEgLTc1dDE4MSA3NXQ3NSAxODF6TTE1MzYgNzQ5di0yMjJxMCAtMTIgLTggLTIzdC0yMCAtMTNsLTE4NSAtMjhxLTE5IC01NCAtMzkgLTkxcTM1IC01MCAxMDcgLTEzOHExMCAtMTIgMTAgLTI1dC05IC0yM3EtMjcgLTM3IC05OSAtMTA4dC05NCAtNzFxLTEyIDAgLTI2IDlsLTEzOCAxMDhxLTQ0IC0yMyAtOTEgLTM4IHEtMTYgLTEzNiAtMjkgLTE4NnEtNyAtMjggLTM2IC0yOGgtMjIycS0xNCAwIC0yNC41IDguNXQtMTEuNSAyMS41bC0yOCAxODRxLTQ5IDE2IC05MCAzN2wtMTQxIC0xMDdxLTEwIC05IC0yNSAtOXEtMTQgMCAtMjUgMTFxLTEyNiAxMTQgLTE2NSAxNjhxLTcgMTAgLTcgMjNxMCAxMiA4IDIzcTE1IDIxIDUxIDY2LjV0NTQgNzAuNXEtMjcgNTAgLTQxIDk5bC0xODMgMjdxLTEzIDIgLTIxIDEyLjV0LTggMjMuNXYyMjJxMCAxMiA4IDIzdDE5IDEzIGwxODYgMjhxMTQgNDYgMzkgOTJxLTQwIDU3IC0xMDcgMTM4cS0xMCAxMiAtMTAgMjRxMCAxMCA5IDIzcTI2IDM2IDk4LjUgMTA3LjV0OTQuNSA3MS41cTEzIDAgMjYgLTEwbDEzOCAtMTA3cTQ0IDIzIDkxIDM4cTE2IDEzNiAyOSAxODZxNyAyOCAzNiAyOGgyMjJxMTQgMCAyNC41IC04LjV0MTEuNSAtMjEuNWwyOCAtMTg0cTQ5IC0xNiA5MCAtMzdsMTQyIDEwN3E5IDkgMjQgOXExMyAwIDI1IC0xMHExMjkgLTExOSAxNjUgLTE3MHE3IC04IDcgLTIyIHEwIC0xMiAtOCAtMjNxLTE1IC0yMSAtNTEgLTY2LjV0LTU0IC03MC41cTI2IC01MCA0MSAtOThsMTgzIC0yOHExMyAtMiAyMSAtMTIuNXQ4IC0yMy41eiIvPjwvc3ZnPg==");--icon-link:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNjY0IDE3OTIiPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMTUzNikgc2NhbGUoMSAtMSkiIGQ9Ik0xNDU2IDMyMHEwIDQwIC0yOCA2OGwtMjA4IDIwOHEtMjggMjggLTY4IDI4cS00MiAwIC03MiAtMzJxMyAtMyAxOSAtMTguNXQyMS41IC0yMS41dDE1IC0xOXQxMyAtMjUuNXQzLjUgLTI3LjVxMCAtNDAgLTI4IC02OHQtNjggLTI4cS0xNSAwIC0yNy41IDMuNXQtMjUuNSAxM3QtMTkgMTV0LTIxLjUgMjEuNXQtMTguNSAxOXEtMzMgLTMxIC0zMyAtNzNxMCAtNDAgMjggLTY4bDIwNiAtMjA3cTI3IC0yNyA2OCAtMjdxNDAgMCA2OCAyNiBsMTQ3IDE0NnEyOCAyOCAyOCA2N3pNNzUzIDEwMjVxMCA0MCAtMjggNjhsLTIwNiAyMDdxLTI4IDI4IC02OCAyOHEtMzkgMCAtNjggLTI3bC0xNDcgLTE0NnEtMjggLTI4IC0yOCAtNjdxMCAtNDAgMjggLTY4bDIwOCAtMjA4cTI3IC0yNyA2OCAtMjdxNDIgMCA3MiAzMXEtMyAzIC0xOSAxOC41dC0yMS41IDIxLjV0LTE1IDE5dC0xMyAyNS41dC0zLjUgMjcuNXEwIDQwIDI4IDY4dDY4IDI4cTE1IDAgMjcuNSAtMy41dDI1LjUgLTEzdDE5IC0xNSB0MjEuNSAtMjEuNXQxOC41IC0xOXEzMyAzMSAzMyA3M3pNMTY0OCAzMjBxMCAtMTIwIC04NSAtMjAzbC0xNDcgLTE0NnEtODMgLTgzIC0yMDMgLTgzcS0xMjEgMCAtMjA0IDg1bC0yMDYgMjA3cS04MyA4MyAtODMgMjAzcTAgMTIzIDg4IDIwOWwtODggODhxLTg2IC04OCAtMjA4IC04OHEtMTIwIDAgLTIwNCA4NGwtMjA4IDIwOHEtODQgODQgLTg0IDIwNHQ4NSAyMDNsMTQ3IDE0NnE4MyA4MyAyMDMgODNxMTIxIDAgMjA0IC04NWwyMDYgLTIwNyBxODMgLTgzIDgzIC0yMDNxMCAtMTIzIC04OCAtMjA5bDg4IC04OHE4NiA4OCAyMDggODhxMTIwIDAgMjA0IC04NGwyMDggLTIwOHE4NCAtODQgODQgLTIwNHoiLz48L3N2Zz4=");}

/* 1.1.20: polish after real empty-pool and full settings review.
   unslop by Damir Sokolovsky (@heydamir), CC BY 4.0. */
.portal-shell main.card.pool-card:has(#agentPool){max-width:1440px;margin-left:0;margin-right:auto}
.management-page .management-shell{max-width:1200px;margin-left:0;margin-right:auto}
.portal-shell .pool-table td small{font-size:14px;line-height:20px}
.portal-shell .pool-table td{font-size:15px;padding:16px}
.portal-shell .pool-table th,.portal-shell .pool-search input,.portal-shell .pool-search button,.portal-shell .pool-link{font-size:14px}
.portal-shell .pool-table col:nth-child(1){width:24%}.portal-shell .pool-table col:nth-child(2){width:17%}.portal-shell .pool-table col:nth-child(3){width:28%}.portal-shell .pool-table col:nth-child(4){width:13%}.portal-shell .pool-table col:nth-child(5){width:18%}
.portal-shell .pool-overview>span,.portal-shell .pool-pager,.portal-shell .pool-expiry-note{font-size:13px}
.pool-empty-state{padding:32px 24px;border-top:1px solid var(--line);color:var(--portal-secondary)}
.pool-empty-state h3{font-size:18px;font-weight:500;color:var(--ink);margin-bottom:8px}
.pool-empty-state p{font-size:14px;margin-bottom:16px}.portal-shell .pool-empty-state button{min-height:40px;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:8px 16px;border-radius:8px}
#poolLoginDialog>header{margin-bottom:20px}#poolLoginDialog>.pool-muted{margin-bottom:0;font-size:14px}
.portal-shell #poolLoginDialog #modeButtons{margin:20px 0 24px}
.portal-shell #poolLoginDialog #panForm label{font-size:15px}.portal-shell #poolLoginDialog #bindingHelp{font-size:13px;line-height:20px}
#poolLoginClose.dialog-close{width:40px;height:40px;min-height:40px;padding:4px;font-size:26px;font-weight:400;border-radius:8px;display:flex;align-items:center;justify-content:center}
.management-page .management-header p{max-width:60ch;overflow-wrap:anywhere}
.management-page .management-panel{max-width:960px}
.management-page .management-panel[data-management-panel=warp]{max-width:760px}
.management-page [data-management-panel=warp] .management-section-head{justify-content:flex-start;align-items:flex-start;gap:24px}
.management-page #warpBadge{margin-top:4px;border:0;border-radius:4px;background:var(--portal-selected);color:var(--portal-secondary);padding:4px 8px;font-size:13px}
.management-page #warpBadge[data-connected]{color:var(--portal-good)}
.management-page .warp-details{font-size:15px;gap:12px 24px;margin:24px 0}
.management-page .form-note{font-size:14px;line-height:22px}
.management-page .management-fields{max-width:880px}
.management-page .cookie-gateway-card,.management-page[data-theme=light] .cookie-gateway-card{background:var(--surface);border-color:var(--line);border-radius:12px;padding:24px;gap:16px 24px}
:root[data-theme=light] .management-page .cookie-gateway-card{background:var(--surface);border-color:var(--line)}
.management-page .management-fields input:not([type=checkbox]):not([type=radio]){font-size:15px}
.management-page input[type=checkbox],.management-page input[type=radio],.management-page .management-fields input[type=checkbox],.management-page .cookie-mappings input[type=checkbox]{width:18px;height:18px;min-height:18px;max-height:18px;margin:0;padding:0;border-radius:4px;box-shadow:none;accent-color:var(--portal-accent);flex:0 0 18px}
.management-page .cookie-mappings{font-size:14px;line-height:1.5}.management-page .cookie-mappings th{font-weight:500}.management-page .cookie-mappings td,.management-page .cookie-mappings th{padding:16px 12px}.management-page .cookie-mappings select{font-size:14px;min-height:40px;margin:0}
.management-page .cookie-table-wrap{overflow:auto}.management-page #serverOrderList{max-width:880px;margin:16px 0}
.server-order-row{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.server-order-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:15px}
.management-page #serverOrderList button{min-height:36px;padding:8px 16px}
.management-page #status{max-width:880px;padding:12px 16px;background:var(--portal-selected);border-radius:8px;margin-top:16px;font-size:14px;overflow-wrap:anywhere}
.management-page .management-fields .form-note{margin-top:8px;margin-bottom:20px}
@media(max-width:640px){.portal-shell .pool-table td small{font-size:14px}.portal-shell .pool-table td{padding:12px 16px}.portal-shell .pool-table td.pool-connection{padding:16px 16px 12px 40px}.portal-shell .pool-overview>span{font-size:13px}.management-page .cookie-gateway-card{padding:16px;gap:16px}.management-page .management-fields .management-check{align-items:center}.management-page .management-nav{gap:12px}.management-page .management-nav button{font-size:14px}.management-page .management-panel[data-management-panel=warp] .management-section-head{display:block}.management-page #warpBadge{display:inline-block;margin:0 0 8px}.management-page .cookie-mappings select{min-width:180px}.portal-shell #poolLoginDialog #modeButtons button{font-size:14px}.pool-empty-state{padding:24px 16px}}
