/* VLB Core – központi szín- és vezérlőalap. A végleges arculatot később itt lehet módosítani. */
:root {
  --vlb-surface: #ffffff;
  --vlb-bg-warm: #fffef2;
  --vlb-bg-cool: #f2f8f4;
  --vlb-bg-light: #f9f7e9;
  --vlb-bg-soft: #f3f8f5;
  --vlb-bg-positive: #e1f5e8;
  --vlb-bg-warning: #fff8dd;
  --vlb-bg-danger: #fff0e6;
  --vlb-ink: #173729;
  --vlb-ink-strong: #142f27;
  --vlb-ink-secondary: #174532;
  --vlb-ink-muted: #506b5d;
  --vlb-placeholder: #5f716a;
  --vlb-accent: #166b44;
  --vlb-accent-hover: #10553b;
  --vlb-accent-text: #ffffff;
  --vlb-accent-light: #e7f1e9;
  --vlb-border: #b7cbbd;
  --vlb-border-strong: #8da69a;
  --vlb-focus: #a87900;
  --vlb-warning-ink: #614714;
  --vlb-warning-border: #bb7834;
  --vlb-danger-ink: #733c1e;
  --vlb-danger-border: #c59a7d;
  --vlb-link: #0b694d;
  --vlb-glass-panel: rgba(255,255,255,.86);
  --vlb-glass-border: rgba(255,255,255,.92);
  --vlb-glass-inset: rgba(255,255,255,.90);
  --vlb-glass-welcome: rgba(255,248,208,.94);
  --vlb-glass-shadow: rgba(23,64,42,.11);
  --vlb-shadow: rgba(23,60,35,.12);
  --vlb-shadow-strong: rgba(23,60,35,.30);
  --vlb-radius-control: 10px;
  --vlb-radius-panel: 12px;
}
/* One source for contrast, autofill, focus and disabled behaviors. Structural layouts live in their own CSS assets. */
:where(.vlbac,.vlb-advent,.vlb-core-ws,.vlbcore-notices,.vlb-core-profile,.vlb-core-admin-users) {
  color: var(--vlb-ink);
  color-scheme: light;
}
:where(.vlbac,.vlb-advent,.vlb-core-ws,.vlbcore-notices,.vlb-core-profile)
  :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea) {
  background-color: var(--vlb-surface) !important;
  color: var(--vlb-ink-strong) !important;
  -webkit-text-fill-color: var(--vlb-ink-strong) !important;
  caret-color: var(--vlb-ink-strong) !important;
  border: 1px solid var(--vlb-border-strong);
  opacity: 1 !important;
}
:where(.vlbac,.vlb-advent,.vlb-core-ws,.vlbcore-notices,.vlb-core-profile)
  :is(input,textarea)::placeholder { color: var(--vlb-placeholder) !important; opacity: 1; }
:where(.vlbac,.vlb-advent,.vlb-core-ws,.vlbcore-notices,.vlb-core-profile)
  input:-webkit-autofill, :where(.vlbac,.vlb-advent,.vlb-core-ws,.vlbcore-notices,.vlb-core-profile)
  input:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px var(--vlb-surface) inset !important;
  -webkit-box-shadow: 0 0 0 1000px var(--vlb-surface) inset !important;
  -webkit-text-fill-color: var(--vlb-ink-strong) !important;
  caret-color: var(--vlb-ink-strong) !important;
}
:where(.vlbac,.vlb-advent,.vlb-core-ws,.vlbcore-notices,.vlb-core-profile)
  :is(input,textarea,select,button,a):focus-visible {
  outline: 3px solid var(--vlb-focus) !important;
  outline-offset: 2px;
}
:where(.vlbac,.vlb-advent,.vlb-core-ws,.vlbcore-notices,.vlb-core-profile)
  :is(button,input,select,textarea):disabled {
  opacity: .86 !important;
  cursor: not-allowed !important;
}
.vlbac :is(button,.vlbac-as-link,.vlbac-secondary),
.vlb-advent :is(button,.vlba-button), .vlbcore-notices button, .vlbcore-notices-history button {
  background: var(--vlb-accent-light) !important;
  color: var(--vlb-ink-secondary) !important;
  border: 1px solid var(--vlb-border-strong) !important;
  text-shadow: none !important;
  opacity: 1;
  border-radius: var(--vlb-radius-control);
  cursor: pointer;
}
.vlbac :is(.vlbac-primary,button.vlbac-primary),
.vlb-advent :is(button:not(.vlba-secondary),.vlba-button:not(.vlba-secondary)) {
  background: var(--vlb-accent) !important;
  color: var(--vlb-accent-text) !important;
  border-color: var(--vlb-accent) !important;
}
.vlbac button.vlbac-muted { background: var(--vlb-bg-danger) !important; color: var(--vlb-danger-ink) !important; border-color: var(--vlb-danger-border) !important; }
.vlbac .vlbac-card, .vlb-advent .vlba-card, .vlb-core-ws .vlb-ws-card, .vlbcore-notices details { border-color: var(--vlb-border); }
.vlb-core-profile { max-width: 720px; padding: 20px; border: 1px solid var(--vlb-border); border-radius: var(--vlb-radius-panel); }
.vlb-core-profile-hint { font-size: .9em; color: var(--vlb-ink-muted); }
