.ui-button{border-radius:var(--radius-md);font-family:var(--font-subheading);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;border:1px solid #0000;outline:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.ui-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ui-button-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem}.ui-button-md{padding:10px var(--spacing-lg);font-size:.95rem}.ui-button-lg{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);font-size:1.05rem}.ui-button-icon{padding:var(--spacing-sm);aspect-ratio:1}.ui-button-primary{background:var(--color-primary-500);color:var(--text-inverse);box-shadow:0 4px 15px #1a5c8340}.ui-button-primary:hover{background:var(--color-primary-600);transform:translateY(-2px);box-shadow:0 6px 20px #1a5c8359}.ui-button-secondary{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-primary);box-shadow:var(--shadow-sm)}.ui-button-secondary:hover{background:var(--surface-primary);border-color:var(--color-primary-500)}.ui-button-accent{background:linear-gradient(135deg, var(--color-accent-500) 0%, var(--color-accent-400) 100%);color:var(--color-primary-500);font-weight:700;box-shadow:0 4px 15px #f9b23359}.ui-button-accent:hover{background:linear-gradient(135deg, var(--color-accent-400) 0%, var(--color-accent-600) 100%);transform:translateY(-2px)}.ui-button-outline{border-color:var(--border-primary);color:var(--text-primary);background:0 0}.ui-button-outline:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.ui-button-ghost{color:var(--text-muted);background:0 0}.ui-button-ghost:hover{background:var(--surface-secondary);color:var(--text-primary)}
.ui-dialog-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-lg);background-color:#0006;justify-content:center;align-items:center;animation:.2s ease-out forwards fadeIn;display:flex;position:fixed;inset:0}.ui-dialog-content{background-color:var(--surface-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex;position:relative;overflow-y:auto}.ui-dialog-header{padding:var(--spacing-lg) calc(var(--spacing-lg) + var(--spacing-xs)) var(--spacing-sm);gap:var(--spacing-xs);flex-direction:column;display:flex}.ui-dialog-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--text-primary)}.ui-dialog-description{color:var(--text-muted);padding:0 calc(var(--spacing-lg) + var(--spacing-xs));margin:0;font-size:.95rem;line-height:1.55}.ui-dialog-body{padding:var(--spacing-md) var(--spacing-lg)}.ui-dialog-footer{padding:var(--spacing-lg) calc(var(--spacing-lg) + var(--spacing-xs)) var(--spacing-lg);justify-content:flex-end;gap:var(--spacing-md);display:flex}.ui-dialog-close{top:var(--spacing-md);right:var(--spacing-md);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex;position:absolute}.ui-dialog-close:hover{background:var(--surface-secondary);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}
