*{box-sizing:border-box}.systems-login{margin:0;min-height:100svh;color:#f2f3f5;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;background:#12151b var(--login-background) center/cover fixed no-repeat}.systems-login::before{content:"";position:fixed;inset:0;background:#080d1640;pointer-events:none}.login-brand{position:absolute;top:32px;left:40px;display:flex;align-items:center;gap:12px;opacity:.52;color:#fff;text-decoration:none;font-size:21px;font-weight:650;z-index:1}.login-brand img{object-fit:contain}.login-brand:hover,.login-brand:focus-visible{opacity:1}.login-stage{position:relative;min-height:100svh;display:grid;place-items:center;padding:112px 24px 64px}.systems-login-card{width:min(100%,840px);padding:36px;display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:56px;background:#313338;border:1px solid #ffffff0a;border-radius:10px;box-shadow:0 12px 52px #0006}.login-fields h1{font-size:24px;line-height:1.25;margin:0 0 8px;text-align:center;letter-spacing:-.5px}.login-intro{color:#b5bac1;text-align:center;margin:0 0 24px;font-size:15px}.login-fields form>label:not(.login-remember){display:block;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:#d7d9dc;font-weight:700;margin:18px 0 8px}.login-fields input:not([type=checkbox]):not([type=hidden]){display:block;width:100%;padding:11px 12px;background:#1e1f22;border:1px solid transparent;border-radius:4px;color:#f2f3f5;font:inherit;outline-offset:3px}.login-fields input:focus-visible{outline:2px solid #909aff}.login-remember{display:flex;align-items:center;gap:8px;color:#b5bac1;font-size:13px;margin:16px 0}.login-remember input{accent-color:#8791ff;width:16px;height:16px}.login-submit{width:100%;border:0;border-radius:4px;background:#5865f2;color:white;padding:11px 16px;font:600 15px/1.5 system-ui;cursor:pointer;transition:background .2s}.login-submit:hover{background:#4752c4}.login-text-button{background:none;border:0;padding:0;color:#83b7ff;cursor:pointer;font:inherit;font-size:14px;text-align:center}.login-fields>.login-text-button{display:block;margin:14px auto 0}.login-text-button:hover{text-decoration:underline}.login-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.login-qr-frame{width:192px;height:192px;border-radius:8px;background:white;color:#4e5058;display:grid;place-items:center;padding:8px;overflow:hidden;font-size:13px}.login-qr-frame img{width:176px;height:176px;image-rendering:pixelated}.login-qr h2{font-size:22px;line-height:1.3;margin:20px 0 10px;letter-spacing:-.4px}.login-qr p{font-size:14px;color:#b5bac1;margin:0;line-height:1.45}.login-qr .login-qr-status{font-size:12px;margin-top:12px;min-height:18px}.login-passkey{margin-top:18px}.login-error{padding:10px 12px;border-radius:4px;background:#ed42451a;color:#ffb3b3;font-size:14px}.systems-login [hidden]{display:none!important}.login-text-button:focus-visible,.login-submit:focus-visible{outline:2px solid #b3bcff;outline-offset:4px}.signet-dialog{font-family:system-ui,sans-serif}@media(max-width:700px){.login-brand{top:24px;left:24px;font-size:18px}.login-stage{padding:96px 16px 32px;align-items:start}.systems-login-card{grid-template-columns:1fr;width:min(100%,460px);padding:28px 24px;gap:30px}.login-qr{border-top:1px solid #ffffff1a;padding-top:28px}.login-fields h1{font-size:22px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.systems-login .systems-login-card {
  background: rgba(30, 34, 42, .64);
  border: 1px solid rgba(255, 255, 255, .18);
  backdrop-filter: blur(22px) saturate(135%);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  box-shadow: 0 16px 56px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .06);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .systems-login .systems-login-card { background: rgba(30, 34, 42, .94); }
}
@media (prefers-reduced-transparency: reduce) {
  .systems-login .systems-login-card { background: #252a33; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Login options and portrait announcements share the same bounded canvas. */
.systems-login-card{width:min(100%,900px);grid-template-columns:minmax(0,1fr) 300px;gap:36px}.login-fields{align-self:center}.login-carousel{width:300px;max-width:100%;align-self:center;justify-self:center;min-width:0}.login-carousel-slide{height:100%;width:100%;min-width:0}.login-carousel .login-qr{height:100%;padding:16px;min-width:0;border:0;box-sizing:border-box}.login-qr-main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.login-qr-main .login-qr-frame{flex:none}.login-qr-main h2{font-size:21px;margin:12px 0 8px}.login-qr-main p{font-size:13px}.login-qr-main .login-qr-status{margin-top:8px;min-height:18px;max-height:36px;overflow:hidden}.login-qr-main [data-signet-qr-refresh]{font-size:13px;margin-top:4px}.login-other-methods{display:flex;justify-content:space-between;gap:12px;width:100%;margin-top:14px;flex:none}.login-other-methods .login-text-button{font-size:13px;white-space:nowrap;margin:0}.login-carousel-dots{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;margin-top:10px;min-height:24px}.login-carousel-dot{width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.login-carousel-dot::before{content:"";display:block;width:7px;height:7px;background:#ffffff55;border-radius:50%}.login-carousel-dot.active::before{background:#aeb7ff;width:9px;height:9px}.login-carousel-dot:focus-visible{outline:2px solid #b3bcff;outline-offset:1px}.login-invitation{max-width:calc(100vw - 32px);width:380px;padding:28px;border:1px solid #ffffff36;border-radius:14px;background:#252a33;color:#f2f3f5;font:16px/1.5 system-ui;box-shadow:0 20px 60px #0006}.login-invitation h2{font-size:22px;margin:0 0 12px}.login-invitation p{margin-bottom:24px}.login-invitation::backdrop{background:#080d16aa;backdrop-filter:blur(4px)}
@media(max-width:700px){.systems-login-card{grid-template-columns:minmax(0,1fr);gap:28px}.login-carousel{border:0}.login-carousel .login-qr{padding:16px}}

/* Both faces stay in the same bounded frame during the directional turn. */
[data-carousel-canvas]{position:relative;perspective:900px}
.login-carousel-slide{position:absolute;inset:0;backface-visibility:hidden;transform-origin:center center}
@media(prefers-reduced-motion:reduce){.login-carousel-slide{transform:none!important;opacity:1!important}}

/* Frosted glass samples the actual artwork instead of painting an opaque grey. */
.systems-login{--login-ink:#f2f3f5;--login-muted:#d0d5de;--login-link:#a8cfff;--login-field-bg:rgba(10,14,21,.46);--login-stroke:rgba(255,255,255,.25)}
.systems-login[data-login-ink="dark"]{--login-ink:#142035;--login-muted:#34435b;--login-link:#174b91;--login-field-bg:rgba(255,255,255,.55);--login-stroke:rgba(20,32,53,.24)}
.systems-login::before{background:rgba(7,12,20,.12)}
.systems-login .systems-login-card{color:var(--login-ink);background:rgba(var(--login-glass-rgb,30,34,42),.14);border-color:var(--login-stroke);backdrop-filter:blur(26px) saturate(130%);-webkit-backdrop-filter:blur(26px) saturate(130%);box-shadow:0 16px 56px #0004,inset 0 1px 0 #ffffff26}
.systems-login .login-fields h1,.systems-login .login-fields form>label:not(.login-remember),.systems-login .login-qr h2{color:var(--login-ink)}
.systems-login .login-intro,.systems-login .login-remember,.systems-login .login-qr p{color:var(--login-muted)}
.systems-login .login-fields input:not([type=checkbox]):not([type=hidden]){background:var(--login-field-bg);border-color:var(--login-stroke);color:var(--login-ink)}
.systems-login .login-fields input::placeholder{color:var(--login-muted)}
.systems-login .login-text-button{color:var(--login-link)}
.systems-login .login-brand{color:var(--login-ink)}
.systems-login .login-carousel .publicity-canvas{background:rgba(var(--login-glass-rgb,30,34,42),.12);border-color:var(--login-stroke)}
.systems-login .login-publicity-card{background:rgba(12,16,24,.76)}
.systems-login[data-login-ink="dark"] .login-carousel-dot::before{background:#14203555}
.systems-login[data-login-ink="dark"] .login-carousel-dot.active::before{background:#274b9b}
.login-preview-banner{position:absolute;z-index:3;top:18px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);margin:0;padding:8px 14px;border:1px solid #ffffff44;border-radius:12px;color:#fff;background:#121722c9;font:12px/1.5 system-ui;text-align:center;backdrop-filter:blur(10px)}
.login-preview-banner a{color:#cbdcff}.systems-login[data-login-preview="true"] button:disabled{opacity:1;cursor:default}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.systems-login .systems-login-card{background:rgba(var(--login-glass-rgb,30,34,42),.9)}}
@media(prefers-reduced-transparency:reduce){.systems-login .systems-login-card{background:rgb(var(--login-glass-rgb,30,34,42));backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:700px){.systems-login[data-login-preview="true"] .login-brand{top:86px}.systems-login[data-login-preview="true"] .login-stage{padding-top:148px}.login-preview-banner{top:14px;width:calc(100% - 32px)}}

/* The artwork has its own layer, so opacity never fades the login controls. */
.systems-login{background:#fff;isolation:isolate}
.systems-login::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--login-background) center/cover no-repeat;opacity:var(--login-background-opacity,1)}
.systems-login::before{z-index:-1;opacity:var(--login-background-opacity,1)}
.systems-login[data-login-show-brand="false"] .login-brand{visibility:hidden;pointer-events:none}
.systems-login[data-login-preview="true"] .login-brand{cursor:pointer;touch-action:manipulation}
.systems-login[data-login-preview="true"][data-login-show-brand="false"] .login-brand{visibility:visible;pointer-events:auto;outline:1px dashed #aab7c9;outline-offset:10px;opacity:.65}
.systems-login[data-login-preview="true"][data-login-show-brand="false"] .login-brand>*{visibility:hidden}
.systems-login[data-login-preview="true"] .login-stage{touch-action:pan-y}
.login-preview-controls{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 20px;max-width:900px;margin:78px auto 0;padding:12px 18px;border:1px solid var(--login-stroke);border-radius:12px;background:rgba(var(--login-glass-rgb,30,34,42),.16);color:var(--login-ink);font:13px/1.4 system-ui;backdrop-filter:blur(26px) saturate(130%);-webkit-backdrop-filter:blur(26px) saturate(130%);box-shadow:0 12px 40px #0002,inset 0 1px 0 #ffffff26}
.login-preview-controls label{display:flex;align-items:center;gap:8px}.login-preview-controls input[type=range]{width:140px;accent-color:#949dff}.login-preview-controls output{min-width:34px}.login-preview-controls small{color:var(--login-muted)}
.login-preview-controls button{border:1px solid #b3bcff;background:#5865f2;color:white;border-radius:6px;padding:8px 14px;cursor:pointer}.login-preview-controls p{width:100%;margin:0;text-align:center;color:var(--login-muted)}.login-preview-controls [role=status]{text-align:center}.login-preview-controls button:disabled{opacity:.6;cursor:wait}
.systems-login[data-login-preview="true"] .login-stage{min-height:calc(100svh - 170px);padding-top:26px}
@media(max-width:700px){.login-preview-controls{margin:146px 16px 0}.systems-login[data-login-preview="true"] .login-stage{padding-top:28px}}

/* The compact badge keeps an accessible way back to the frosted controls. */
.login-preview-banner{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--login-ink);background:rgba(var(--login-glass-rgb,30,34,42),.28);border-color:var(--login-stroke);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.login-preview-banner a{color:var(--login-link);white-space:nowrap}
.login-preview-controls-heading{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}
.login-preview-toggle,.login-preview-controls .login-preview-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;padding:4px;border:1px solid var(--login-stroke);border-radius:7px;background:transparent;color:var(--login-ink);cursor:pointer}
.login-preview-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.login-preview-toggle:focus-visible{outline:2px solid #8791ff;outline-offset:3px}
.systems-login[data-preview-controls-collapsed="true"] .login-stage{min-height:100svh;padding-top:112px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.login-preview-controls,.login-preview-banner{background:rgba(var(--login-glass-rgb,30,34,42),.94)}}
@media(prefers-reduced-transparency:reduce){.login-preview-controls,.login-preview-banner{background:rgb(var(--login-glass-rgb,30,34,42));backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:700px){.login-preview-banner{gap:7px;padding:8px 10px;font-size:11px}.login-preview-banner span{min-width:0}.systems-login[data-preview-controls-collapsed="true"] .login-stage{padding-top:148px}}

/* Only the glass surface fades; fields, labels and QR remain on their own layer. */
.systems-login .systems-login-card{position:relative;isolation:isolate;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.systems-login .systems-login-card::before{content:"";position:absolute;inset:-1px;z-index:-1;pointer-events:none;border:1px solid var(--login-stroke);border-radius:inherit;background:rgba(var(--login-glass-rgb,30,34,42),.14);backdrop-filter:blur(26px) saturate(130%);-webkit-backdrop-filter:blur(26px) saturate(130%);box-shadow:0 16px 56px #0004,inset 0 1px 0 #ffffff26;opacity:var(--login-panel-opacity,1)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.systems-login .systems-login-card::before{background:rgba(var(--login-glass-rgb,30,34,42),.9)}}
@media(prefers-reduced-transparency:reduce){.systems-login .systems-login-card::before{background:rgb(var(--login-glass-rgb,30,34,42));backdrop-filter:none;-webkit-backdrop-filter:none}}

.invitation-dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100svh - 40px);overflow:auto;padding:26px;border:1px solid #819bb44f;border-radius:18px;background:linear-gradient(145deg,#16263aee,#0c1728f5);color:#e4edf9;font:14px/1.5 system-ui;box-shadow:0 24px 90px #0008;backdrop-filter:blur(26px)}
.invitation-dialog::backdrop{background:#080e18aa;backdrop-filter:blur(9px)}.invitation-dialog header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px}.invitation-dialog h2{font-size:24px;color:#f0f5ff;margin:0}.invitation-dialog [data-entry-close]{border:1px solid #8199b44d;background:transparent;color:#eaf2ff;border-radius:8px;padding:0 9px;font-size:25px;cursor:pointer}
.invitation-dialog label{display:grid;gap:6px;margin:14px 0;color:#c8d8e9;font-size:13px}.invitation-dialog input,.invitation-dialog select{width:100%;min-width:0;background:#0b1626;border:1px solid #8cacc34d;border-radius:8px;padding:11px 12px;color:#f0f5ff;font:inherit}.invitation-dialog input[readonly]{color:#b7c9dd;background:#172438}.invitation-dialog [name=code]{text-align:center;letter-spacing:.22em;text-transform:uppercase;font-size:25px}
.invitation-dialog .invitation-primary{display:block;width:100%;margin-top:20px;border:1px solid #6bc9af;border-radius:8px;background:#195e52;color:white;font:600 14px/1.5 system-ui;padding:11px 14px;cursor:pointer}.invitation-dialog button:disabled{opacity:.5;cursor:wait}.invitation-dialog input:focus-visible,.invitation-dialog button:focus-visible,.invitation-dialog select:focus-visible{outline:2px solid #9dacf8;outline-offset:3px}.invitation-dialog [role=status]{min-height:20px;margin:15px 0 0;color:#bddfd6;font-size:13px}.invitation-dialog [role=status][data-error=true]{color:#ffb5bf}.invitation-dialog .invitation-help{font-size:12px;color:#aabed4;margin:16px 0 0}.invitation-dialog [hidden]{display:none!important}

/* Independent carousel surfaces: content, QR and images keep their opacity. */
.systems-login .login-carousel .publicity-canvas{isolation:isolate;background:transparent;border-color:transparent}
.systems-login .login-carousel .publicity-canvas::before{content:"";position:absolute;inset:-1px;z-index:-1;pointer-events:none;border:1px solid var(--login-stroke);border-radius:inherit;background:rgba(var(--login-glass-rgb,30,34,42),.12);opacity:var(--login-carousel-opacity,1)}
.systems-login .login-publicity-card{position:relative;isolation:isolate;background:transparent}
.systems-login .login-publicity-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(12,16,24,.76);opacity:var(--login-carousel-opacity,1)}
.login-preview-ranges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;width:100%}
.login-preview-ranges label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;min-width:0}
.login-preview-ranges input[type=range]{grid-row:2;width:100%;min-width:0}
.login-preview-ranges output{grid-column:2;grid-row:2;text-align:right}
.login-preview-actions{display:flex;align-items:center;justify-content:center;gap:12px 20px;flex-wrap:wrap;width:100%}
.login-preview-actions label:last-child{margin-left:auto}
.login-preview-controls [role=status]{width:100%}
@media(max-width:520px){.login-preview-ranges{gap:10px}.login-preview-ranges label{font-size:11px}.login-preview-actions{gap:10px}.login-preview-actions label:last-child{margin-left:0}.login-preview-controls{padding:12px}}
