:root{font-family:var(--ws-font);line-height:1.45;color:var(--ws-text);background:var(--ws-paper);font-synthesis:none;--green:var(--ws-forest);--muted:var(--ws-muted);--line:var(--ws-line)}*{box-sizing:border-box}body{margin:0}a{color:var(--green)}button,input{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 18px;border:1px solid var(--green);border-radius:var(--ws-radius);color:var(--ws-white);background:var(--green);font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer}button:hover,.button:hover{filter:brightness(1.14)}button:disabled{opacity:.55;cursor:default}.secondary{color:var(--green);background:var(--ws-white);border-color:var(--line)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--ws-forest);outline-offset:3px}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;min-height:100dvh}.auth-story{display:flex;flex-direction:column;justify-content:space-between;padding:46px clamp(28px,5vw,80px);background:var(--green);color:var(--ws-white);min-height:100dvh}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:1.5rem;font-weight:700;line-height:1.2}.brand img{filter:brightness(0) invert(1)}.brand small{display:block;color:var(--ws-muted);font-weight:400;font-size:.72rem;margin-top:4px;letter-spacing:.06em}.story-copy{padding:80px 0;max-width:610px}h1{font-size:clamp(2.4rem,4.2vw,4rem);line-height:1.12;letter-spacing:-.045em;margin:0}.story-copy>p:last-child{font-size:.98rem;line-height:1.85;color:var(--ws-muted);max-width:450px;margin-top:25px}.story-footer{font-size:.74rem;color:var(--ws-muted)}.auth-panel{display:flex;align-items:center;justify-content:center;padding:50px 36px}.auth-card{width:100%;max-width:390px}.auth-card h2{font-size:2.05rem;line-height:1.25;letter-spacing:-.04em;margin:0}.lead{font-size:.88rem;color:var(--muted);line-height:1.8;margin:16px 0 30px}fieldset{margin:0;border:0;padding:0;min-width:0}label{display:flex;flex-direction:column;gap:8px;font-size:.82rem;font-weight:600;margin-bottom:22px}input{width:100%;padding:11px 12px;border:1px solid var(--ws-control);border-radius:var(--ws-radius-control);min-height:47px;color:var(--ws-text);background:var(--ws-white)}form button,#oidc-login .button{width:100%}.mode-note{font-size:.72rem;line-height:1.75;color:var(--muted);margin-top:20px}.handoff-note{border-top:1px solid var(--line);padding-top:23px;margin-top:30px;font-size:.75rem;color:var(--muted);line-height:1.8}#auth-message:not(:empty){padding:14px 16px;background:var(--ws-field);border:1px solid var(--ws-line);border-radius:var(--ws-radius);margin:20px 0;font-size:.84rem;overflow-wrap:anywhere}#auth-loading{font-size:.85rem;color:var(--muted)}#already-signed-in p{margin:0 0 20px}#already-signed-in .button{margin-right:10px}#retry-session{margin-top:20px}.skip-link{position:absolute;top:-80px;left:16px;padding:10px;background:var(--ws-white);z-index:2}.skip-link:focus{top:10px}noscript p{padding:25px}[hidden]{display:none!important}@media(max-width:760px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:unset;padding:25px}.story-copy{padding:38px 0 10px}h1{font-size:2.4rem}.story-copy>p:last-child{font-size:.84rem;margin-top:18px}.story-footer{display:none}.auth-panel{padding:35px 25px 55px}.auth-card{max-width:460px}.auth-card h2{font-size:1.8rem}.brand{font-size:1.35rem}.brand img{width:37px;height:37px}.lead{font-size:.82rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Neutral authentication remains usable without a confirmed project. */
.entovia-auth .auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.entovia-auth .auth-story{background:var(--ws-paper);color:var(--ws-text);border-right:1px solid var(--ws-line)}
.entovia-auth .brand img{filter:none}.entovia-auth .brand small,.entovia-auth .story-copy>p:last-child,.entovia-auth .story-footer{color:var(--ws-muted)}
.entovia-auth .auth-panel{background:var(--ws-white)}
.entovia-auth .auth-card h2,.entovia-auth h1{font-size:24px;line-height:1.3;letter-spacing:-.02em}
.entovia-auth .auth-story,.entovia-auth .auth-panel{padding:var(--ws-space-7)}
.entovia-auth button,.entovia-auth .button,.entovia-auth input{border-radius:var(--ws-radius-control);min-height:44px}
.entovia-auth .secondary{border-color:var(--ws-control)}
.entovia-auth .brand{font-size:22px}.entovia-auth .auth-card{max-width:440px;min-width:0}
.entovia-auth .story-copy{padding:var(--ws-space-7) 0}.entovia-auth .lead{margin-bottom:var(--ws-space-6)}
.entovia-auth label{font-size:14px}.entovia-auth .lead,.entovia-auth .mode-note,.entovia-auth .handoff-note{font-size:13px;line-height:1.45}
.entovia-auth #invite-message{overflow-wrap:anywhere}.entovia-auth #accept-invitation{margin-bottom:var(--ws-space-4)}
@media(max-width:760px){.entovia-auth .auth-layout{grid-template-columns:1fr}.entovia-auth .auth-story{min-height:unset;border-right:0;border-bottom:1px solid var(--ws-line)}.entovia-auth .auth-story,.entovia-auth .auth-panel{padding:var(--ws-space-5)}.entovia-auth .story-copy{padding:var(--ws-space-6) 0 0}.entovia-auth .auth-panel{padding-bottom:var(--ws-space-7)}}

/* The identity column contains no promotional story. */
.entovia-auth .auth-story{justify-content:center;gap:var(--ws-space-4)}
.entovia-auth .auth-story>p{margin:0;color:var(--ws-muted)}
.entovia-auth summary:focus-visible{outline:3px solid var(--ws-forest);outline-offset:3px}
