/* QueenStella branding, isolated from the shared panel's behavior and layout. */
:root:has(.queen-panel) {
  --pv2-bg:#050b14;
  --pv2-sidebar:#080f19;
  --pv2-surface:#101820;
  --pv2-surface-raised:#17212b;
  --pv2-surface-hover:#1c2933;
  --pv2-line:#2d3d49;
  --pv2-line-strong:#506679;
  --pv2-gold:#efa3c8;
  --pv2-gold-strong:#ffd3e8;
  --pv2-gold-ink:#22101b;
  --pv2-text:#edf5fa;
  --pv2-text-soft:#cedce6;
  --pv2-muted:#a4b6c5;
  --pv2-muted-2:#879dab;
  --pv2-lapis:#6ed5e4;
  --pv2-lapis-soft:#102c33;
  --pv2-platinum:#70d5e4;
  --pv2-platinum-strong:#b0eef6;
  --pv2-platinum-soft:#102b33;
  --pv2-agency:#e4a3cb;
  --pv2-agency-strong:#f5c6e3;
  --pv2-agency-soft:#2e1c2a;
  --pv2-radius:5px;
}
html:has(.queen-panel), .queen-panel { background:var(--pv2-bg); color:var(--pv2-text); }
.queen-panel .pv2-sidebar, .queen-panel .pv2-topbar { background:var(--pv2-sidebar); }
.queen-panel .pv2-brand { min-height:84px; border-bottom-color:var(--pv2-line-strong); }
.queen-panel .qsp-wordmark {
  display:inline-flex; align-items:baseline; position:relative;
  width:max-content; max-width:100%; white-space:nowrap;
  font:400 29px/1.2 Georgia,"Times New Roman",serif;
  letter-spacing:0; color:#f8bdd8;
}
.queen-panel .qsp-wordmark em { font-style:italic; font-weight:700; color:#ff98c6; }
.queen-panel .qsp-wordmark::after {
  content:""; position:absolute; right:0; bottom:-5px; left:0; height:1px;
  background:linear-gradient(90deg,#ff7bb622,#ff7bb6b3 35%,#f7c7df8c 70%,transparent);
}
.queen-panel .qsp-sidebar-brand, .queen-panel .qsp-login-brand { min-width:0; }
.queen-panel :is(.qsp-sidebar-brand,.qsp-login-brand) small {
  display:block; margin-top:12px; font:400 13px/1.4 var(--pv2-font-ui); color:var(--pv2-muted);
}
.queen-panel .pv2-nav-link.is-active {
  background:#2a1f2c; color:#fce3f0; box-shadow:inset 0 0 0 1px #513647;
}
.queen-panel .pv2-nav-link:hover { background:var(--pv2-surface-hover); transform:none; }
.queen-panel .pv2-command-bar { border-left-width:2px; background:var(--pv2-surface); }
.queen-panel :is(.pv2-boost-list-controls,.pv2-tenant-context) { background:#0c141d; }
.queen-panel .pv2-proxy-domain > div { min-width:0; }
.queen-panel .pv2-proxy-domain strong { max-width:100%; }
.queen-panel .pv2-button-primary {
  background:#efa3c8; border-color:#efa3c8; color:#22101b; box-shadow:none;
}
.queen-panel .pv2-button-primary:hover { background:#ffd3e8; border-color:#ffd3e8; }
.queen-panel :is(input,select,textarea):focus-visible { outline-color:var(--pv2-gold-strong); }
.queen-panel select {
  appearance:none; -webkit-appearance:none; max-width:100%; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; padding-right:32px;
  background-image:linear-gradient(45deg,transparent 50%,#c3d8e7 50%),linear-gradient(135deg,#c3d8e7 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
  background-size:5px 5px; background-repeat:no-repeat;
}
.queen-panel .pv2-status-dot { color:var(--pv2-text-soft); }
.queen-panel .pv2-footer { border-color:var(--pv2-line); color:var(--pv2-muted); }
.queen-panel .pv2-login-shell { background:var(--pv2-bg); border-color:var(--pv2-line-strong); box-shadow:0 22px 60px #0007; }
.queen-panel .pv2-login-shell::after { background:var(--pv2-line-strong); }
.queen-panel .pv2-login-identity { background:#080f19; padding-inline:36px; }
.queen-panel .pv2-login-access { background:#101820; }
.queen-panel .pv2-login-brand-statement { grid-template-columns:minmax(0,1fr); }
.queen-panel .qsp-login-brand .qsp-wordmark { font-size:46px; }
.queen-panel .qsp-login-brand small { font-size:15px; margin-top:18px; }
.queen-panel .pv2-login-identity > footer,
.queen-panel .pv2-login-access-footer { color:var(--pv2-muted); border-color:var(--pv2-line); font-size:12px; }
.queen-panel .pv2-field > label { color:var(--pv2-text-soft); font-size:14px; }
.queen-panel .pv2-field > div { background:#09111a; color:var(--pv2-muted); border-color:var(--pv2-line-strong); }
.queen-panel .pv2-field > div:focus-within { background:#09111a; border-color:var(--pv2-gold); }
.queen-panel .pv2-field input { color:var(--pv2-text); font-size:16px; }
.queen-panel .pv2-field input::placeholder { color:var(--pv2-muted); }
.queen-panel .pv2-field input:-webkit-autofill {
  -webkit-box-shadow:0 0 0 1000px #09111a inset;
  -webkit-text-fill-color:var(--pv2-text); caret-color:var(--pv2-text);
}
.queen-panel .pv2-password-toggle { color:var(--pv2-muted); border-color:var(--pv2-line); }
.queen-panel .pv2-form-heading h1 { color:var(--pv2-text); font-size:34px; }
.queen-panel.pv2-login-body::before, .queen-panel.pv2-login-body::after { display:none; }
@media(max-width:820px) {
  .queen-panel .pv2-login-mobile-brand { border-color:var(--pv2-line-strong); background:#080f19; min-height:112px; }
  .queen-panel .qsp-login-brand .qsp-wordmark { font-size:34px; }
  .queen-panel .qsp-login-brand small { font-size:14px; margin-top:12px; }
  .queen-panel .pv2-login-access-footer { text-align:center; padding-inline:20px; }
}
@media(max-width:720px) {
  .queen-panel .pv2-settings-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-inline:0; min-width:0; padding:7px; border:1px solid var(--pv2-line); }
  .queen-panel .pv2-settings-nav button { min-width:0; }
}
