:root {
  --capsha-cgiar-primary:#033529;
  --capsha-primary-accent:#17F1BD;
  --capsha-primary-dark:#010D09;
  --capsha-white:#FFFFFF;
  --capsha-dark-green:#02211A;
  --capsha-highlight-green:#57FAD3;
  --capsha-lighter-green:#065F4A;
  --capsha-program-accent:#2F2E81;
  --capsha-program:#A69CFF;
  --capsha-primary-light:#E2E0DF;
  --capsha-grey-1:#555554;
  --capsha-grey-2:#727070;
  --capsha-grey-3:#8E8C8C;
  --capsha-grey-4:#AAA8A7;
  --capsha-grey-5:#C6C4C3;
  --capsha-grey-6:#E2E0DF;
  --capsha-grey-dark:#4D4D4D;
  --capsha-grey-deep:#2A2A2A;
  --capsha-theme-primary:#6EC1E4;
  --capsha-theme-secondary:#54595F;
  --capsha-theme-text:#334155;
  --capsha-theme-heading:#2F2E81;
  --capsha-capsha-button:#52D3D2;
  --capsha-theme-brand:#046bd2;
  --capsha-theme-brand-alt:#045cb4;
  --capsha-bg:#F0F5FA;
  --capsha-subtle:#D1D5DB;
  --capsha-radius-xl:30px;
  --capsha-radius-lg:20px;
  --capsha-radius-md:14px;
  --capsha-shadow:0 30px 80px rgba(1,13,9,.16),0 8px 24px rgba(3,53,41,.08);
  --capsha-transition:180ms cubic-bezier(.2,.8,.2,1);
}

html,body.login.capsha-auth-ui{min-height:100%}
body.login.capsha-auth-ui{
  margin:0;
  padding:clamp(18px,4vw,48px);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow-x:hidden;
  background:radial-gradient(circle at 10% 14%,rgba(166,156,255,.28),transparent 24rem),radial-gradient(circle at 92% 86%,rgba(87,250,211,.12),transparent 26rem),linear-gradient(145deg,#f8f7ff 0%,#f1f2ff 50%,#edf3ff 100%);
  color:var(--capsha-theme-text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:15px;
  line-height:1.55;
}
body.login.capsha-auth-ui *,body.login.capsha-auth-ui *::before,body.login.capsha-auth-ui *::after{box-sizing:border-box}
body.login.capsha-auth-ui::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.38;
  background-image:linear-gradient(rgba(3,53,41,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(3,53,41,.025) 1px,transparent 1px);
  background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 78%);
}

body.login.capsha-auth-ui #login{
  width:min(1120px,100%);max-width:none;min-height:min(720px,calc(100vh - 72px));margin:0;padding:0;position:relative;overflow:hidden;
  border:1px solid rgba(3,53,41,.08);border-radius:var(--capsha-radius-xl);background:var(--capsha-white);box-shadow:var(--capsha-shadow);isolation:isolate;
}
body.login.capsha-auth-ui #login.capsha-layout-ready{
  display:grid;
  grid-template-columns:minmax(340px,.92fr) minmax(440px,1.08fr);
  grid-auto-rows:auto;
  align-content:center;
  column-gap:0;
  padding:50px 0;
}
body.login.capsha-auth-ui #login > h1{display:none}
body.login.capsha-auth-ui #login.capsha-layout-ready > :not(.capsha-auth-intro){grid-column:2;justify-self:center;width:min(500px,calc(100% - 88px))}
body.login.capsha-auth-ui #login.capsha-layout-ready > .capsha-auth-intro{
  grid-column:1;grid-row:1 / span 60;justify-self:stretch;align-self:stretch;width:100%;min-height:620px;margin:-50px 0;
}

