/* Official source artwork: LWG / Group Media-Materials / LWG Biotech Logo.
   Keep the supplied artwork intact on white. See docs/BRANDING.md. */
:root {
  --lw-brand-orange: #f06100;
  --lw-brand-action: #ad4300;
  --lw-brand-action-hover: #893500;
  --lw-brand-soft: #fff1e7;
  --lw-brand-ink: #202020;
  --lw-brand-muted: #8c7775;
  --lw-slate-50: #faf9f7;
  --lw-slate-100: #f3f2ef;
  --lw-slate-200: #e6e3de;
  --lw-slate-300: #d0ccc6;
  --lw-slate-400: #aaa59f;
  --lw-slate-500: #716d68;
  --lw-slate-600: #524f4b;
  --lw-slate-700: #444240;
  --lw-slate-800: #333333;
  --lw-slate-900: #202020;
  --lw-gradient-dark: linear-gradient(180deg, #2c2c2c, #202020);
  --lw-gradient-brand: linear-gradient(135deg, #b84800, #a13e00);
  --lw-accent-primary: var(--lw-brand-action);
  --lw-glow-brand: 0 2px 5px rgba(80, 35, 10, .14);
  --lw-glow-brand-hover: 0 3px 8px rgba(80, 35, 10, .2);
}

.lw-brand-logo { display: block; width: 100%; height: auto; object-fit: contain; }
.lw-logo-plate { background: #fff; padding: 12px; border-radius: 10px; }
.lw-brand { display: block; padding: 18px 18px 16px; }
.lw-brand .lw-brand-logo { max-height: 104px; }
.lw-product-name {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 13px; color: #fff; font-size: .92rem; font-weight: 650;
  letter-spacing: .01em;
}
.lw-product-name span { color: #bbb5ae; font-size: .68rem; font-weight: 500; }
.lw-nav-section { color: #b7b1ab; font-size: .64rem; }
.lw-nav-item { transition: background .15s, color .15s; }
.lw-nav-item.active {
  background: rgba(240, 97, 0, .13); color: #ffb888;
  border-left-color: var(--lw-brand-orange);
}
.lw-nav-item.active .ni-icon { filter: none; }
.lw-nav-item .ni-icon { display: grid; place-items: center; }
.lw-nav-item .ni-icon svg { width: 19px; height: 19px; }
.lw-avatar { background: #45413e; color: #ffd2b5; border: 1px solid #69615a; }
.lw-header { border-top: 3px solid var(--lw-brand-orange); }
.lw-mobile-brand { display: none; }
.lw-btn-primary:hover { background: var(--lw-brand-action-hover); transform: none; }
.lw-btn-primary:active { background: #713000; }
.lw-input:focus, .lw-select:focus, .lw-textarea:focus {
  border-color: var(--lw-brand-action); box-shadow: 0 0 0 3px rgba(173, 67, 0, .12);
}
:where(button, a, input, select, textarea):focus-visible {
  outline: 3px solid var(--lw-brand-orange); outline-offset: 3px;
}

/* Sign-in remains a compact, single-action lab entry point. */
.lw-login {
  min-height: 100vh; min-height: 100svh; display: grid; place-items: center;
  padding: 28px 20px; background: var(--lw-gradient-dark);
  font-family: var(--lw-font-sans, "Segoe UI", system-ui, sans-serif);
}
.lw-login-card {
  width: 100%; max-width: 430px; padding: 32px; background: #fff;
  border-radius: 16px; border-top: 4px solid var(--lw-brand-orange);
  text-align: center; color: var(--lw-brand-ink); box-shadow: 0 16px 50px #0003;
}
.lw-login-card .lw-brand-logo { height: 172px; width: auto; max-width: 100%; margin: 0 auto 24px; }
.lw-login-eyebrow { color: var(--lw-brand-action); font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.lw-login-title { font-size: 1.9rem; font-weight: 700; letter-spacing: -.035em; margin: 6px 0 8px; }
.lw-login-desc { color: #635f5a; font-size: .9rem; line-height: 1.6; margin: 0 0 24px; }
.lw-login-note { margin-top: 20px; font-size: .75rem; color: #716d68; line-height: 1.5; }
.lw-login-error { margin-top: 16px; padding: 12px; border: 1px solid #fecaca; border-radius: 8px; background: #fef2f2; color: #991b1b; font-size: .85rem; text-align: left; }
.lw-ms-icon { display: inline-grid; grid-template-columns: repeat(2, 7px); gap: 2px; flex-shrink: 0; }
.lw-ms-icon i { width: 7px; height: 7px; background: currentColor; }
.lw-loading { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 22px; color: #635f5a; }
.lw-loading .lw-brand-logo { width: 100px; }

/* Sales uses the same identity while retaining its functional price/status colors. */
body.lw-sales { font-family: var(--lw-font-sans, "Segoe UI", system-ui, sans-serif); background: #202020; }
.lw-sales #loginScreen { background: var(--lw-gradient-dark); }
.lw-sales .login-card { background: #fff; color: #202020; border-top: 4px solid var(--lw-brand-orange); }
.lw-sales .login-card .lw-brand-logo { width: 126px; margin: 0 auto 24px; }
.lw-sales .login-title { color: #202020; }
.lw-sales .login-subtitle, .lw-sales .login-desc { color: #635f5a; }
.lw-sales .btn-signin { background: var(--lw-gradient-brand); box-shadow: var(--lw-glow-brand); }
.lw-sales .btn-signin:hover { background: var(--lw-brand-action-hover); transform: none; box-shadow: var(--lw-glow-brand-hover); }
.lw-sales .top-bar { background: #262626; border-top: 3px solid var(--lw-brand-orange); flex-wrap: wrap; gap: 14px; }
.lw-sales .top-bar-brand .lw-logo-plate { width: 132px; padding: 8px; }
.lw-sales .brand-tag, .lw-sales .page-meta, .lw-sales .stat-label, .lw-sales .owner-count, .lw-sales .strain-table th { color: #b7b1ab; }
.lw-sales .stat-sub, .lw-sales .price-tbd, .lw-sales .sync-note, .lw-sales .empty-state { color: #aaa59f; }

/* Shared identity for server-rendered QR landing pages; no label payload changes. */
.lw-scan-logo { width: 144px; height: auto; object-fit: contain; display: block; }
.lw-scan-footer { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; }
.lw-scan-footer strong { color: var(--lw-brand-action); }
.lw-scan-footer .lw-scan-logo { width: 32px; }
.lw-scan.topbar, .lw-scan .topbar { background: var(--lw-gradient-dark); border-top: 3px solid var(--lw-brand-orange); }
.lw-scan .topbar .row { align-items: flex-start; flex-wrap: wrap; }
.lw-scan .topbar .brand { opacity: 1; letter-spacing: .02em; }
.lw-scan .topbar .lw-logo-plate { padding: 6px; border-radius: 6px; }
.lw-scan .topbar .lw-scan-logo { width: 114px; }
.lw-unassigned { background: var(--lw-slate-50); font-family: var(--lw-font-sans); }
.lw-unassigned .header .lw-scan-logo { width: 220px; max-width: 100%; margin: 0 auto 14px; }
.lw-unassigned .header h1, .lw-unassigned .header .qr-id { color: var(--lw-brand-ink); }
.lw-unassigned .btn-ms, .lw-unassigned .btn-primary { background: var(--lw-brand-action); }
.lw-unassigned .btn-ms:hover, .lw-unassigned .btn-primary:hover { background: var(--lw-brand-action-hover); }
.lw-unassigned .form-group :is(input,select,textarea):focus { border-color: var(--lw-brand-action); }
.lw-unassigned .tab.active, .lw-unassigned .brand strong { color: var(--lw-brand-action); }

@media (max-width: 900px) {
  .lw-mobile-brand { display: block; width: 24px; height: 32px; object-fit: contain; flex-shrink: 0; }
  .lw-page-head { align-items: flex-start; }
}
@media (max-width: 480px) {
  .lw-login-card { padding: 26px 22px; }
  .lw-login-card .lw-brand-logo { height: 144px; }
  .lw-sales .login-card { padding: 30px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
