/* Authentication only: independent from the signed-in Enigma layout. */
.auth-page { margin: 0; color: #20242b; background: #f5f5f2; font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.auth-page *, .auth-page *::before, .auth-page *::after { box-sizing: border-box; }
.auth-shell { display: grid; grid-template-columns: minmax(360px, .95fr) minmax(460px, 1.05fr); min-height: 100vh; min-height: 100svh; }
.auth-brand { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 48px 12%; color: #fff; background: radial-gradient(ellipse at 5% 100%, #3d3929 0, transparent 57%), #181c20; }
.auth-identity { display: inline-flex; align-items: center; gap: 14px; align-self: flex-start; position: relative; z-index: 1; color: #fff; text-decoration: none; }
.auth-logo { display: grid; place-items: center; width: 58px; height: 64px; border-radius: 15px; background: #fff; padding: 8px; }
.auth-logo img { max-height: 48px; width: 100%; object-fit: contain; }
.auth-identity strong { display: block; font-size: 20px; font-weight: 650; letter-spacing: -.4px; }
.auth-identity small { display: block; margin-top: 4px; color: #b7babd; font-size: 12px; }
.auth-brand-copy { position: relative; z-index: 1; margin: auto 0; padding: 90px 0; max-width: 460px; }
.auth-eyebrow { color: #f6ba43; font-size: 10px; letter-spacing: 2.1px; font-weight: 700; }
.auth-brand h1 { margin: 26px 0 22px; font-size: clamp(36px, 3.8vw, 58px); font-weight: 550; line-height: 1.13; letter-spacing: -2px; }
.auth-brand h1 em { font-style: normal; color: #ffc45b; }
.auth-brand-copy p { max-width: 340px; color: #bec1c4; font-size: 15px; line-height: 1.85; }
.auth-brand-rule { width: 45px; height: 2px; background: #d69e38; margin: 34px 0 20px; }
.auth-brand-caption, .auth-brand-footer { color: #bfc1c3; font-size: 11px; letter-spacing: .4px; }
.auth-brand-footer { position: relative; z-index: 1; display: flex; gap: 9px; align-items: center; }
.auth-dot { width: 6px; height: 6px; border-radius: 50%; background: #efb448; }
.auth-orbit { position: absolute; width: 560px; height: 560px; border: 1px solid #ffffff0c; border-radius: 50%; right: -290px; bottom: -255px; box-shadow: 0 0 0 65px #ffffff03, 0 0 0 130px #ffffff03; pointer-events: none; }
.auth-workspace { display: flex; flex-direction: column; padding: 46px clamp(28px, 6vw, 100px) 28px; }
.auth-workspace-top { display: flex; justify-content: space-between; gap: 16px; color: #757b82; font-size: 11px; }
.auth-workspace-top span:first-child { font-weight: 700; letter-spacing: 2px; }
.auth-card { width: 100%; max-width: 410px; margin: auto; padding: 54px 0; }
.auth-card-mark { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 26px; border: 1px solid #e3dfd4; border-radius: 14px; background: #eeeae0; color: #7b5b23; }
.auth-card > .text-center { text-align: left; }
.auth-card h2 { margin: 0; color: #20242b; font-size: 29px; font-weight: 650; letter-spacing: -.8px; line-height: 1.25; }
.auth-card > .text-center > :last-child:not(h2) { margin-top: 10px; color: #69717b; font-size: 14px; line-height: 1.7; }
.auth-card form { margin-top: 28px; }
.auth-card form > div + div { margin-top: 20px; }
.auth-card label:not(:has(input[type="checkbox"])) { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; color: #343b44; }
.auth-card input:not([type="checkbox"]):not([type="hidden"]) { width: 100%; height: 49px; padding: 12px 14px; border: 1px solid #d9dce0; border-radius: 9px; background: #fff; color: #20242b; font-size: 14px; box-shadow: 0 2px 3px #18202b02; }
.auth-card input::placeholder { color: #9198a0; }
.auth-card input:focus { outline: 3px solid #e6bd633b; border-color: #ac7d22; box-shadow: none; }
.auth-card input[type="checkbox"] { accent-color: #252a30; border-color: #bec3c9; border-radius: 4px; width: 16px; height: 16px; }
.auth-card a { color: #5e471a; text-underline-offset: 4px; }
.auth-card a:hover { color: #15191e; text-decoration: underline; }
.auth-card .btn { display: flex; justify-content: center; align-items: center; min-height: 49px; padding: 12px 16px; width: 100%; border: 1px solid #252a30; border-radius: 9px; color: #fff; background: #252a30; font-size: 14px; font-weight: 600; box-shadow: 0 5px 12px #18202b10; transition: background .15s; }
.auth-card .btn:hover { background: #414750; }
.auth-card form > .btn { margin-top: 26px; }
.auth-card form[action$="logout"] .btn { color: #4c5560; border-color: #d8dce0; background: transparent; box-shadow: none; }
.auth-page :is(a, button):focus-visible { outline: 3px solid #bf8b28; outline-offset: 4px; }
.auth-card-note { border-top: 1px solid #e0e2e3; margin-top: 30px; padding-top: 20px; font-size: 11px; color: #737b84; line-height: 1.6; }
.auth-copyright { text-align: center; color: #80868d; font-size: 10px; line-height: 1.6; }
.auth-password-wrap { position: relative; }
.auth-card .auth-password-wrap input { padding-right: 78px !important; }
.auth-password-toggle { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); border: 0; border-radius: 4px; padding: 7px; background: transparent; color: #665023; font-size: 11px; font-weight: 600; cursor: pointer; }
.auth-card [role="status"] { padding: 12px 14px; border: 1px solid #c8dbcd; border-radius: 9px; color: #2b6040; background: #eef5ef; font-size: 13px; }
.auth-card .text-danger, .auth-card .text-red-600 { color: #b42336; font-size: 12px; }
.auth-account { padding: 16px; border: 1px solid #dedfe0; border-radius: 10px; background: #eeefec; overflow-wrap: anywhere; }
@media (min-width: 1600px) { .auth-brand { padding-left: 16%; } }
@media (max-width: 900px) { .auth-shell { grid-template-columns: .85fr 1.15fr; } .auth-brand { padding: 36px 28px; } .auth-brand h1 { font-size: 38px; } .auth-workspace { padding: 36px 32px 24px; } }
@media (max-width: 700px) { .auth-shell { display: flex; flex-direction: column; } .auth-brand { padding: 22px 26px; } .auth-brand-copy, .auth-brand-footer, .auth-orbit { display: none; } .auth-logo { width: 42px; height: 48px; border-radius: 10px; padding: 5px; } .auth-identity strong { font-size: 17px; } .auth-identity small { font-size: 11px; } .auth-workspace { flex: 1; padding: 26px 24px 20px; } .auth-workspace-top { display: none; } .auth-card { padding: 20px 0 38px; } .auth-card h2 { font-size: 27px; } .auth-card .flex.items-center.justify-between { flex-wrap: wrap; gap: 14px; font-size: 12px; } .auth-card .flex.items-center.justify-between .text-sm { font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .auth-card .btn { transition: none; } }
