
/* Authentication-owned presentation: auth pages do not load the application sidebar CSS. */
.vesta-auth-body{margin:0;min-height:100vh;background:var(--vesta-app-bg);}
.vesta-auth-logo{display:block;max-width:160px;max-height:52px;width:auto;height:auto;object-fit:contain;}
.vesta-auth-card__brand .vesta-sidebar__logo-mark{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:var(--vesta-accent-soft);color:var(--vesta-accent);font-weight:700;font-size:17px;}
.vesta-auth-form{display:grid;gap:14px;}
.vesta-auth-card .vesta-empty-state{padding:16px;border:1px solid var(--vesta-border);border-radius:12px;background:var(--vesta-surface-soft);}
.vesta-auth-card .vesta-empty-state h3{margin:0 0 6px;font-size:16px;}
.vesta-auth-card .vesta-empty-state p{margin:0 0 14px;color:var(--vesta-text-2);font-size:13px;line-height:1.55;}
.vesta-auth-links a{color:var(--vesta-accent);text-decoration:none;font-weight:600;}
.vesta-auth-links a:hover{text-decoration:underline;}
.vesta-auth-links a:focus-visible{outline:none;box-shadow:var(--vesta-focus-ring);border-radius:4px;}
.vesta-auth-layout { min-height: 100vh; min-height:100dvh; display:grid; grid-template-columns: 1.1fr .9fr; background: var(--vesta-app-bg); }
.vesta-auth-layout__visual { position:relative; display:flex; align-items:center; justify-content:center; padding:48px; background: radial-gradient(circle at top left, rgba(201,120,50,.15), transparent 45%), linear-gradient(180deg,#151515 0%,#222 100%); color:#fff; }
.vesta-auth-layout__visual::before { content:''; position:absolute; inset:0; background-image: var(--vesta-auth-bg, none); background-size: cover; background-position: center; opacity: .18; }
.vesta-auth-layout__visual-inner { position:relative; max-width:520px; }
.vesta-auth-layout__visual h1 { font-size:36px; line-height:1.15; margin: 12px 0; }
.vesta-auth-layout__visual p { color: rgba(255,255,255,.82); font-size:15px; line-height:1.7; }
.vesta-auth-hero-label { display:inline-flex; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); border-radius:999px; padding:8px 12px; font-size:12px; }
.vesta-auth-layout__panel { display:flex; align-items:center; justify-content:center; padding:40px 24px; }
.vesta-auth-card { width:min(460px, 100%); background:#fff; border:1px solid var(--vesta-border); border-radius:20px; padding:28px; box-shadow:0 12px 40px rgba(0,0,0,.04); }
.vesta-auth-card__brand { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.vesta-auth-card__header h2 { margin:0 0 8px; font-size:26px; }
.vesta-auth-card__header p { margin:0 0 20px; color:var(--vesta-text-2); }
.vesta-auth-card__footer { margin-top:18px; color:var(--vesta-muted); font-size:12px; text-align:center; }
.vesta-auth-links { margin-top:16px; display:flex; justify-content:center; gap:10px; color:var(--vesta-text-2); font-size:13px; flex-wrap:wrap; }
.vesta-alert { border-radius:12px; padding:12px 14px; margin-bottom:16px; font-size:14px; }
.vesta-alert--error { background:#fff0f0; color:#8a2626; border:1px solid #f5caca; }
.vesta-alert--success { background:#edf9f2; color:#187344; border:1px solid #bae4cb; }
@media (max-width: 1023px) {
  .vesta-auth-layout { grid-template-columns: 1fr; }
  .vesta-auth-layout__visual { min-height: 240px; padding: 32px 24px; }
}
@media (max-width: 767px) {
  .vesta-auth-layout__visual { min-height: 180px; padding: 24px 18px; }
  .vesta-auth-layout__visual h1 { font-size: 28px; }
  .vesta-auth-layout__panel { padding: 18px 12px 24px; }
  .vesta-auth-card { padding: 20px 16px; border-radius: 16px; }
  .vesta-auth-card__header h2 { font-size: 22px; }
}
