*, *::before, *::after { box-sizing: border-box; }
html { font-family: var(--vayen-font-family); color: var(--vayen-color-text); background: var(--vayen-color-canvas); text-rendering: optimizeLegibility; }
body { margin: 0; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { transition: border-color var(--vayen-transition-fast), background-color var(--vayen-transition-fast), color var(--vayen-transition-fast), box-shadow var(--vayen-transition-fast); }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--vayen-color-accent); outline-offset: 2px; box-shadow: var(--vayen-focus-ring); }
.vayen-button, .primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.625rem; padding: var(--vayen-space-2) var(--vayen-space-4); appearance: none; border: 1px solid var(--vayen-color-border-strong); border-radius: var(--vayen-radius-md); background: var(--vayen-color-surface); color: var(--vayen-color-text); cursor: pointer; font-weight: 650; line-height: 1.25; text-align: center; text-decoration: none; }
.vayen-button:hover, .secondary-button:hover { border-color: var(--vayen-color-secondary); background: var(--vayen-color-surface-subtle); }
.vayen-button--primary, .primary-button { border: 1px solid var(--vayen-color-accent); background: var(--vayen-color-accent); color: #fff; }
.vayen-button--primary:hover, .primary-button:hover { border-color: var(--vayen-color-accent-hover); background: var(--vayen-color-accent-hover); }
.vayen-button:disabled, .primary-button:disabled, .secondary-button:disabled { cursor: not-allowed; opacity: .55; }
.vayen-button--secondary, .secondary-button { border: 1px solid var(--vayen-color-border-strong); background: var(--vayen-color-surface); color: var(--vayen-color-text); }
.vayen-card, .card, .document-card { border: 1px solid var(--vayen-color-border); border-radius: var(--vayen-radius-lg); background: var(--vayen-color-surface); box-shadow: var(--vayen-shadow-sm); }
.vayen-field, :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]) { border: 1px solid var(--vayen-color-border-strong); border-radius: var(--vayen-radius-md); background: var(--vayen-color-surface); color: var(--vayen-color-text); }
.vayen-field:focus, :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]):focus { border-color: var(--vayen-color-accent); outline: 0; box-shadow: var(--vayen-focus-ring); }
.vayen-label, label { color: var(--vayen-color-text); font-size: var(--vayen-font-size-sm); font-weight: 600; }
.vayen-form { display: grid; gap: var(--vayen-space-4); }
.vayen-alert { padding: var(--vayen-space-3) var(--vayen-space-4); border: 1px solid var(--vayen-color-border); border-radius: var(--vayen-radius-md); background: var(--vayen-color-surface); }
.vayen-message { padding: var(--vayen-space-3) var(--vayen-space-4); border-radius: var(--vayen-radius-md); background: var(--vayen-color-surface-subtle); color: var(--vayen-color-text); }
.vayen-badge, .status-badge { display: inline-flex; align-items: center; width: fit-content; padding: var(--vayen-space-1) var(--vayen-space-3); border-radius: var(--vayen-radius-pill); background: var(--vayen-color-accent-soft); color: var(--vayen-color-accent); font-size: var(--vayen-font-size-xs); font-weight: 700; }
.vayen-table-wrap, .table-wrap { overflow-x: auto; border: 1px solid var(--vayen-color-border); border-radius: var(--vayen-radius-lg); background: var(--vayen-color-surface); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: var(--vayen-space-3) var(--vayen-space-4); border-bottom: 1px solid var(--vayen-color-border); text-align: left; }
th { color: var(--vayen-color-text-muted); font-size: var(--vayen-font-size-xs); letter-spacing: .03em; text-transform: uppercase; }
dialog, .vayen-dialog, .vayen-modal { max-width: min(36rem, calc(100% - 2rem)); border: 1px solid var(--vayen-color-border); border-radius: var(--vayen-radius-xl); background: var(--vayen-color-surface); box-shadow: var(--vayen-shadow-md); }
.vayen-sidebar { display: flex; flex-direction: column; width: var(--vayen-sidebar-width); border-right: 1px solid var(--vayen-color-border); background: var(--vayen-color-surface-subtle); }
.tenant-organization-logo { display: block; width: auto; max-width: 7.5rem; height: 2.5rem; object-fit: contain; }
.vayen-global-feedback { width: min(54rem, calc(100% - var(--vayen-space-8))); margin: calc(-1 * var(--vayen-space-7)) auto var(--vayen-space-6); padding-top: var(--vayen-space-4); border-top: 1px solid var(--vayen-color-border); text-align: center; }
.vayen-global-feedback a { color: var(--vayen-color-text-muted); font-size: var(--vayen-font-size-sm); text-decoration: none; }
.vayen-global-feedback a:hover { color: var(--vayen-color-accent); text-decoration: underline; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; border: 0 !important; white-space: nowrap !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
@media (max-width: 640px) { .vayen-global-feedback { width: calc(100% - var(--vayen-space-4)); } }
