.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--button-font-size);font-weight:var(--button-font-weight);line-height:1;text-align:center;white-space:nowrap;border-radius:var(--button-radius);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--button-bg-primary);color:var(--button-text-primary)}.btn--primary:hover:not(:disabled){background:var(--button-bg-primary-hover);transform:translateY(-1px);box-shadow:var(--wf-shadow-md)}.btn--secondary{background:var(--button-bg-secondary);color:var(--button-text-secondary);border-color:var(--button-border-secondary)}.btn--secondary:hover:not(:disabled){background:var(--button-bg-secondary-hover)}.btn--ghost{background:var(--button-bg-ghost);color:var(--button-text-ghost);border-color:var(--button-border-ghost)}.btn--ghost:hover:not(:disabled){background:var(--wf-bg-secondary)}.btn--danger{background:var(--button-bg-danger);color:var(--button-text-danger)}.btn--danger:hover:not(:disabled){background:var(--button-bg-danger-hover)}.btn--sm{padding:var(--button-padding-y-sm) var(--button-padding-x-sm);font-size:var(--button-font-size-sm);border-radius:var(--button-radius-sm)}.btn--lg{padding:var(--button-padding-y-lg) var(--button-padding-x-lg);font-size:var(--font-size-base)}.btn--icon{padding:var(--spacing-2);aspect-ratio:1}.btn--icon.btn--sm{padding:var(--spacing-1\.5)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);margin:var(--spacing-4) 0;box-shadow:var(--card-shadow);transition:all var(--transition-base)}.card:hover{box-shadow:var(--card-shadow-hover)}.card--interactive{cursor:pointer}.card--interactive:hover{background:var(--card-bg-hover);transform:translateY(-2px)}.card--elevated{background:var(--card-bg-elevated);box-shadow:var(--wf-shadow-lg)}.card--sm{padding:var(--card-padding-sm);border-radius:var(--card-radius-sm)}.card--lg{padding:var(--card-padding-lg)}.card--glassy{background:var(--card-glass-bg);border:1px solid var(--card-glass-border);backdrop-filter:blur(var(--card-glass-blur));box-shadow:var(--card-glass-shadow)}.card__header{margin-bottom:var(--spacing-4)}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--wf-text-primary);margin:0}.card__subtitle{font-size:var(--font-size-sm);color:var(--wf-text-secondary);margin-top:var(--spacing-1)}.card__body{color:var(--wf-text-primary)}.card__footer{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--card-border)}.input{width:100%;height:var(--input-height);padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--font-size-sm);color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);transition:all var(--transition-fast)}.input::-moz-placeholder{color:var(--input-placeholder)}.input::placeholder{color:var(--input-placeholder)}.input:hover:not(:disabled){border-color:var(--input-border-hover)}.input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:var(--input-focus-ring)}.input:disabled{background:var(--input-bg-disabled);cursor:not-allowed;opacity:.6}.input--sm{height:var(--input-height-sm);padding:var(--spacing-1\.5) var(--spacing-2\.5);font-size:var(--font-size-xs)}.input--lg{height:var(--input-height-lg);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base)}.input--error,.input--error:focus{border-color:var(--color-error-500)}.input--error:focus{box-shadow:0 0 0 3px hsl(var(--color-error-hsl)/.1)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--wf-text-primary);margin-bottom:var(--spacing-2)}.form-label--required:after{content:"*";color:var(--color-error-500);margin-left:var(--spacing-1)}.form-helper{color:var(--wf-text-muted)}.form-error,.form-helper{font-size:var(--font-size-xs);margin-top:var(--spacing-1\.5)}.form-error{color:var(--color-error-600)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--badge-padding-y) var(--badge-padding-x);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);line-height:1;border-radius:var(--badge-radius);white-space:nowrap}.badge--default{background:var(--badge-bg-default);color:var(--badge-text-default)}.badge--success{background:var(--badge-bg-success);color:var(--badge-text-success);border:1px solid var(--alert-success-border)}.badge--warning{background:var(--badge-bg-warning);color:var(--badge-text-warning);border:1px solid var(--alert-warning-border)}.badge--error{background:var(--badge-bg-error);color:var(--badge-text-error);border:1px solid var(--alert-error-border)}.badge--info{background:var(--badge-bg-info);color:var(--badge-text-info);border:1px solid var(--alert-info-border)}.badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge--xs{padding:.125rem .375rem;font-size:.625rem;border-radius:.25rem}.badge--sm{padding:.25rem .5rem;font-size:.6875rem;border-radius:.3125rem}.badge--md{padding:var(--badge-padding-y) var(--badge-padding-x);font-size:var(--badge-font-size);border-radius:var(--badge-radius)}.badge--lg{padding:.5rem .875rem;font-size:.875rem;border-radius:.5rem}.badge--xl{padding:.625rem 1rem;font-size:1rem;border-radius:.625rem}.flex-row{display:flex;gap:var(--spacing-4)}.flex-row--xs{gap:var(--spacing-1)}.flex-row--sm{gap:var(--spacing-2)}.flex-row--md{gap:var(--spacing-4)}.flex-row--lg{gap:var(--spacing-6)}.flex-row--xl{gap:var(--spacing-8)}.flex-row--center{align-items:center;justify-content:center}.flex-row--between{align-items:center;justify-content:space-between}.flex-row--start{align-items:flex-start}.flex-row--end{align-items:flex-end}.flex-row--wrap{flex-wrap:wrap}.flex-col{display:flex;flex-direction:column;gap:var(--spacing-4)}.flex-col--xs{gap:var(--spacing-1)}.flex-col--sm{gap:var(--spacing-2)}.flex-col--md{gap:var(--spacing-4)}.flex-col--lg{gap:var(--spacing-6)}.flex-col--xl{gap:var(--spacing-8)}.flex-col--center{align-items:center;justify-content:center}.grid{display:grid;gap:var(--spacing-4)}.grid--xs{gap:var(--spacing-2)}.grid--sm{gap:var(--spacing-3)}.grid--md{gap:var(--spacing-4)}.grid--lg{gap:var(--spacing-6)}.grid--xl{gap:var(--spacing-8)}.grid--cols-2{grid-template-columns:repeat(2,1fr)}.grid--cols-3{grid-template-columns:repeat(3,1fr)}.grid--cols-4{grid-template-columns:repeat(4,1fr)}.grid--auto-fit{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid--auto-fill{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.container--narrow{max-width:var(--container-max-width-narrow)}.container--wide{max-width:var(--container-max-width-wide)}.container--full{max-width:var(--container-max-width-full)}.stack>*+*{margin-top:var(--spacing-4)}.stack--xs>*+*{margin-top:var(--spacing-1)}.stack--sm>*+*{margin-top:var(--spacing-2)}.stack--md>*+*{margin-top:var(--spacing-4)}.stack--lg>*+*{margin-top:var(--spacing-6)}.stack--xl>*+*{margin-top:var(--spacing-8)}.cluster{flex-wrap:wrap;align-items:center}.cluster,.metric{display:flex;gap:var(--spacing-2)}.metric{flex-direction:column}.metric__label{font-size:var(--metric-label-size);color:var(--metric-label-color);font-weight:var(--font-weight-medium)}.metric__value{font-size:var(--metric-value-size);font-weight:var(--metric-value-weight);color:var(--wf-text-primary);line-height:1}.metric__change{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.metric__change--positive{color:var(--metric-change-positive)}.metric__change--negative{color:var(--metric-change-negative)}.metric__change--neutral{color:var(--metric-change-neutral)}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);border-radius:var(--border-radius-xl)}.glass--subtle{background:var(--glass-bg-subtle);backdrop-filter:blur(var(--glass-blur-sm))}.glass--strong{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);backdrop-filter:blur(var(--glass-blur-lg));box-shadow:var(--glass-shadow-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}