/* Cassanova private entry. Existing Avenir and dark semantic tokens; no extra UI library. */
*{box-sizing:border-box}
.auth-page{margin:0;min-height:100dvh;background:var(--bg-subtle);color:var(--fg-primary);font-family:var(--font-sans);font-size:15px;line-height:1.5;padding:24px}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,1fr);max-width:1440px;min-height:calc(100dvh - 48px);margin:0 auto;background:var(--bg-page);border:1px solid var(--border-default);border-radius:16px;overflow:hidden}
.auth-identity{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:44px 48px;min-height:640px;background:#151e2b;overflow:hidden}
.auth-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.auth-identity::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,16,25,.55),rgba(10,16,25,.12) 35%,rgba(10,16,25,.92));pointer-events:none}
.auth-logo{width:244px;max-width:100%;height:auto;filter:brightness(0) invert(1)}
.auth-intro{padding-top:160px}
.auth-title{font-size:48px;font-weight:600;line-height:1.12;letter-spacing:-.025em;margin:0;color:#f8fafc}
.auth-description{color:#d2d9e3;font-size:17px;line-height:1.65;margin:24px 0 0}
.auth-access{display:flex;flex-direction:column;justify-content:center;padding:72px 64px 30px;min-width:0}
.auth-form-wrap{width:100%;max-width:380px;margin:auto}
.auth-context{font-size:13px;color:var(--fg-secondary)}
.auth-heading h1{font-size:34px;line-height:1.2;font-weight:600;letter-spacing:-.025em;margin:10px 0 12px;text-wrap:balance}
.auth-heading p{font-size:15px;color:var(--fg-secondary);margin:0;max-width:32ch}
.auth-heading{margin-bottom:36px}
.auth-field{margin-bottom:22px}
.auth-field label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}
.auth-field input{display:block;width:100%;min-height:52px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-subtle);color:var(--fg-strong);font:inherit;font-size:16px;padding:13px 15px;caret-color:var(--fg-link)}
.auth-field input:focus{border-color:var(--border-primary);outline:2px solid var(--border-primary);outline-offset:3px}
.auth-password{position:relative}
.auth-password:has(.auth-reveal:not([hidden])) input{padding-right:90px}
.auth-reveal{position:absolute;right:5px;top:5px;min-height:42px;min-width:76px;padding:8px 10px;background:transparent;border:0;border-radius:5px;font:inherit;font-size:13px;font-weight:600;color:var(--fg-link);cursor:pointer}
.auth-caps{font-size:13px;color:var(--fg-warning-on-subtle);margin:10px 0 0}
.auth-submit{display:flex;align-items:center;justify-content:center;gap:14px;min-height:52px;width:100%;margin-top:28px;background:var(--color-primary-dark);color:#f8fafc;border:1px solid var(--border-primary);border-radius:8px;font:inherit;font-weight:600;cursor:pointer;transition:background-color 150ms ease,transform 140ms cubic-bezier(.23,1,.32,1)}
.auth-arrow{font-size:22px;line-height:1}
.auth-submit:active{transform:scale(.985)}
.auth-submit:focus-visible,.auth-reveal:focus-visible,.auth-help summary:focus-visible{outline:2px solid var(--border-primary);outline-offset:4px;transition:none}
.auth-submit:focus-visible:active{transform:none}
.auth-submit:disabled{cursor:wait;background:#283d89;color:#e5e7eb}
.auth-submit-status{font-size:13px;min-height:20px;margin:9px 0 0;color:var(--fg-secondary);text-align:center}
.auth-help{margin-top:18px;font-size:13px;color:var(--fg-secondary)}
.auth-help summary{cursor:pointer;list-style:none;width:fit-content;padding:5px 0;text-decoration:underline;text-underline-offset:4px}
.auth-help summary::-webkit-details-marker{display:none}
.auth-help p{margin:12px 0 0;max-width:40ch;line-height:1.65;color:var(--fg-secondary)}
.auth-error{background:var(--bg-danger-subtle);color:var(--fg-danger-on-subtle);border:1px solid #9c6589;border-radius:8px;padding:13px 15px;font-size:13px;margin-top:4px}
.auth-error strong{font-weight:600}.auth-error p{margin:3px 0 0}
.auth-footer{display:flex;justify-content:space-between;gap:16px;width:100%;max-width:380px;margin:60px auto 0;font-size:12px;color:var(--fg-muted)}
.auth-skip{position:fixed;top:-80px;left:16px;background:var(--bg-page);color:var(--fg-link);padding:12px;z-index:2}.auth-skip:focus{top:12px}
[hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){.auth-submit:hover:not(:disabled){background:#2943b5}.auth-reveal:hover{background:var(--bg-surface-alt)}.auth-help summary:hover{color:var(--fg-link)}}
@media(max-width:1050px){.auth-access{padding:56px 36px 26px}.auth-identity{padding:36px}.auth-title{font-size:34px}}
@media(max-width:767px){.auth-page{padding:0}.auth-layout{display:flex;flex-direction:column;border:0;border-radius:0;min-height:100dvh}.auth-identity{min-height:auto;padding:30px 26px 28px}.auth-logo{width:210px}.auth-photo{object-position:center 38%}.auth-identity::after{background:rgba(10,16,25,.76)}.auth-intro{padding-top:34px}.auth-title{font-size:28px;line-height:1.2}.auth-title br{display:none}.auth-description{display:none}.auth-access{flex:1;padding:32px 26px 24px}.auth-heading{margin-bottom:28px}.auth-heading h1{font-size:28px}.auth-context{display:none}.auth-footer{margin-top:42px}.auth-form-wrap{max-width:440px}.auth-footer{max-width:440px}}
@media(max-height:740px) and (min-width:768px){.auth-page{padding:16px}.auth-layout{min-height:calc(100dvh - 32px)}.auth-identity{min-height:600px}.auth-access{padding-top:40px}.auth-footer{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.auth-submit{transition:none}.auth-submit:active{transform:none}}
