/* CrossPeak Login package 2.x: Package settings stylesheet (live settings lane /packages/login/v2/, about 5 minutes to
   reach every installed app). Change the look here: the custom properties first, then the rules. Defaults are the
   approved login (kit 2.1, CADS BR-21, BR-22): white page, the CrossPeak sign-in pill with the logo inside it. */
:root{
  color-scheme:light;                    /* stops forced-dark browsers inverting the white page */
  --cps-login-page-bg:#fff;              /* page behind the login and the intro (approved: white) */
  --cps-login-text:#102433;
  --cps-signin-bg:#fff;                  /* the sign-in pill */
  --cps-signin-text:#0A3251;
  --cps-signin-border:#1577AE;
  --cps-signin-hover-bg:#E6F3FA;
  --cps-signin-hover-border:#0A3251;
  --cps-signin-shadow:0 8px 22px rgba(21,119,174,.16);
  --cps-signin-hover-shadow:0 10px 26px rgba(10,50,81,.22);
  --cps-signin-pulse:rgba(66,179,232,.55); /* ring that pulses out of the pill when the logo lands */
  --cps-signin-offset:26vh;              /* how far below centre the pill sits */
  --cps-login-focus:#1577AE;             /* keyboard focus ring */
  --cps-skip-bg:#fff;                    /* "Skip intro" button */
  --cps-skip-hover:#E6F3FA;
  --cps-skip-text:#0A3251;
  --cps-skip-border:#a4b6c5;
  --cps-login-failsafe:6.2s;             /* the login always appears by this time, even if every script fails */
}
/* The login page (kit login-fragment.html) */
html:has(.cps-login),html:has(.cps-login) body{background:var(--cps-login-page-bg);color:var(--cps-login-text)}
.cps-login{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;margin:0;box-sizing:border-box;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.cps-login-logo{display:block}
.cps-signin-stack{position:relative;display:inline-block;margin-top:var(--cps-signin-offset)}
.cps-signin{display:inline-flex;align-items:center;gap:14px;box-sizing:border-box;height:58px;min-width:232px;padding:0 34px 0 18px;border:2px solid var(--cps-signin-border);border-radius:29px;background:var(--cps-signin-bg);color:var(--cps-signin-text);font:600 19px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.2px;text-decoration:none;box-shadow:var(--cps-signin-shadow);transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.cps-signin-slot{flex:none;width:32px;height:32px}
.cps-signin:hover{background:var(--cps-signin-hover-bg);border-color:var(--cps-signin-hover-border);box-shadow:var(--cps-signin-hover-shadow);transform:translateY(-1px)}
.cps-signin:active{transform:translateY(0) scale(.985)}
.cps-signin:focus-visible{outline:3px solid var(--cps-login-focus);outline-offset:4px}
.cps-signin-stack .cps-login-logo{position:absolute;left:20px;top:50%;width:32px;height:32px;margin-top:-16px;pointer-events:none}
.cps-signin-busy{cursor:progress}
.cps-signin-busy .cps-signin-slot{box-sizing:border-box;width:40px;height:40px;margin:-4px;border-radius:50%;border:2px solid rgba(21,119,174,.18);border-top-color:var(--cps-signin-border);animation:cps-signin-spin .8s linear infinite}
@keyframes cps-signin-spin{to{transform:rotate(360deg)}}
.cps-signin-landed{animation:cps-signin-land .9s cubic-bezier(.2,.7,.2,1) 1}
@keyframes cps-signin-land{from{box-shadow:0 0 0 0 var(--cps-signin-pulse),var(--cps-signin-shadow)}to{box-shadow:0 0 0 16px rgba(66,179,232,0),var(--cps-signin-shadow)}}
@media (prefers-reduced-motion:reduce){.cps-signin,.cps-signin:hover,.cps-signin:active{transition:none;transform:none}.cps-signin-landed,.cps-signin-busy .cps-signin-slot{animation:none}}
@media (forced-colors:active){.cps-signin{border-color:ButtonText;background:ButtonFace;color:ButtonText;box-shadow:none}.cps-signin:focus-visible{outline-color:Highlight}.cps-signin-busy .cps-signin-slot{border-color:ButtonText}}
/* The intro layer (kit INTRO_CSS) */
html.cps-intro-pending .cps-login{visibility:hidden;animation:cps-intro-failsafe 0s linear var(--cps-login-failsafe) forwards}
@keyframes cps-intro-failsafe{to{visibility:visible}}
html.cps-intro-running{overflow:hidden}
html.cps-intro-running .cps-login-logo{z-index:2}
.cps-intro-layer{position:fixed;inset:0;z-index:1;pointer-events:none;background:transparent}
.cps-intro-layer canvas{display:block;position:absolute;left:0;top:0}
.cps-intro-skip{position:fixed;z-index:3;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-height:44px;padding:10px 18px;border:1px solid var(--cps-skip-border);border-radius:22px;background:var(--cps-skip-bg);color:var(--cps-skip-text);font:600 15px system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer}
.cps-intro-skip:hover{background:var(--cps-skip-hover)}.cps-intro-skip:focus-visible{outline:3px solid var(--cps-login-focus);outline-offset:3px}
html.cps-intro-fade .cps-login{animation:cps-intro-fadein .2s ease-out both}
@keyframes cps-intro-fadein{from{opacity:0}to{opacity:1}}
.cps-intro-review{position:fixed;z-index:4;top:max(12px,env(safe-area-inset-top));left:0;right:0;margin:0 auto;width:max-content;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;max-width:calc(100vw - 24px);padding:8px 10px;background:#fff;border:1px dashed #a4b6c5;border-radius:10px;font:14px system-ui,-apple-system,"Segoe UI",sans-serif;color:#3C4858;box-shadow:0 2px 10px rgba(10,50,81,.08)}
.cps-intro-review span{font-weight:700;color:#0A3251}
.cps-intro-review button{min-height:36px;padding:6px 12px;border:1px solid #a4b6c5;border-radius:8px;background:#fff;color:#0A3251;font:inherit;cursor:pointer}
.cps-intro-review button[aria-pressed=true]{background:#0A3251;border-color:#0A3251;color:#fff;font-weight:700}
.cps-intro-review button:focus-visible{outline:3px solid var(--cps-login-focus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){html.cps-intro-pending .cps-login{visibility:visible;animation:none}}
