/* Nodly access — Cuaderno Vivo / Tinta y manteca.
   Presentation-only layer: Bloop · Hilo · Nudo · Ficha. */
.auth-gateway{
  --auth-ink:#313a4a;--auth-ink-deep:#293343;--auth-denim:#526487;
  --auth-denim-soft:#8492b4;--auth-cream:#f3eedc;--auth-paper:#fffdf7;
  --auth-butter:#e2c776;--auth-border:#ded7c8;--auth-muted:#69707a;
  grid-template-columns:minmax(0,52fr) minmax(500px,48fr);
  height:100dvh;min-height:680px;background:var(--auth-cream);color:var(--auth-ink);
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
}

/* Dark sheet: editorial, warm and matte rather than black. */
.auth-showcase{position:relative;display:block;min-height:100%;padding:0;overflow:hidden;isolation:isolate;background:var(--auth-ink);color:#fffaf0}
.auth-showcase::before,.auth-showcase::after{content:"";position:absolute;z-index:-2;display:block;pointer-events:none}
.auth-showcase::before{inset:-16% -14% auto auto;width:39%;height:38%;border:1px solid rgba(255,253,247,.16);border-radius:41% 59% 62% 38%/54% 44% 56% 46%;background:#e9dfcc;opacity:.2;transform:rotate(12deg)}
.auth-showcase::after{right:-24%;bottom:-24%;width:48%;height:46%;border:1px solid rgba(226,199,118,.3);border-radius:61% 39% 46% 54%/44% 58% 42% 56%;background:var(--auth-denim-soft);opacity:.24;transform:rotate(-18deg)}
.auth-showcase .auth-ambient{display:block;position:absolute;z-index:-1;pointer-events:none}
.auth-showcase .ambient-one{right:auto;bottom:auto;left:57%;top:48%;width:39%;height:56%;border:1px solid rgba(226,199,118,.4);border-radius:53% 47% 65% 35%/37% 61% 39% 63%;background:transparent;transform:rotate(9deg)}
.auth-showcase .ambient-two{left:auto;bottom:auto;right:-17%;top:31%;width:23%;height:43%;border:0;border-radius:58% 42% 37% 63%/43% 55% 45% 57%;background:#8492b4;opacity:.18;transform:rotate(8deg)}
.auth-showcase .ambient-three{top:auto;right:auto;left:51%;bottom:-25%;width:38%;height:25%;border:1px solid rgba(226,199,118,.38);border-radius:63% 37% 56% 44%/46% 59% 41% 54%;background:rgba(226,199,118,.62);opacity:.5;transform:none}
.auth-showcase .nodly-bloop{display:block;border-color:rgba(226,199,118,.62)}
.auth-showcase .nodly-bloop-one{right:-15%;top:8%;width:32%;height:23%;opacity:.46}.auth-showcase .nodly-bloop-two{left:-17%;bottom:1%;width:30%;height:21%;opacity:.42}.auth-showcase .nodly-bloop-three{display:none}
.auth-showcase .nodly-bloop i{border-color:var(--auth-butter);background:var(--auth-ink)}

.auth-showcase>.nodly-logo{position:absolute;top:6.8%;left:9%;z-index:3;color:#fffdf7}
.auth-showcase .nodly-logo-mark{width:54px;height:46px;background:transparent;box-shadow:none}.auth-showcase .nodly-logo-mark svg{width:52px;height:42px;stroke:var(--auth-butter);stroke-width:1.9;filter:none}
.auth-showcase .nodly-logo strong{font-size:25px;font-weight:700;letter-spacing:-.035em}
.auth-showcase-content{position:absolute;top:18.5%;left:9%;z-index:3;width:82%;max-width:650px;margin:0}
.nodly-brand-kicker{position:relative;display:inline-flex;align-items:center;margin-left:58px;color:var(--auth-butter);font-size:11px;font-weight:700;letter-spacing:.055em}
.nodly-brand-kicker::before{content:"";position:absolute;right:calc(100% + 12px);width:46px;height:1px;background:var(--auth-butter)}
.nodly-brand-kicker::after{content:"";position:absolute;right:calc(100% + 8px);width:7px;height:7px;border-radius:50%;background:var(--auth-butter)}
.auth-showcase-content h1{max-width:640px;margin:24px 0 0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(58px,4.35vw,78px);font-weight:400;line-height:.96;letter-spacing:-.025em;text-shadow:none}
.auth-showcase-content h1 span{color:#fffdf7}.auth-showcase-content h1 em{color:#f3df9c;font-style:normal}
.auth-showcase-content p{position:relative;max-width:510px;margin:31px 0 0;color:rgba(255,253,247,.77);font-size:clamp(15px,1.03vw,18px);line-height:1.55}
.auth-showcase-content p::before{display:none}.auth-showcase-content p strong{color:#fffdf7}
.auth-capabilities{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:35px;color:#fffdf7}
.auth-capabilities::before{content:"";position:absolute;left:15px;right:18px;bottom:7px;height:1px;background:rgba(226,199,118,.72)}
.auth-capabilities span{position:relative;display:grid;grid-template-columns:1fr;justify-items:start;align-items:start;color:#fffdf7}
.auth-capabilities span::after{content:"";position:absolute;left:11px;bottom:4px;width:7px;height:7px;border-radius:50%;background:var(--auth-butter);box-shadow:0 0 0 3px var(--auth-ink)}
.auth-capabilities span svg{width:24px;height:24px;margin:0 0 11px;color:#fffdf7;stroke-width:1.55}.auth-capabilities span b{font-size:13px;line-height:1.2;white-space:nowrap}
.auth-capabilities span small{margin:5px 0 20px;color:rgba(255,253,247,.7);font-size:10px;line-height:1.25;white-space:nowrap}

/* Operational Ficha and person Bloop. */
.auth-product-preview{position:absolute;left:9%;bottom:2.8%;z-index:3;display:block;width:min(57%,505px);height:187px;min-height:0;margin:0}
.preview-session-card{position:absolute;inset:0 auto auto 0;width:100%;padding:22px 25px 20px;border:1px solid rgba(255,253,247,.3);border-radius:19px;background:rgba(68,82,109,.78);box-shadow:none;color:#fffdf7;backdrop-filter:none}
.preview-session-card header span{color:#fffdf7;font-size:12px}.preview-session-card header button{color:#fffdf7}.preview-session-person{gap:17px;margin:21px 0}
.preview-session-person>div{position:relative;width:58px;height:58px;border:1px solid rgba(226,199,118,.78);border-radius:58% 42% 63% 37%/48% 61% 39% 52%;background:var(--auth-denim-soft);color:#fffdf7;font-size:14px;box-shadow:none}
.preview-session-person>div::after{content:"";position:absolute;inset:-6px 5px 4px -5px;border:1px solid rgba(226,199,118,.52);border-radius:43% 57% 47% 53%/59% 38% 62% 41%;transform:rotate(19deg)}
.preview-session-person strong{color:#fffdf7;font-size:15px}.preview-session-person small{margin-top:7px;color:rgba(255,253,247,.75);font-size:11px}
.preview-session-card footer{border-color:rgba(255,253,247,.18)}.preview-session-card footer span,.preview-session-card footer b{color:rgba(255,253,247,.82);font-size:10px}.preview-session-card footer span i{background:var(--auth-butter)}
.preview-ai-card{display:none!important}

/* Light sheet and form Ficha. */
.auth-panel{position:relative;display:flex;align-items:center;justify-content:center;min-height:100%;padding:5.4vh clamp(38px,4.2vw,68px);background:var(--auth-cream)}
.auth-theme-toggle{position:absolute;top:26px;right:30px;z-index:5;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid #d8d1c2;border-radius:999px;background:rgba(255,253,247,.72);color:var(--auth-ink);font:650 10px Inter,sans-serif;cursor:pointer}
.auth-theme-toggle svg{width:42px;height:20px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.auth-theme-toggle:hover{background:var(--auth-paper)}
.auth-theme-toggle:focus-visible{outline:3px solid rgba(226,199,118,.48);outline-offset:2px}
.auth-card{position:relative;display:flex;flex-direction:column;width:min(100%,620px);min-height:min(86vh,820px);padding:clamp(46px,5vh,62px) clamp(44px,4vw,62px) 60px;border:1px solid var(--auth-border);border-radius:28px;background:var(--auth-paper);box-shadow:0 18px 56px rgba(49,58,74,.1);overflow:auto}
.auth-heading h2{margin:0 0 12px;color:var(--auth-ink-deep);font-family:"DM Serif Display",Georgia,serif;font-size:43px;font-weight:400;line-height:1.08;letter-spacing:-.012em}.auth-heading p{color:#606879;font-size:15px}.auth-heading>span{color:var(--auth-denim);font-size:9px}
.auth-access-label{display:none}.auth-role-tabs{margin:36px 0 31px;padding:0;gap:0;border:1px solid var(--auth-border);border-radius:14px;background:transparent;overflow:hidden}
.auth-role-tabs button{min-height:58px;border-radius:0;background:transparent;color:#69707a;font-size:13px}.auth-role-tabs button svg{width:18px;height:18px}.auth-role-tabs button.active{border-radius:13px;background:var(--auth-denim);color:#fffdf7;box-shadow:none}
.auth-form{gap:20px}.auth-form>label,.auth-form-grid label{gap:9px;color:var(--auth-ink-deep);font-size:12px}
.auth-input,.auth-form input,.auth-form select{border-color:var(--auth-border);background:var(--auth-paper);color:var(--auth-ink)}.auth-input{height:59px;border-radius:13px}.auth-form .auth-input input{height:57px;font-size:14px}
.auth-form input:focus,.auth-form select:focus,.auth-input:focus-within{border-color:var(--auth-denim-soft);box-shadow:0 0 0 3px rgba(82,100,135,.1)}
.auth-input>svg,.password-field button{color:#6e7784}.password-field button{background:transparent}.auth-form-meta{margin:1px 0 8px}.auth-form-meta label{font-size:12px!important}.auth-form-meta button{color:var(--auth-denim);font-size:12px}
.auth-form-meta input,.auth-consent input{accent-color:var(--auth-denim)}
.auth-submit{position:relative;justify-content:center;height:61px;padding:0 9px 0 20px;border-radius:14px;background:var(--auth-denim);color:#fffdf7;font-size:15px;box-shadow:none}.auth-submit:hover{background:#465a7f;transform:none}
.auth-submit span{margin:auto}.auth-submit svg{position:absolute;right:7px;width:47px;height:47px;padding:13px;border-radius:50%;background:var(--auth-butter);color:var(--auth-ink-deep);box-shadow:none}
.google-auth,.secure-code-auth{height:60px;border-color:var(--auth-border);border-radius:14px;background:var(--auth-paper);color:var(--auth-ink);font-size:14px;box-shadow:none}
.auth-mode-switch{margin:34px 0 0;border-top:0;color:#737985;font-size:11px}.auth-mode-switch button{color:var(--auth-denim);font-size:11px}
.auth-panel-footer{left:clamp(44px,4vw,62px);right:clamp(44px,4vw,62px);color:#92928e}.auth-panel-footer button{color:var(--auth-denim)}.auth-owner-back{color:var(--auth-denim)}

/* The same composition in dark mode. */
html[data-nodly-theme="dark"] .auth-gateway{--auth-cream:#2a3036;--auth-paper:#323940;--auth-border:#4a535c;--auth-muted:#aeb8c2;background:#2a3036;color:#f3eee5}
html[data-nodly-theme="dark"] .auth-showcase{background:#252d3a}html[data-nodly-theme="dark"] .auth-panel{background:#2a3036}
html[data-nodly-theme="dark"] .auth-card{border-color:#46515b;background:#323940;box-shadow:none}
html[data-nodly-theme="dark"] .auth-heading h2,html[data-nodly-theme="dark"] .auth-form>label,html[data-nodly-theme="dark"] .auth-form-grid label{color:#f3eee5}
html[data-nodly-theme="dark"] .auth-heading p,html[data-nodly-theme="dark"] .auth-mode-switch{color:#b8c0c8}
html[data-nodly-theme="dark"] .auth-role-tabs{border-color:#4a535c}html[data-nodly-theme="dark"] .auth-role-tabs button{color:#bbc3cb}
html[data-nodly-theme="dark"] .auth-input,html[data-nodly-theme="dark"] .auth-form input,html[data-nodly-theme="dark"] .auth-form select,html[data-nodly-theme="dark"] .google-auth,html[data-nodly-theme="dark"] .secure-code-auth{border-color:#4a535c;background:#2e353d;color:#f3eee5}
html[data-nodly-theme="dark"] .auth-input input::placeholder,html[data-nodly-theme="dark"] .auth-form input::placeholder{color:#909aa4}
html[data-nodly-theme="dark"] .auth-theme-toggle{border-color:#505a64;background:#323940;color:#f3eee5}html[data-nodly-theme="dark"] .auth-panel-footer{color:#969fa8}
html[data-nodly-theme="dark"] .auth-form-meta label{color:#c1c9d1!important}
html[data-nodly-theme="dark"] .auth-form-meta button,html[data-nodly-theme="dark"] .auth-mode-switch button,html[data-nodly-theme="dark"] .auth-panel-footer button,html[data-nodly-theme="dark"] .auth-owner-back{color:#bdcae1}
html[data-nodly-theme="dark"] .auth-input>svg,html[data-nodly-theme="dark"] .password-field button{color:#b6c0cb}
html[data-nodly-theme="dark"] .auth-role-tabs button.active{background:#64779c;color:#fffdf7}
html[data-nodly-theme="dark"] .auth-submit{background:#64779c;color:#fffdf7}

@media(max-width:1200px){
  .auth-gateway{grid-template-columns:minmax(0,50fr) minmax(470px,50fr)}.auth-showcase-content h1{font-size:56px}.auth-capabilities{gap:14px}.auth-capabilities span small{white-space:normal}
  .auth-product-preview{width:60%}.auth-card{padding-inline:42px}.auth-panel-footer{left:42px;right:42px}
}
@media(max-height:920px) and (min-width:1101px){
  .auth-showcase-content{top:13.5%}
  .auth-showcase-content h1{font-size:clamp(50px,3.8vw,66px)}
  .auth-showcase-content p{margin-top:24px}
  .auth-capabilities{margin-top:26px}
}
@media(max-width:1100px){
  .auth-gateway{grid-template-columns:minmax(0,42fr) minmax(460px,58fr)}.auth-showcase-content{top:18%;left:9%}.auth-showcase-content h1{font-size:44px}.auth-showcase-content p{font-size:14px}
  .auth-capabilities{grid-template-columns:1fr 1fr;gap:18px 12px;margin-top:28px}.auth-capabilities::before,.auth-capabilities span::after{display:none}.auth-product-preview{display:none}.auth-card{min-height:calc(100vh - 64px)}
}
@media(max-width:820px){
  .auth-gateway{display:block;height:auto;min-height:100dvh;background:var(--auth-cream);overflow:auto}.auth-showcase{display:block;width:100%;height:310px;min-height:310px}
  .auth-showcase::before{right:-25%;width:62%;height:53%}.auth-showcase::after{right:-35%;bottom:-42%;width:78%}.auth-showcase .ambient-one{left:52%;top:29%;height:75%}.auth-showcase .ambient-two{display:none}.auth-showcase .ambient-three{left:-24%;bottom:-48%}
  .auth-showcase>.nodly-logo{top:23px;left:24px}.auth-showcase .nodly-logo-mark{width:46px;height:38px}.auth-showcase .nodly-logo-mark svg{width:44px;height:36px}.auth-showcase .nodly-logo strong{font-size:21px}
  .auth-showcase-content{top:101px;left:24px;width:calc(100% - 48px);max-width:390px}.nodly-brand-kicker{margin-left:42px;font-size:9px}.nodly-brand-kicker::before{width:32px}
  .auth-showcase-content h1{margin-top:18px;font-size:42px}.auth-showcase-content p{margin-top:20px;font-size:13px;line-height:1.45}.auth-capabilities,.auth-product-preview,.auth-security-line,.auth-showcase .nodly-bloop{display:none}
  .auth-panel{align-items:flex-start;min-height:0;padding:0 14px 30px;background:var(--auth-cream)}.auth-theme-toggle{position:absolute;top:-292px;right:18px;min-height:38px;padding:0 9px;background:rgba(255,253,247,.88)}
  .auth-theme-toggle span{display:none}.auth-theme-toggle svg{width:34px}.auth-mobile-brand{display:none}.auth-card{display:block;width:100%;max-width:540px;min-height:0;margin:0 auto;padding:31px 23px 25px;border-radius:23px;overflow:visible}
  .auth-heading h2{font-size:38px}.auth-role-tabs{margin-top:27px}.auth-panel-footer{position:static;display:block;margin-top:38px;text-align:center}.auth-panel-footer button{display:block;margin:5px auto 0}
}
@media(max-width:460px){
  .auth-showcase{height:292px;min-height:292px}.auth-showcase-content{top:91px}.auth-showcase-content h1{font-size:37px}.auth-showcase-content p{font-size:12.5px}.auth-panel{padding-inline:10px}.auth-theme-toggle{top:-275px}
  .auth-card{padding:28px 19px 22px;border-radius:21px}.auth-heading h2{font-size:35px}.auth-role-tabs button{min-height:54px}.auth-form{gap:18px}.auth-input{height:58px}.auth-submit,.google-auth,.secure-code-auth{height:58px}
}
@media(max-height:760px) and (min-width:901px){
  .auth-showcase-content{top:14.5%}.auth-showcase-content h1{font-size:48px}.auth-showcase-content p{margin-top:20px}.auth-capabilities{margin-top:18px}.auth-product-preview{bottom:4.2%;transform:scale(.86);transform-origin:left bottom}
  .auth-panel{padding-block:24px}.auth-card{min-height:calc(100vh - 48px);padding-top:42px}
}
/* Legal footer stays below the card and wraps as prose, not separate flex words. */
.auth-gateway .auth-panel{justify-content:flex-start}
.auth-gateway .auth-panel>.auth-card{flex:0 0 auto;min-height:0;margin-block:auto;padding-bottom:32px}
.auth-gateway .auth-panel>footer.auth-panel-footer{position:static;inset:auto;display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:min(100%,620px);max-width:620px;margin:24px auto 0;padding:16px 8px 0;border-top:1px solid var(--auth-border);color:var(--auth-ink);font-size:12px;line-height:1.7;text-align:center}
.auth-gateway .auth-panel-footer p{display:block;margin:0;max-width:100%;font:inherit;color:inherit;text-wrap:pretty}
.auth-gateway .auth-panel-footer a{display:inline;color:var(--auth-denim);font:inherit;text-decoration:underline;text-underline-offset:3px;white-space:normal}
.auth-gateway .auth-panel-footer button{display:block;margin:0;padding:8px 12px;min-height:36px;color:var(--auth-denim);font:500 11px Inter,sans-serif}
.auth-gateway .auth-panel-footer a:focus-visible,.auth-gateway .auth-panel-footer button:focus-visible{outline:2px solid var(--auth-denim);outline-offset:4px;border-radius:3px}

/* Invitation v2: explicit account identity and actionable guidance. */
.invitation-account-summary{display:flex;align-items:center;gap:12px;margin:22px 0 20px;padding:14px 16px;border:1px solid #d5deeb;border-radius:14px;background:#f4f6fa;color:#172f42}
.invitation-account-summary>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:11px;background:#fff7dc;color:#405f8f;border:1px solid #ead48d}
.invitation-account-summary svg{width:20px;height:20px}.invitation-account-summary div{display:grid;min-width:0;gap:3px}.invitation-account-summary small{color:#637083;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.invitation-account-summary strong{overflow:hidden;color:#172f42;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.invitation-password-help{display:block;margin-top:-8px;color:#637083;font-size:11px;line-height:1.45}.invitation-help{margin:18px 0;padding:16px;border-left:3px solid #d0ad52;border-radius:10px;background:#fff9e8}.invitation-help strong{color:#172f42;font-size:13px}.invitation-help p{margin:5px 0 0;color:#526276;font-size:12px;line-height:1.55}
