/* Shared by the portal and the versioned Keycloak theme. No remote assets. */
@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-latin-v23.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-latin-ext-v23.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}
@font-face{font-family:Quicksand;src:url('../assets/fonts/quicksand-latin-v37.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Quicksand;src:url('../assets/fonts/quicksand-latin-ext-v37.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}
.dg-auth{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);width:min(1080px,calc(100% - 64px));min-height:650px;margin:clamp(32px,9vh,100px) auto;font:14px/1.65 Manrope,sans-serif;color:#31233e;border:1px solid #fff;border-radius:28px;background:#ffffffb8;box-shadow:0 24px 80px #42315b14,0 1px 2px #fff inset;backdrop-filter:blur(24px);overflow:hidden;text-align:left}
body:has(.dg-auth){min-height:100dvh;background:radial-gradient(ellipse at 9% 4%,#e1d2fc 0,transparent 52%),radial-gradient(ellipse at 98% 89%,#cfe9ef 0,transparent 50%),radial-gradient(ellipse at 74% 3%,#f5dfea 0,transparent 45%),#f0edf6;margin:0;display:flow-root}
.dg-auth *{box-sizing:border-box}
.dg-story{position:relative;isolation:isolate;overflow:hidden;margin:10px;padding:44px 42px 32px;display:flex;flex-direction:column;border-radius:21px;background:radial-gradient(ellipse at 18% 0,#60358b55,transparent 70%),linear-gradient(155deg,#2f124d,#211034 80%);color:#f8f1ff;min-height:628px}
.dg-logo{display:block;width:234px;max-width:100%;align-self:flex-start;position:relative;z-index:2;border-radius:3px}
.dg-logo img{width:100%;height:auto;display:block}
.dg-story-copy{margin-top:74px;position:relative;z-index:2}
.dg-kicker{font-size:10px;font-weight:650;letter-spacing:.16em;color:#cdb4e5}
.dg-story h2{font:600 clamp(32px,3.2vw,42px)/1.22 Quicksand,sans-serif;letter-spacing:-1.2px;margin:19px 0 21px;color:#fff}
.dg-story h2 span{color:#d2b1ff}
.dg-story-copy p{font-size:14px;color:#d3c3e0;line-height:1.85;margin:0}
.dg-story-foot{position:relative;z-index:2;margin:auto 0 0;padding-top:152px;font-size:11px;letter-spacing:.01em;color:#c1accf}
.dg-orbit{position:absolute;width:470px;height:390px;bottom:-45px;right:-105px;z-index:0;transform:rotate(-27deg);pointer-events:none}
.dg-orbit span{position:absolute;inset:40px 0;border:1px solid #b796ef22;border-radius:50%;transform:rotate(12deg)}
.dg-orbit span:nth-child(2){inset:64px -16px;transform:rotate(-25deg);border-color:#72cec327}
.dg-orbit span:nth-child(3){inset:14px 45px;transform:rotate(35deg);border-color:#d08aff24}
.dg-orbit i{position:absolute;width:98px;height:98px;border-radius:50%;top:120px;left:115px;background:radial-gradient(circle at 28% 22%,#a2b8e8,#9168d7 40%,#422469 77%);box-shadow:15px 30px 75px #16052366,inset -12px -15px 25px #26143e66}
.dg-card{align-self:center;width:100%;padding:52px 52px 42px;margin:0;border:0;background:transparent;box-shadow:none;max-width:none}
.dg-label{display:block;font-size:10px;letter-spacing:.14em;font-weight:750;color:#7d6496;margin-bottom:14px}
.dg-card h1,.dg-card #kc-page-title{font:600 31px/1.3 Quicksand,sans-serif;letter-spacing:-.7px;margin:0 0 13px;color:#352044;text-align:left}
.dg-intro{color:#776b82;line-height:1.8;margin:0 0 32px;font-size:14px}
.dg-primary,.dg-card .pf-c-button.pf-m-primary{display:flex;justify-content:center;align-items:center;gap:18px;width:100%;min-height:50px;border:1px solid #7324c2;border-radius:11px;background:linear-gradient(115deg,#7427c5,#6220b3);box-shadow:0 6px 15px #7224bc20,inset 0 1px #ffffff24;font:650 14px/1.4 Manrope,sans-serif;color:#fff;text-decoration:none;padding:14px 18px;cursor:pointer;transition:background .15s,box-shadow .15s}
.dg-primary:hover,.dg-card .pf-c-button.pf-m-primary:hover{background:#591c9f;color:#fff;text-decoration:none;box-shadow:0 7px 18px #7224bc30}
.dg-primary span{font-size:20px;line-height:1}
.dg-auth a:focus-visible,.dg-auth button:focus-visible,.dg-auth input:focus-visible{outline:3px solid #8a4acc;outline-offset:4px}
.dg-invite{display:flex;align-items:flex-start;gap:13px;padding:22px 0;margin-top:25px;border-top:1px solid #a995bd29;border-bottom:1px solid #a995bd29;font-size:12px}
.dg-invite-icon{font-size:24px;color:#8e65ba;line-height:1.4}
.dg-invite strong{font-weight:650;color:#574163}
.dg-invite p{margin:4px 0 0;color:#807386;line-height:1.7;font-size:12px}
.dg-back{display:inline-flex;min-height:40px;align-items:center;color:#694d83;font-size:12px;margin-top:18px;text-decoration:none;border-radius:3px}
.dg-back:hover{color:#572199;text-decoration:underline}
.dg-safe{font-size:10px;color:#817489;margin:18px 0 0;line-height:1.6}
.dg-error,.dg-card .pf-c-alert{font-size:13px;border:1px solid #c8797955;border-radius:10px;background:#fff0ef;color:#913c42;padding:12px 14px;margin:0 0 22px}
/* Native Keycloak form composition is retained, including its password toggle. */
.dg-auth #kc-header{margin:10px;text-align:left;color:inherit}
.dg-auth #kc-header-wrapper{padding:0;text-transform:none;letter-spacing:normal;white-space:normal}
.dg-card .login-pf-header{margin:0 0 26px;text-align:left}
.dg-card #kc-content,.dg-card #kc-content-wrapper{margin:0}
.dg-card .form-group{margin-bottom:20px}
.dg-card .pf-c-form__label,.dg-card label{font:600 12px/1.6 Manrope,sans-serif;color:#51405d;padding:0;margin:0 0 8px;display:inline-block}
.dg-card .pf-c-form-control{font:400 16px/1.5 Manrope,sans-serif;min-height:48px;border:1px solid #b8a9c8;border-radius:10px;padding:11px 13px;color:#352641;background:#ffffffc9;box-shadow:0 1px 2px #35264104;outline-offset:3px}
.dg-card .pf-c-form-control:hover{border-color:#8f72ac}
.dg-card .pf-c-form-control:focus{border-color:#8550b9}
.dg-card .pf-c-form-control[aria-invalid=true]{border-color:#b94650;background:#fff8f7}
.dg-card .pf-c-input-group{display:flex;align-items:stretch;border:1px solid #b8a9c8;border-radius:10px;background:#ffffffc9;overflow:visible}
.dg-card .pf-c-input-group>.pf-c-form-control{border:0;border-radius:10px 0 0 10px;min-width:0;flex:1;background:transparent}
.dg-card .pf-c-input-group>.pf-c-button{position:relative;flex:0 0 48px;min-height:48px;border:0;background:transparent;color:#73578d;border-radius:0 10px 10px 0}
.dg-card .pf-c-button:after{border:0}
.dg-card #kc-form-options{padding:0;margin:0;font-size:12px}
.dg-card #kc-form-buttons{padding:0;margin:26px 0 0}
.dg-card .kc-feedback-text{font-size:12px;color:#9b3441;margin-top:6px;display:block}
.dg-card .login-pf-settings{margin:0;display:flex;justify-content:space-between}
.dg-card a{color:#6d388f}
.dg-card .pf-c-button.pf-m-primary{color:white}
.dg-card .dg-label{margin-bottom:14px}
.dg-card #kc-info-wrapper{padding:0;background:transparent;margin:0}
.dg-card .dg-invite{margin-top:28px}
.dg-card .pf-c-alert__icon{display:none}
@media(max-width:800px){.dg-auth{width:min(500px,calc(100% - 32px));grid-template-columns:1fr;margin:24px auto;min-height:0;border-radius:22px}.dg-story{min-height:0;margin:8px;padding:27px 28px 28px;border-radius:16px}.dg-logo{width:197px}.dg-story-copy{margin-top:28px}.dg-story h2{font-size:29px;margin:11px 0 12px}.dg-story-copy p{font-size:12px}.dg-kicker{font-size:9px}.dg-story-foot{display:none}.dg-orbit{width:300px;height:240px;right:-95px;bottom:-86px;opacity:.65}.dg-orbit i{width:65px;height:65px;left:90px;top:90px}.dg-card{padding:29px 32px 31px}.dg-card h1,.dg-card #kc-page-title{font-size:27px}.dg-intro{margin-bottom:25px;font-size:13px}.dg-invite{margin-top:24px}.dg-safe{margin-top:11px}.dg-desktop-break{display:none}}
@media(max-width:360px){.dg-auth{width:calc(100% - 20px);margin:10px auto}.dg-story{padding:24px}.dg-story h2{font-size:26px}.dg-card{padding:25px 23px}.dg-primary{font-size:13px}}
@media(prefers-reduced-transparency:reduce){.dg-auth{background:#faf8fc;backdrop-filter:none}.dg-card .pf-c-form-control{background:white}}
@media(prefers-reduced-motion:reduce){.dg-auth *{transition:none!important}}
@media(forced-colors:active){.dg-auth,.dg-story,.dg-card .pf-c-input-group,.dg-primary{border:1px solid CanvasText}.dg-orbit{display:none}.dg-story{background:Canvas;color:CanvasText}.dg-story h2,.dg-story h2 span,.dg-story p{color:CanvasText}.dg-logo{background:#301443}}
