/* auth-revamp.css — split-screen login & register. Loaded after auth-polish.css. */
body { background: #f0f4f1 !important; background-attachment: scroll !important; }
.auth-page { padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important; min-height: 100vh; display: block !important; }
.auth-page::before { display: none !important; }
.auth-shell { width: 100%; max-width: none; margin: 0; justify-self: stretch; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); min-height: 100vh; }

.auth-aside {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: clamp(32px, 5vw, 64px); color: #eaf4ee;
  background:
    radial-gradient(520px 320px at 0 0, rgba(244, 191, 79, .16), transparent 70%),
    linear-gradient(155deg, #14503c 0%, #0d2b22 58%, #081f18 100%);
}
.aside-brand { display: flex; align-items: center; gap: 12px; font-family: var(--display); font-size: 26px; font-weight: 650; letter-spacing: -.05em; color: #fff; }
.aside-brand i { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: linear-gradient(145deg, #ffd978, #f4bf4f); color: #0d2b22; }
.aside-brand i svg { width: 22px; height: 22px; }
.aside-brand b { color: #f4bf4f; font-weight: inherit; }
.aside-copy { position: relative; z-index: 1; max-width: 460px; }
.aside-copy h2 { margin: 0 0 14px; font-family: var(--display); font-size: clamp(36px, 4.4vw, 58px); font-weight: 650; line-height: 1.02; letter-spacing: -.05em; color: #fff; text-wrap: balance; }
.aside-copy p { margin: 0; font-size: 16px; line-height: 1.6; color: rgba(234, 244, 238, .78); max-width: 38ch; }
.aside-curve { position: absolute; z-index: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 44%; pointer-events: none; }
.aside-curve .c-area { fill: url(#acFill); }
.aside-curve .c-line { fill: none; stroke: #f4bf4f; stroke-width: 3; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; animation: acDraw 2s cubic-bezier(.3, .7, .2, 1) both; }
.aside-curve .c-dot { fill: #0d2b22; stroke: #f4bf4f; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
@keyframes acDraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.aside-foot { position: relative; z-index: 1; font-size: 13px; color: rgba(234, 244, 238, .6); }

.auth-main { display: grid; place-items: center; padding: clamp(24px, 4vw, 56px); }
.auth-card { box-shadow: none !important; border: 0 !important; background: transparent !important; padding: 0 !important; width: min(420px, 100%) !important; border-radius: 0 !important; }
[data-theme="dark"] body { background: #08130f !important; }
.auth-card .brand { display: block; margin-bottom: 26px; }
.auth-card .brand-icon { display: none; }
.auth-card h1 { font-size: clamp(32px, 4vw, 40px); }
.auth-card .brand p { margin-top: 10px; font-size: 15px; }
.auth-card input { background: #fff; border: 1px solid var(--line, #dde5df); }
.auth-card .submit-btn { border-radius: 999px; min-height: 50px; background: #0d2b22; }
.auth-card .submit-btn:hover { background: #12382c; }

@media (max-width: 860px) {
  .auth-shell { grid-template-columns: 1fr; }
  .auth-aside { min-height: 0; padding: 28px 24px 120px; }
  .aside-copy h2 { font-size: 34px; }
  .aside-copy p, .aside-foot { display: none; }
  .aside-curve { height: 70%; }
}
@media (prefers-reduced-motion: reduce) { .aside-curve .c-line { animation: none; } }
.aside-foot { display: none; }
