.ui-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.8s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-loading{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-body-sm);display:inline-flex}.ui-btn--primary,.ui-btn--secondary,.ui-btn--ghost,.ui-btn--danger,.ui-btn--link{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-sans);text-align:center;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-default), border-color var(--motion-fast) var(--ease-default), color var(--motion-fast) var(--ease-default);border:1px solid #0000;font-weight:600;line-height:1.25;display:inline-flex}.ui-btn--md{min-height:44px;padding:var(--space-2) var(--space-4);font-size:var(--text-body)}.ui-btn--sm{min-height:34px;padding:var(--space-1) var(--space-3);font-size:var(--text-body-sm)}.ui-btn--primary{background:var(--blue);color:var(--on-accent)}.ui-btn--primary:hover{background:var(--blue-hover)}.ui-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.ui-btn--secondary:hover{background:var(--color-navy-hover)}.ui-btn--ghost{color:var(--text);background:0 0}.ui-btn--ghost:hover{background:var(--color-navy-hover)}.ui-btn--danger{color:var(--error-fg);border-color:var(--error-border);background:0 0}.ui-btn--danger:hover{background:var(--error-bg)}.ui-btn--link{color:var(--blue);text-underline-offset:3px;background:0 0;text-decoration:underline;text-decoration-thickness:1px}.ui-btn--link.ui-btn--md,.ui-btn--link.ui-btn--sm{min-height:auto;padding:0}.ui-btn--link:hover{color:var(--blue-hover);text-decoration-thickness:2px}.ui-btn--link:disabled{color:var(--color-text-disabled);cursor:not-allowed;text-decoration-line:none}.ui-btn--primary:active:not(:disabled):not([aria-disabled=true]),.ui-btn--secondary:active:not(:disabled):not([aria-disabled=true]),.ui-btn--ghost:active:not(:disabled):not([aria-disabled=true]),.ui-btn--danger:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.ui-btn--primary:disabled,.ui-btn--secondary:disabled,.ui-btn--ghost:disabled,.ui-btn--danger:disabled{background:var(--surface2);color:var(--color-text-disabled);border-color:var(--border);cursor:not-allowed}.ui-btn[aria-busy=true]{cursor:progress}.ui-dialog-scrim{z-index:250;padding:var(--space-5) var(--space-4);background:rgb(var(--shadow-rgb) / .55);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.ui-dialog{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,100%);max-height:100%;box-shadow:0 24px 64px -24px rgb(var(--shadow-rgb) / .5);padding:var(--space-5);color:var(--text);overflow-y:auto}.ui-dialog__title{margin:0 0 var(--space-3);font-family:var(--font-serif);font-size:var(--text-heading);color:var(--text);font-weight:600}.ui-field{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-body);line-height:1.4}.ui-field::placeholder{color:var(--color-text-tertiary)}.ui-field:hover:not(:disabled){border-color:var(--color-text-tertiary)}.ui-field:disabled{background:var(--surface2);color:var(--color-text-disabled);cursor:not-allowed}.ui-field[aria-invalid=true]{border-color:var(--error)}.ui-field--area{resize:vertical;min-height:89px}.ui-field--select{cursor:pointer}.ui-checkbox{width:18px;height:18px;accent-color:var(--color-intelligence);cursor:pointer;flex:none}.ui-checkbox:disabled{cursor:not-allowed}.ui-checkbox[aria-invalid=true]{box-shadow:0 0 0 1px var(--error)}.ui-checkbox-row{align-items:center;gap:var(--space-2);color:var(--text);font-family:var(--font-sans);font-size:var(--text-body-sm);cursor:pointer;display:inline-flex}.ui-checkbox-row:has(.ui-checkbox:disabled){color:var(--color-text-disabled);cursor:not-allowed}.ui-icon-btn{border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-default), border-color var(--motion-fast) var(--ease-default), color var(--motion-fast) var(--ease-default);border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.ui-icon-btn--md{width:44px;height:44px}.ui-icon-btn--sm{width:34px;height:34px}.ui-icon-btn:active:not(:disabled){transform:translateY(1px)}.ui-icon-btn:disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-emptystate{gap:var(--space-2);padding:var(--space-5) var(--space-4);text-align:center;color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-body-sm);flex-direction:column;display:flex}.ui-emptystate__title{font-size:var(--text-body);color:var(--text);margin:0;font-weight:600}.ui-emptystate__body{margin:0}.ui-errorstate{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--error-border);border-radius:var(--radius-md);background:var(--error-bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-body-sm);flex-direction:column;display:flex}.ui-errorstate__title{font-size:var(--text-body);color:var(--error-fg);margin:0;font-weight:600}.ui-errorstate__body{margin:0}.ui-errorstate__action{margin-top:var(--space-2)}
