/* Nex-Gen OOH: shared product skin. Tenant overrides still use the existing brand resolver. */
:root { --gold: #d4af37; --gold-soft: #f7efd6; --focus-ring: #806017; }
.sidebar { background: #fff; border-right: 1px solid var(--border); }
.sidebar-header { border-bottom: 1px solid var(--border); }
.logo { gap: 10px; align-items: center; color: var(--text-primary); }
.product-mark { object-fit: contain; flex-shrink: 0; }
#brandName { font-size: 17px; font-weight: 650; letter-spacing: -.035em; line-height: 1.15; }
.nav-link.active { color: #5e4512; background: var(--gold-soft); border-color: #e7d492; }
.btn-primary { background: var(--gold); color: #211b0e; border: 1px solid #b8942c; font-weight: 650; }
.btn-primary:hover { background: #c6a02d; color: #211b0e; }
.btn-primary:disabled { opacity: .55; }
.input:focus, select:focus, textarea:focus { border-color: var(--focus-ring); box-shadow: 0 0 0 3px #d4af3726; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 32px 20px; }
.login-panel { width: 420px; max-width: 100%; }
.login-identity { text-align: center; margin-bottom: 30px; }
.login-identity img { width: 76px; height: 76px; object-fit: contain; margin: 0 auto 14px; }
.login-identity h1 { color: var(--text-primary) !important; letter-spacing: -.045em; font-size: 30px !important; }
.login-product-line { text-transform: uppercase; letter-spacing: .18em; color: var(--accent); font-size: 10px; font-weight: 650; margin-bottom: 10px; }
.login-credit { margin-top: 22px; text-align: center; color: var(--text-muted); font-size: 12px; }
@media (max-width: 600px) { .login-shell { padding: 24px 16px; } .btn { min-height: 40px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

.login-identity img[src="/assets/nex-gen-ooh-logo.png"] { max-height: none !important; width: 96px; height: 96px; }