.capsha-auth-intro{
  padding:clamp(34px,5vw,68px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;color:var(--capsha-white);
  background:radial-gradient(circle at 82% 18%,rgba(87,250,211,.16),transparent 14rem),radial-gradient(circle at 10% 92%,rgba(166,156,255,.28),transparent 18rem),linear-gradient(150deg,var(--capsha-program-accent) 0%,#433FA5 54%,#1D1B4F 100%);
}
.capsha-auth-intro::after{content:"";position:absolute;width:320px;height:320px;right:-170px;bottom:10%;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 38px rgba(23,241,189,.025),0 0 0 76px rgba(166,156,255,.025)}
.capsha-auth-pattern{position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(180deg,rgba(3,53,41,.30),rgba(1,13,9,.10)),url('../images/capsha-pattern.png');background-repeat:no-repeat,repeat;background-position:center,center;background-size:cover,340px auto;mix-blend-mode:screen}
.capsha-auth-brand,.capsha-auth-intro-copy{position:relative;z-index:2}
.capsha-auth-brand{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.capsha-auth-logo-link,.capsha-auth-monogram{width:58px;height:58px;flex:0 0 58px;border-radius:16px;display:grid;place-items:center;overflow:hidden;text-decoration:none;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 32px rgba(47,46,129,.22);position:relative}
.capsha-auth-logo{display:block;max-width:48px;max-height:48px;width:auto;height:auto;object-fit:contain}
.capsha-auth-monogram{background:linear-gradient(135deg,var(--capsha-program-accent),#5B56B6);border-color:rgba(255,255,255,.18)}
.capsha-auth-monogram__letter{font-size:28px;line-height:1;font-weight:800;color:var(--capsha-white);letter-spacing:-.04em;position:relative;z-index:1}
.capsha-auth-monogram__accent{position:absolute;right:10px;top:10px;width:10px;height:10px;border-radius:50%;background:var(--capsha-primary-accent);box-shadow:0 0 0 4px rgba(166,156,255,.22)}
.capsha-auth-brand-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
.capsha-auth-brand-copy strong{color:#D7D1FF;font-size:18px;letter-spacing:.12em;line-height:1.2}
.capsha-auth-brand-copy span{overflow:hidden;color:rgba(255,255,255,.86);font-size:12px;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.capsha-auth-intro-copy{margin:auto 0;padding:72px 0 54px;max-width:520px}
.capsha-auth-kicker{margin:0 0 14px!important;color:#DCD8FF!important;font-size:12px!important;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.capsha-auth-intro h2{margin:0 0 18px;max-width:470px;color:var(--capsha-white);font-size:clamp(38px,4.2vw,62px);font-weight:760;line-height:1.02;letter-spacing:-.045em}
.capsha-auth-intro-copy>p:last-child{margin:0;max-width:460px;color:rgba(255,255,255,.78);font-size:clamp(15px,1.5vw,18px);line-height:1.7}

.capsha-auth-main-header{margin:0 0 28px;position:relative;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,rgba(245,244,255,.98),rgba(255,255,255,.94));overflow:hidden;border:1px solid rgba(47,46,129,.10);box-shadow:0 14px 32px rgba(47,46,129,.08)}
.capsha-auth-main-header::before{content:'';position:absolute;inset:0 auto 0 0;width:132px;background:url('../images/capsha-pattern.png') left center / 190px auto repeat-y;opacity:.08;pointer-events:none}
.capsha-auth-main-header::after{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--capsha-program-accent),var(--capsha-program),var(--capsha-primary-accent));opacity:.95}
.capsha-auth-main-header > *{position:relative;z-index:1}
.capsha-auth-main-header .capsha-main-eyebrow{margin:0 0 9px;color:var(--capsha-program-accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.capsha-auth-main-header h2{margin:0 0 9px;color:var(--capsha-theme-heading);font-size:clamp(29px,3vw,40px);font-weight:760;line-height:1.12;letter-spacing:-.035em}
.capsha-auth-main-header>p:last-child{margin:0;max-width:520px;color:var(--capsha-grey-2);font-size:14px}

body.login.capsha-auth-ui form{margin:0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
body.login.capsha-auth-ui form .input,body.login.capsha-auth-ui form input[type="text"],body.login.capsha-auth-ui form input[type="email"],body.login.capsha-auth-ui form input[type="password"]{width:100%;min-height:54px;margin:8px 0 18px;padding:12px 14px;border:1px solid var(--capsha-subtle);border-radius:var(--capsha-radius-md);outline:0;background:#fbfdfd;color:var(--capsha-theme-heading);box-shadow:inset 0 1px 2px rgba(1,13,9,.02);font-family:inherit;font-size:16px;line-height:1.4;transition:border-color var(--capsha-transition),box-shadow var(--capsha-transition),background var(--capsha-transition)}
body.login.capsha-auth-ui form .input:hover,body.login.capsha-auth-ui form input[type="text"]:hover,body.login.capsha-auth-ui form input[type="email"]:hover,body.login.capsha-auth-ui form input[type="password"]:hover{border-color:#a9bbb6;background:var(--capsha-white)}
body.login.capsha-auth-ui form .input:focus,body.login.capsha-auth-ui form input[type="text"]:focus,body.login.capsha-auth-ui form input[type="email"]:focus,body.login.capsha-auth-ui form input[type="password"]:focus{border-color:var(--capsha-program);background:var(--capsha-white);box-shadow:0 0 0 4px rgba(166,156,255,.24),0 8px 20px rgba(47,46,129,.08)}
body.login.capsha-auth-ui form label{color:var(--capsha-theme-heading);font-size:13px;font-weight:680}
body.login.capsha-auth-ui .wp-pwd{position:relative}
body.login.capsha-auth-ui .wp-pwd input.input{padding-right:52px}
body.login.capsha-auth-ui .button.wp-hide-pw{min-width:42px;min-height:42px;top:14px;right:6px;border:0;border-radius:11px;color:var(--capsha-program-accent);background:transparent;box-shadow:none}
body.login.capsha-auth-ui .forgetmenot{float:none;margin:3px 0 8px!important}
body.login.capsha-auth-ui .forgetmenot label{display:inline-flex;align-items:center;gap:8px;color:var(--capsha-grey-1);font-weight:560}
body.login.capsha-auth-ui input[type="checkbox"]{width:18px;height:18px;margin:0;border:1px solid #9ca9a5;border-radius:5px;accent-color:var(--capsha-program-accent);box-shadow:none}
body.login.capsha-auth-ui p.submit{float:none;margin:20px 0 0}
body.login.capsha-auth-ui .button-primary,body.login.capsha-auth-ui #wp-submit{width:100%;min-height:54px;float:none;display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border:1px solid transparent;border-radius:14px;color:var(--capsha-white);background:linear-gradient(135deg,var(--capsha-program-accent),#5B56B6 52%,var(--capsha-program));box-shadow:0 12px 24px rgba(47,46,129,.24);text-shadow:none;font-family:inherit;font-size:15px;font-weight:760;line-height:1.2;transition:transform var(--capsha-transition),box-shadow var(--capsha-transition),background var(--capsha-transition),opacity var(--capsha-transition)}
body.login.capsha-auth-ui .button-primary:hover,body.login.capsha-auth-ui #wp-submit:hover,body.login.capsha-auth-ui .button-primary:focus,body.login.capsha-auth-ui #wp-submit:focus{color:var(--capsha-white);border-color:transparent;background:linear-gradient(135deg,#433FA5,var(--capsha-program-accent) 52%,#7069DA);box-shadow:0 14px 30px rgba(47,46,129,.26),0 0 0 4px rgba(166,156,255,.18);transform:translateY(-1px)}
body.login.capsha-auth-ui #wp-submit:disabled,body.login.capsha-auth-ui #wp-submit[aria-disabled="true"],body.login.capsha-auth-ui .button-primary:disabled{opacity:.48!important;filter:saturate(.45);box-shadow:none!important;transform:none!important;cursor:not-allowed!important}

body.login.capsha-auth-ui a{color:var(--capsha-program-accent);font-weight:620;text-decoration:none;transition:color var(--capsha-transition),background var(--capsha-transition)}
body.login.capsha-auth-ui a:hover,body.login.capsha-auth-ui a:focus{color:#433FA5}
body.login.capsha-auth-ui a:focus-visible,body.login.capsha-auth-ui button:focus-visible,body.login.capsha-auth-ui input:focus-visible{outline:3px solid rgba(47,46,129,.26);outline-offset:3px}
body.login.capsha-auth-ui #nav,body.login.capsha-auth-ui #backtoblog{margin:18px 0 0;padding:0;color:var(--capsha-grey-3);text-align:center;font-size:13px}
body.login.capsha-auth-ui #nav{margin-top:22px}
body.login.capsha-auth-ui #backtoblog{margin-top:11px}
body.login.capsha-auth-ui #login_error,body.login.capsha-auth-ui .message,body.login.capsha-auth-ui .success{margin:0 0 20px;padding:14px 16px;border:1px solid #e6e5fb;border-left:4px solid var(--capsha-program);border-radius:12px;background:#f8f8ff;color:var(--capsha-theme-text);box-shadow:none;font-size:13px;line-height:1.55}
body.login.capsha-auth-ui #login_error{border-color:#f0d2cf;border-left-color:#b42318;background:#fff9f8}
body.login.capsha-auth-ui .privacy-policy-page-link{margin:18px 0 0;text-align:center;font-size:12px}
body.login.capsha-auth-ui .language-switcher{position:fixed;right:20px;bottom:18px;margin:0;z-index:20}
body.login.capsha-auth-ui .language-switcher form{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid rgba(3,53,41,.10);border-radius:12px;background:rgba(255,255,255,.88);box-shadow:0 8px 20px rgba(3,53,41,.08);backdrop-filter:blur(12px)}
body.login.capsha-auth-ui .language-switcher select{min-height:36px;border:1px solid var(--capsha-subtle);border-radius:9px}
body.login.capsha-auth-ui .language-switcher .button{min-height:36px;border-radius:9px}

/* Turnstile: styling and status only. CAPSHA never disables/enables or submits the form. */
body.login.capsha-auth-ui .cf-turnstile,body.login.capsha-auth-ui [id^="cf-turnstile"]{max-width:100%;margin:6px 0 8px!important;overflow:hidden;border-radius:12px}
body.login.capsha-auth-ui .cfturnstile-widget-label{margin:14px 0 6px!important;color:var(--capsha-theme-heading);font-family:inherit;font-weight:680}
body.login.capsha-auth-ui .cf-turnstile-br{display:none}
.capsha-turnstile-status{margin:8px 0 2px;display:flex;align-items:center;gap:8px;color:var(--capsha-grey-2);font-size:12px;line-height:1.4}
.capsha-turnstile-status::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--capsha-grey-4);box-shadow:0 0 0 4px rgba(170,168,167,.15)}
.capsha-turnstile-status.is-verified{color:var(--capsha-program-accent);font-weight:680}
.capsha-turnstile-status.is-verified::before{background:var(--capsha-program);box-shadow:0 0 0 4px rgba(166,156,255,.22)}
.capsha-auth-footer-note{margin:26px 0 0;color:var(--capsha-grey-3);text-align:center;font-size:11px}
.capsha-auth-footer-note strong{color:var(--capsha-program-accent)}

@media (max-width:900px){
  body.login.capsha-auth-ui{align-items:flex-start}
  body.login.capsha-auth-ui #login,body.login.capsha-auth-ui #login.capsha-layout-ready{width:min(680px,100%);min-height:auto;display:block;padding:0}
  body.login.capsha-auth-ui #login.capsha-layout-ready > :not(.capsha-auth-intro){width:min(560px,calc(100% - 64px));margin-left:auto;margin-right:auto}
  body.login.capsha-auth-ui #login.capsha-layout-ready > .capsha-auth-intro{width:100%;min-height:310px;margin:0;padding:34px clamp(28px,7vw,50px)}
  .capsha-auth-intro-copy{margin:42px 0 28px;padding:0}
  .capsha-auth-intro h2{font-size:clamp(34px,9vw,48px)}
  .capsha-auth-main-header{padding-top:38px}
  .capsha-auth-footer-note{padding-bottom:38px}
}

@media (max-width:520px){
  body.login.capsha-auth-ui{padding:0;background:var(--capsha-white)}
  body.login.capsha-auth-ui::before{display:none}
  body.login.capsha-auth-ui #login,body.login.capsha-auth-ui #login.capsha-layout-ready{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}
  body.login.capsha-auth-ui #login.capsha-layout-ready > :not(.capsha-auth-intro){width:calc(100% - 48px)}
  body.login.capsha-auth-ui #login.capsha-layout-ready > .capsha-auth-intro{width:100%;min-height:285px;padding:26px 24px 30px;border-radius:0 0 26px 26px}
  .capsha-auth-brand-copy span{max-width:190px}
  .capsha-auth-intro-copy{margin:38px 0 22px}
  .capsha-auth-intro h2{margin-bottom:12px;font-size:34px}
  .capsha-auth-intro-copy>p:last-child{font-size:14px}
  .capsha-auth-main-header{padding-top:32px;margin-bottom:24px}
  .capsha-auth-main-header h2{font-size:29px}
  .capsha-auth-footer-note{padding-bottom:34px}
  body.login.capsha-auth-ui .language-switcher{position:static;margin:18px auto;padding:0 20px}
  body.login.capsha-auth-ui .language-switcher form{justify-content:center;box-shadow:none}
}

@media (prefers-reduced-motion:reduce){body.login.capsha-auth-ui *,body.login.capsha-auth-ui *::before,body.login.capsha-auth-ui *::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
@media (prefers-contrast:more){body.login.capsha-auth-ui form .input,body.login.capsha-auth-ui form input[type="text"],body.login.capsha-auth-ui form input[type="email"],body.login.capsha-auth-ui form input[type="password"]{border-color:var(--capsha-grey-deep)}body.login.capsha-auth-ui a{text-decoration:underline}}
