/* VOIMAR Git Vault (git.voimar.co.za) - sign-in matches Konnector (konnector.voimar.co.za/login):
   the shared Voimar Auth "va-" look, copied rule-for-rule from Konnector, black page variant. */
@font-face { font-family: "Work Sans"; src: url("/assets/voimar/worksans.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Inter"; src: url("/assets/voimar/inter.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }

/* Voimar red across the rest of the vault (buttons, links, active tabs) */
:root {
  --color-primary: #d82827; --color-primary-contrast: #ffffff; --color-accent: #d82827;
  --color-primary-dark-1: #c62423; --color-primary-dark-2: #b31f1f; --color-primary-dark-3: #9f1c1b;
  --color-primary-dark-4: #8b1818; --color-primary-dark-5: #771514; --color-primary-dark-6: #631110; --color-primary-dark-7: #4f0e0d;
  --color-primary-light-1: #dc3d3c; --color-primary-light-2: #e05352; --color-primary-light-3: #e46968;
  --color-primary-light-4: #e87e7d; --color-primary-light-5: #ec9493; --color-primary-light-6: #f0a9a9; --color-primary-light-7: #f5bfbe;
  --color-primary-alpha-10: #d8282719; --color-primary-alpha-20: #d8282733; --color-primary-alpha-30: #d828274b;
  --color-primary-alpha-40: #d8282766; --color-primary-alpha-50: #d8282780; --color-primary-alpha-60: #d8282799;
  --color-primary-alpha-70: #d82827b3; --color-primary-alpha-80: #d82827cc; --color-primary-alpha-90: #d82827e1;
}

/* Sign-in pages: hide Forgejo's own chrome; the script in footer.tmpl builds the va- page */
html.vm-auth, html.vm-auth body { background: rgb(11, 11, 11) !important; }
html.vm-auth #navbar, html.vm-auth .page-footer, html.vm-auth .full.height > .page-content > .ui.grid > .column > .ui.container > .ui.top.attached.header { display: none !important; }
html.vm-auth .full.height { padding-bottom: 0 !important; }
html:not(.vm-ready) .page-content.user.signin, html:not(.vm-ready) .page-content.user.forgot { visibility: hidden; }

/* ---- Voimar Auth (va-) - from Konnector ---- */
.va-page { --va-red: #d82827; --va-red-dark: #b31f1f; --va-ink: #1f2937; --va-grey-50: #f9fafb; --va-grey-100: #f3f4f6; --va-grey-200: #e5e7eb; --va-grey-300: #d1d5db; --va-grey-500: #6b7280; --va-grey-600: #4b5563; --va-green: #15803d;
  background: var(--va-red); min-height: 100vh; color: var(--va-ink); flex-direction: column; justify-content: center; align-items: center; gap: 1.25rem; padding: 2rem 1rem; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; display: flex; }
.va-page--black { background: rgb(11, 11, 11); }
.va-page *, .va-page ::before, .va-page ::after { box-sizing: border-box; }
.va-wrap { width: 100%; max-width: 28rem; }
.va-logo { z-index: 10; border-radius: 1rem; width: 7rem; height: 7rem; margin: 0 auto -7rem; position: relative; overflow: hidden; box-shadow: rgba(0,0,0,.2) 0 10px 15px -3px, rgba(0,0,0,.2) 0 4px 6px -4px; }
.va-logo img { object-fit: cover; width: 100%; height: 100%; display: block; }
.va-card { background: #fff; border-radius: 1rem; overflow: hidden; box-shadow: rgba(0,0,0,.35) 0 25px 50px -12px; }
.va-card-body { padding: 8rem 2rem 2rem; }
.va-title-row { justify-content: center; align-items: center; gap: .75rem; margin-bottom: .5rem; display: flex; }
.va-title-icon { width: 2.5rem; height: 2.5rem; color: var(--va-red); background: rgba(216,40,39,.1); border-radius: .5rem; flex-shrink: 0; justify-content: center; align-items: center; display: flex; }
.va-title-icon svg { width: 1.25rem; height: 1.25rem; }
.va-title { color: var(--va-ink); margin: 0; font-family: "Work Sans", sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 2rem; letter-spacing: -0.01em; }
.va-eyebrow { text-align: center; letter-spacing: .025em; text-transform: uppercase; color: var(--va-red); margin: 0 0 .25rem; font-size: .75rem; font-weight: 600; }
.va-badge-row { justify-content: center; margin-bottom: 1.25rem; display: flex; }
.va-badge { background: var(--va-grey-100); letter-spacing: .025em; color: var(--va-grey-600); border-radius: 9999px; padding: .125rem .625rem; font-size: 10px; font-weight: 600; }
.va-intro { text-align: center; color: var(--va-grey-600); margin: 0 0 1.5rem; font-size: .875rem; line-height: 1.625; }
.va-footnote { text-align: center; color: var(--va-grey-600); margin: 1.5rem 0 0; font-size: .75rem; }
.va-legal { text-align: center; color: rgba(255,255,255,.85); max-width: 28rem; font-size: .6875rem; line-height: 1.6; margin: 0; }
.va-legal a { color: #fff; }
@media (max-width: 420px) { .va-card-body { padding: 8rem 1.25rem 1.5rem; } }

/* Forgejo's real form (kept as-is for CSRF, 2FA and passkeys), dressed as va-form / va-input / va-submit */
.va-card .ui.grid, .va-card .column, .va-card .ui.container { margin: 0 !important; padding: 0 !important; width: 100% !important; max-width: none !important; gap: 0 !important; display: block !important; }
.va-card .ui.top.attached.header { display: none !important; }
.va-card .ui.attached.segment { border: 0 !important; background: transparent !important; padding: 0 !important; box-shadow: none !important; margin: 0 !important; }
.va-card .ui.attached.segment.header { display: block !important; text-align: left !important; font: 400 .875rem -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; margin-top: .75rem !important; }
.va-card .ui.form { display: flex; flex-direction: column; gap: .75rem; font-family: inherit; }
.va-card .ui.form .field { margin: 0 !important; }
.va-card .ui.form .field > label { color: var(--va-grey-600) !important; margin: 0 0 .25rem !important; font-size: .75rem !important; font-weight: 600 !important; display: block; }
.va-card .ui.form .required.field > label::after { display: none !important; }
.va-card .ui.form input[type=text], .va-card .ui.form input[type=password], .va-card .ui.form input[type=email] {
  border: 1px solid var(--va-grey-200) !important; width: 100% !important; color: var(--va-ink) !important; background: #fff !important; border-radius: .5rem !important; outline: none !important; padding: .625rem 1rem !important; font: 1rem -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; box-shadow: none !important; transition: border-color .15s; }
.va-card .ui.form input:focus { border-color: var(--va-red) !important; }
.va-card .ui.checkbox label { color: var(--va-grey-600) !important; font-size: .875rem !important; }
.va-card .ui.checkbox input { accent-color: var(--va-red); }
.va-card .ui.primary.button { background: var(--va-red) !important; width: 100% !important; color: #fff !important; border: 0 !important; border-radius: .5rem !important; padding: .625rem 1rem !important; font: 600 1rem -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; transition: background-color .15s; min-height: 44px; }
.va-card .ui.primary.button:hover { background: var(--va-red-dark) !important; }
.va-card a { color: var(--va-red) !important; text-decoration: underline; font-size: .875rem; }
.va-card .ui.negative.message, .va-card .ui.message { margin: 0 0 .75rem !important; border-radius: .5rem !important; font-size: .875rem !important; }
.va-card #webauthn-error.tw-hidden { display: none !important; }
