:root { --zahner-ink: #101214; }
body { background: #101214; color: #f5f5f3; }
body, input, button { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.page_content, .page-content-wrapper, .web-page-content, .page-container, main.container, .container.page-container { padding: 0 !important; max-width: none !important; width: 100%; }
.page-breadcrumbs, .page-header { display: none; }
.zahner-access-shell { display: grid; grid-template-columns: 1.08fr 1fr; min-height: 100svh; background: #101214; }
.zahner-access-brand { display: flex; flex-direction: column; padding: 48px 64px 35px; background: radial-gradient(ellipse at 15% 75%, color-mix(in srgb, var(--zahner-accent) 10%, transparent), transparent 65%), #101214; border-right: 1px solid #2d3033; }
.zahner-wordmark { display: flex; align-items: center; gap: 20px; width: fit-content; color: #fff !important; text-decoration: none !important; }
.zahner-wordmark img { width: 150px; height: 70px; object-fit: contain; object-position: left center; background: #fff; border-radius: 8px; padding: 6px; }
.zahner-wordmark > span { color: var(--zahner-accent); font-size: 11px; font-weight: 700; letter-spacing: .18em; border-left: 1px solid #4a4d50; padding-left: 20px; }
.zahner-brand-message { margin: auto 0; padding: 90px 0; }
.zahner-eyebrow { display: flex; align-items: center; gap: 10px; color: #b9bdc0; font-size: 10px; letter-spacing: .14em; }
.zahner-eyebrow span { width: 6px; height: 6px; background: var(--zahner-accent); border-radius: 50%; }
.zahner-brand-message h1 { color: #f6f6f3; font-size: clamp(36px, 4vw, 64px); line-height: 1.12; font-weight: 550; letter-spacing: -.05em; margin: 24px 0; }
.zahner-brand-message h1 span { color: var(--zahner-accent); }
.zahner-brand-message > p:last-child { color: #b1b5b7; font-size: 15px; line-height: 1.7; }
.zahner-brand-bottom { display: flex; flex-wrap: wrap; gap: 8px; }
.zahner-brand-bottom span { color: #c7c9ca; padding: 8px 13px; border: 1px solid #3b3e41; border-radius: 30px; font-size: 11px; }
.zahner-access-form { display: flex; flex-direction: column; padding: 51px clamp(30px, 6vw, 96px) 34px; background: #1a1d1f; }
.zahner-form-kicker, .zahner-access-footer { display: flex; justify-content: space-between; color: #d7d9d6; font-size: 10px; letter-spacing: .12em; }
.zahner-form-kicker span, .zahner-access-footer { color: #969b9e; }
.zahner-core-login { margin: auto 0; padding: 65px 0; }
.zahner-core-login section { padding: 0 !important; margin: 0 !important; }
.zahner-core-login .page-card { max-width: 400px; width: 100%; margin: 0 auto; padding: 0 !important; background: transparent; border: 0; box-shadow: none; min-height: 0 !important; }
.zahner-core-login .page-card-head { text-align: left; padding: 0; margin-bottom: 34px; justify-content: flex-start; }
.zahner-core-login .page-card-head .app-logo { display: none; }
.zahner-core-login .page-card-head h4 { color: #f5f6f3; text-align: left; font-size: 30px; font-weight: 550; margin-bottom: 12px; }
.zahner-core-login .page-card-subtitle { color: #adb2b4 !important; text-align: left; font-size: 13px; line-height: 1.7; }
.zahner-core-login .form-control { height: 48px !important; background: #111416 !important; color: #f5f5f3 !important; border: 1px solid #3d4245 !important; border-radius: 7px; padding: 12px 40px !important; }
.zahner-core-login .form-control:focus { border-color: var(--zahner-accent) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--zahner-accent) 18%, transparent) !important; }
.zahner-core-login a { color: var(--zahner-accent); }
.zahner-core-login .page-card-actions { padding: 0; margin-top: 29px; }
.zahner-core-login .btn { min-height: 46px; border-radius: 7px; font-size: 12px; font-weight: 650; }
.zahner-core-login .btn-primary, .zahner-core-login .form-login .btn-login:not(.btn-ldap-login) { background: var(--zahner-accent) !important; border-color: var(--zahner-accent) !important; color: #15120b !important; }
.zahner-core-login .btn-default { background: transparent !important; color: #d8dadd !important; border: 1px solid #3d4245 !important; }
.zahner-access-footer { border-top: 1px solid #363a3d; padding-top: 20px; letter-spacing: 0; }
.zahner-access-footer a { color: #bbc0c2; text-decoration: none; }
@media (max-width: 700px) {
  .zahner-access-shell { display: flex; flex-direction: column; }
  .zahner-access-brand { padding: 22px 26px; border-right: 0; border-bottom: 1px solid #34383a; }
  .zahner-wordmark img { width: 115px; height: 52px; }
  .zahner-brand-message, .zahner-brand-bottom { display: none; }
  .zahner-access-form { padding: 29px 26px 24px; flex: 1; }
  .zahner-core-login { padding: 48px 0; }
}
