.surface { border: 1px solid var(--surface-border); background-color: var(--surface-bg); box-shadow: var(--shadow-glow); @apply rounded-2xl backdrop-blur-xl; } .field { border: 1px solid var(--field-border); background-color: var(--field-bg); color: var(--text-primary); appearance: none; -webkit-appearance: none; -webkit-text-fill-color: var(--text-primary); @apply w-full rounded-xl px-3 py-2 text-sm outline-none transition focus:border-accent-400 focus:ring-2 focus:ring-accent-400/30; } .field::placeholder { color: var(--text-soft); } .field:disabled { border-color: var(--field-disabled-border); background-color: var(--field-disabled-bg); color: var(--field-disabled-text); -webkit-text-fill-color: var(--field-disabled-text); } .field:disabled::placeholder { color: var(--field-disabled-placeholder); } .btn-solid:disabled, .btn-outlined:disabled, .btn-noborder:disabled { opacity: 1; } .btn-solid, .btn-outlined, .btn-noborder { @apply inline-flex items-center justify-center rounded-xl px-4 py-2 text-sm font-semibold transition; } .btn-solid { border: 1px solid transparent; } .btn-outlined { border: 1px solid var(--ghost-border); } .btn-noborder { border: 1px solid transparent; } .btn-solid.btn-primary { @apply bg-accent-500 text-white hover:bg-accent-400 disabled:opacity-100; } .btn-solid.btn-primary:disabled { background-color: var(--primary-disabled-bg); color: var(--primary-disabled-text); } .btn-solid.btn-secondary { border-color: var(--ghost-border); background-color: var(--ghost-border); color: var(--text-primary); } .btn-solid.btn-secondary:hover { background-color: var(--ghost-hover); } .btn-solid.btn-secondary:disabled { border-color: var(--ghost-disabled-border); background-color: var(--ghost-disabled-bg); color: var(--ghost-disabled-text); } .btn-solid.btn-important { border-color: #dc2626; @apply bg-red-600 text-white hover:bg-red-500 disabled:opacity-100; } .btn-solid.btn-important:disabled { border-color: #7f1d1d; background-color: #7f1d1d; color: #fecaca; } .btn-outlined.btn-secondary { border-color: var(--ghost-border); background-color: var(--ghost-bg); color: var(--text-secondary); } .btn-outlined.btn-secondary:hover { background-color: var(--ghost-hover); } .btn-outlined.btn-secondary:disabled { border-color: var(--ghost-disabled-border); background-color: var(--ghost-disabled-bg); color: var(--ghost-disabled-text); } .btn-outlined.btn-primary { @apply border-accent-500 text-accent-300; background-color: transparent; } .btn-outlined.btn-primary:hover { @apply bg-accent-500/15 text-accent-300; } .btn-outlined.btn-primary:disabled { @apply border-accent-500/40 text-accent-300/60; background-color: transparent; } .btn-outlined.btn-important { @apply border-red-500 text-red-400; background-color: transparent; } .btn-outlined.btn-important:hover { @apply bg-red-500/10 text-red-300; } .btn-outlined.btn-important:disabled { @apply border-red-900 text-red-900; background-color: transparent; } .btn-noborder.btn-secondary { background-color: transparent; color: var(--text-secondary); } .btn-noborder.btn-secondary:hover { background-color: var(--ghost-hover); } .btn-noborder.btn-secondary:disabled { background-color: transparent; color: var(--ghost-disabled-text); } .btn-noborder.btn-primary { @apply text-accent-300; background-color: transparent; } .btn-noborder.btn-primary:hover { @apply bg-accent-500/15 text-accent-300; } .btn-noborder.btn-primary:disabled { @apply text-accent-300/60; background-color: transparent; } .btn-noborder.btn-important { @apply text-red-400; background-color: transparent; } .btn-noborder.btn-important:hover { @apply bg-red-500/10 text-red-300; } .btn-noborder.btn-important:disabled { @apply text-red-900; background-color: transparent; } .ui-kicker { color: var(--text-muted); } .ui-title { color: var(--text-primary); } .ui-body-secondary { color: var(--text-muted); } .ui-code { border: 1px solid var(--surface-divider); background-color: var(--ghost-bg); color: var(--text-primary); @apply rounded-md px-1.5 py-0.5; } .ui-body-primary { color: var(--text-secondary); } .ui-loading { color: var(--text-muted); } .ui-empty { color: var(--text-soft); } .ui-link { color: var(--text-secondary); @apply font-semibold transition; } .ui-link:hover { color: var(--text-primary); } .ui-label { color: var(--text-secondary); } .ui-label-disabled { color: var(--text-soft); } .ui-error { color: var(--error-text); } .chip-root { @apply inline-flex items-center rounded-full border px-2.5 py-1 text-xs font-semibold leading-none; } .chip-solid { border-color: var(--ghost-border); background-color: var(--ghost-border); color: var(--text-primary); } .chip-outlined { background-color: transparent; border-color: var(--ghost-border); color: var(--text-secondary); } .alert-error { border: 1px solid var(--error-border); background-color: var(--error-bg); color: var(--error-text); @apply rounded-lg px-3 py-2 text-sm; } .table-shell { border: 1px solid var(--surface-divider); background-color: var(--surface-bg-strong); @apply overflow-hidden rounded-xl; } .table-scroll { @apply overflow-x-auto; } .table-root { @apply min-w-full; } .table-head { background-color: var(--table-head-bg); border-bottom: 1px solid var(--surface-divider); } .table-head-cell { color: var(--text-primary); @apply px-4 py-3 text-left text-sm font-semibold tracking-wider; } .table-sort-button { @apply inline-flex items-center gap-1.5 text-left; } .table-sort-icon { color: var(--text-muted); @apply inline-flex items-center; } .table-body-row { border-top: 1px solid var(--table-row-divider); } .table-cell-primary { color: var(--text-primary); @apply px-4 py-3 text-sm; } .table-cell-secondary { color: var(--text-secondary); @apply px-4 py-3 text-sm; }