*:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;box-shadow:var(--ui-focus)}
button,a,input,select,textarea{font:inherit}.icon-button{min-width:44px;min-height:44px}
.ui-state{display:grid;gap:var(--ui-space-3);place-items:center;padding:var(--ui-space-8);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-card);text-align:center;color:var(--ui-text)}
.ui-state>strong{color:var(--ui-text-strong)}.ui-state--error{border-color:color-mix(in srgb,var(--ui-danger) 35%,var(--ui-border))}.ui-state--warning{border-color:color-mix(in srgb,var(--ui-warning) 35%,var(--ui-border))}
.ui-skeleton{position:relative;overflow:hidden;background:color-mix(in srgb,var(--ui-border) 62%,transparent);border-radius:var(--ui-radius-sm);color:transparent!important;min-height:1em}.ui-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:ui-skeleton 1.25s infinite}@keyframes ui-skeleton{to{transform:translateX(100%)}}
body.ui-drawer-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:430px){body{font-size:max(12px,var(--ui-font-body))}small,.helper,.field-help{font-size:max(10px,var(--ui-font-helper))}}
