:root {
    --rm-surface: #ffffff;
    --rm-background: #f8f9fa;
    --rm-border: #e4e9f0;
    --rm-text: #20242a;
    --rm-muted: #667085;
    --rm-primary: #6E508F;
    --rm-primary-hover: #5f427f;
    --rm-success: #157347;
    --rm-radius: 8px;
    --rm-shadow: 0 8px 20px rgba(16, 24, 40, 0.06);
}

.rm-button {
    align-items: center;
    border-radius: var(--rm-radius);
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.92rem;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.rm-button:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

.rm-button-primary {
    background: var(--rm-primary);
    color: #ffffff;
}

.rm-button-primary:hover {
    background: var(--rm-primary-hover);
    color: #ffffff;
}

.rm-button-secondary {
    background: #ffffff;
    border-color: var(--rm-border);
    color: var(--rm-text);
}

.rm-button-secondary:hover {
    border-color: #cbd5e1;
    color: var(--rm-text);
}

.rm-panel {
    background: var(--rm-surface);
    border: 1px solid var(--rm-border);
    border-radius: var(--rm-radius);
    box-shadow: var(--rm-shadow);
}

.rm-chip {
    background: #f6f1fb;
    border: 1px solid #e5d7f0;
    border-radius: 999px;
    color: #51386f;
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 800;
    padding: 6px 10px;
}

.rm-muted {
    color: var(--rm-muted);
}