:root{--ui-font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ui-color-bg: #f8fafc;--ui-color-surface: #ffffff;--ui-color-surface-alt: #f1f5f9;--ui-color-surface-dark: #0f172a;--ui-color-border: #dbe4f2;--ui-color-border-strong: #cbd5e1;--ui-color-text: #0f172a;--ui-color-text-muted: #475569;--ui-color-text-soft: #64748b;--ui-color-primary: #2563eb;--ui-color-primary-hover: #1d4ed8;--ui-color-primary-soft: #eff6ff;--ui-color-success: #15803d;--ui-color-success-soft: #ecfdf3;--ui-color-warning: #b45309;--ui-color-warning-soft: #fff7ed;--ui-color-danger: #b91c1c;--ui-color-danger-soft: #fff5f5;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 20px;--ui-space-6: 24px;--ui-radius-sm: 8px;--ui-radius-md: 12px;--ui-radius-lg: 16px;--ui-radius-pill: 999px;--ui-shadow-sm: 0 4px 12px rgba(15, 23, 42, .06);--ui-shadow-md: 0 10px 26px rgba(15, 23, 42, .1)}html,body{margin:0;padding:0;min-height:100%;font-family:var(--ui-font-family);color:var(--ui-color-text);background:var(--ui-color-bg)}*,*:before,*:after{box-sizing:border-box}.ui-page-shell{max-width:1200px;margin:0 auto}.ui-card{background:var(--ui-color-surface);border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm)}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--ui-color-border-strong);border-radius:var(--ui-radius-sm);background:var(--ui-color-surface);color:var(--ui-color-text);font:inherit}.ui-textarea{min-height:96px;resize:vertical}.ui-input:focus-visible,.ui-select:focus-visible,.ui-textarea:focus-visible{outline:2px solid rgba(37,99,235,.35);outline-offset:1px;border-color:var(--ui-color-primary)}.ui-label{font-weight:600;color:var(--ui-color-text)}.ui-helper{color:var(--ui-color-text-soft);font-size:.84rem}.ui-error-text{color:var(--ui-color-danger);font-size:.8rem}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-2);min-height:40px;padding:10px 14px;border-radius:var(--ui-radius-sm);border:1px solid transparent;font:inherit;font-weight:700;line-height:1;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}.ui-btn:disabled{opacity:.65;cursor:not-allowed}.ui-btn-primary{background:var(--ui-color-primary);color:#fff}.ui-btn-primary:hover:not(:disabled){background:var(--ui-color-primary-hover)}.ui-btn-secondary{background:var(--ui-color-surface);border-color:var(--ui-color-border-strong);color:var(--ui-color-text)}.ui-btn-secondary:hover:not(:disabled){background:var(--ui-color-surface-alt)}.ui-btn-danger{background:var(--ui-color-danger-soft);border-color:#fecaca;color:var(--ui-color-danger)}.ui-btn-ghost{background:transparent;border-color:transparent;color:var(--ui-color-text)}.ui-btn-sm{min-height:32px;padding:6px 10px;font-size:.78rem}.ui-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:var(--ui-radius-pill);border:1px solid transparent;font-size:.74rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.ui-badge-success{background:#dcfce7;border-color:#bbf7d0;color:var(--ui-color-success)}.ui-badge-warning{background:#fef3c7;border-color:#fde68a;color:var(--ui-color-warning)}.ui-badge-danger{background:#fee2e2;border-color:#fecaca;color:var(--ui-color-danger)}.ui-badge-neutral{background:#e2e8f0;border-color:#cbd5e1;color:#334155}.ui-badge-info{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.ui-state-message{padding:12px 14px;border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-md);background:var(--ui-color-surface);color:var(--ui-color-text-muted)}.ui-state-message.success{border-color:#bbf7d0;background:var(--ui-color-success-soft);color:var(--ui-color-success)}.ui-state-message.error{border-color:#fecaca;background:var(--ui-color-danger-soft);color:var(--ui-color-danger)}.ui-empty-state{border:1px dashed #93c5fd;border-radius:var(--ui-radius-md);background:var(--ui-color-primary-soft);color:#1e3a8a;padding:16px}
